Welcome 微信登录

首页 / 操作系统 / Linux

linux程序最大的参数个数

linux程序最大的参数个数

linux里面的程序,或者很多命令,都可以有很多的参数,比如ll,好像可以有无数个参数,但是,实际上是有限制的,当一个文件夹里面的文件个数太多,像cp dir/* /dir2/ 这样的命令就不能执行了,错误处在cp参数太多。这个限制是在什么地方呢?看linux内核源代码时,终于解决了这个疑惑。原来,linux里面在执行execve系统调用的时候,用到这么一个结构,struct linux_binprm{char buf[BINPRM_BUF_SIZE];s...
Linux中对中断的支持

Linux中对中断的支持

Linux内核中使用的门是在i386平台的门的基础上做了更进一步的细化后形成的,如下所示: 1、中断门:处理器中DPL被设置为0的中断门,不能用户态下对其进行访问。Linux下所有的(硬)中断处理程序都是在核心态下通过中断门来激活的。 2、系统门:处理器中DPL被设置为3的陷阱门,可以在用户态下对其进行访问。Linux的三种异常处理函数(中断号为4、5、128)都是通过系统门来调用的,即指令into、bound和int $0x80可以在用户态下被执行...
让你的Linux内核重编译之路走得更通畅

让你的Linux内核重编译之路走得更通畅

内核重编译对很多Linux爱好者来说是一个不小的挑战。笔者认为,很多Linux用户对内核通常有一种误解,他们认为普通用户是不能调整内核的。其实,就实际情况而言,这种认识是不全面的。应该说,内核重编译是具有一定深度和复杂性的,同时也是易失败的配置工作。下面我把我的经历与大家分享,让你们少走一些弯路。 如果大家留意那些比较权威的Linux参考工具书的话,就会发现很多原版书籍都把内核重编译作为一个很重要的章节进行介绍。本文将要向读者介绍的并不是如何去一步步的...
Linux下C程序开发环境

Linux下C程序开发环境

1. linux 内核开发2. 基于linux嵌入式开发编辑器 vi编译器 GNU gcc调试器 gdb函数库 glibc系统头文件 glibc_header安装时选上“程序开发”中的“开发工具”就可安装gcc/gdb若要开发图形,还应选上“GNOME/KDE软件开发”集成开发环境(IDE):kylix:号称linux下的dephikdevelopRHIDE:类似于Turbo C++源文件后缀及其解释:.c为后缀 C语言源代码文件.h为后缀 头文件.i为后...
Linux操作系统的内核重入的分析

Linux操作系统的内核重入的分析

对于Linux内核重入我做了一下一些分析。 首先要界定一个范围(代码段,函数)然后才可以讨论重入。 比如以函数A,B分别为一个范围。在运行A的时候发生中断,调用B,B运行完了又返回A,这个时候称B进入A. 如果A=B,那么称A重入A,或者可以说有两个A的实例在运行。 重入导致的问题主要就是由于这两个A可以会几乎同时访问一些堆中的变量而出现不一致。解决这个问题的办法有几个: 干脆不允许某个函数(某段代码)重入,也就是如果A运行,当发生中断的时候,调...
Jonathan Corbet谈近来Linux内核的改进

Jonathan Corbet谈近来Linux内核的改进

Jonathan Corbet: 目前居住在美国科罗拉多州的玻尔得市. <>的第一作者, LWN网络杂志创始人兼主编.Corbert在今年linux.conf.au 2007悉尼会议上介绍了近来Linux内核的改进:下一个内核发行版2.6.20将增加许多新的驱动, 其中包括USB视频驱动, 用于支持USB Web摄像头.Linux支持越来越多的硬件, 但是最大的问题是厂商不发布开源驱动程序和硬件规格.内核现用的wireless代码将逐步被802...
Linux socket注意事项

Linux socket注意事项

前言: Socket API 是网络应用程序开发中实际应用的标准 API,在 4.2 BSD UNIX® 操作系统中首次引入。尽管该 API 简单,但是也有一些地方需要注意。本文介绍一些最常见的隐患并显示如何避免它们。 隐患 1.忽略返回状态 第一个隐患很明显,但它是开发新手最容易犯的一个错误。如果您忽略函数的返回状态,当它们失败或部分成功的时候,您也许会迷失。反过来,这可能传播错误,使定位问题的源头变得困难。捕获并检查每一个返回状态,而不...
用PHP在Linux上读取输入并进行文件操作

用PHP在Linux上读取输入并进行文件操作

Perl作为Linux系统命令行脚本的首选解释语言的日子一去不复返了。今天,我们有了更多的选择,包括Python、Ruby和PHP。如果你已经为网站编写PHP代码,并熟谙这种语言,那么你会发现,在命令行使用PHP的速度之快,效果之好令人惊奇。 在脚本中,任何脚本语言的一个最大功用是对文件进行操作并获取用户输入。PHP处理这些丝毫不比其它任何脚本语言逊色。 例如,利用PHP在脚本执行期间处理读取用户提供输入,使用: #!/usr/bin/php<?ph...
Linux系统下设计优秀实用程序的艺术

Linux系统下设计优秀实用程序的艺术

Linux 和其他类 UNIX 系统总是附带了大量的工具,它们执行从显而易见的到不可思议的广泛功能。类 UNIX 编程环境的成功很大程度上归功于工具的高品质和选择,以及这些工具之间相互衔接的简易性。 作为开发人员,您可能会发现现有实用程序并不总是能够解决问题。虽然能够通过结合使用现有实用程序来容易地解决许多问题,然而解决其他问题却至少需要一些实际的编程工作。这些后面的任务通常是创建新实用程序的候选任务,结合现有实用程序来创建新实用程序可以通过做最少的工作来...
Linux下用Mtrace来检查程序内存溢出

Linux下用Mtrace来检查程序内存溢出

对于内存溢出之类的麻烦可能大家在编写指针比较多的复杂的程序的时候就会遇到。Debug起来也是比较累人。其实Linux系统下有一个使用的工具可以帮忙来调试的,这就是Mtrace。Mtrace主要能够检测一些内存分配和泄漏的失败等。下面我们来学习一下它的用法。 使用Mtrace来调试程序有4个基本的步骤,需要用到GNU C 函数库里面的一些辅助的函数功能。 1. 在需要跟踪的程序中需要包含头文件,而且在main()函数的最开始包含一个函数调用:mtra...
shell技术要点讲解

shell技术要点讲解

学习shell主要在于用,光看书没用2. 单引号、双引号、括号、花括号及反引号单引号内所有元字符都失去特殊含义(包括)双引号内除了变量域($)和命令域(`)以外的元字符都失去特殊含义,所以一般使用双引号引用花括号{}被用来区分变量名和周围的文本:echo ${file} and $file1 寻找变量file,file1命令替代的格式:反引号来环绕一个命令象` cmd `,它和$(command) 是等价的:ls -l `find . -type f`3....
Linux系统内核研究之可执行文件格式

Linux系统内核研究之可执行文件格式

我们知道Linux环境下不是所有的二进制文件都有相同的格式,Linux系统使用二进制文件的处理程序来实现对不同二进制格式文件的分别处理。二进制处理程序通过内嵌在文件开头的“特征序列”(一个特殊的字节序列)来识别文件,有时也会通过文件名的一些特征,例如ELF文件以’E’’L’’F’字符开头,Java文件以0xcafebabe开始前四个字节。 Linux用sys_execve装入可执行二进制文件。 1.当前Linux版本(2.2)提供以下几种二进制文件处理程序...
为Linux应用程序编写DLL程序函数

为Linux应用程序编写DLL程序函数

在仅仅只会编写插件的时候为什么要编写整个应用程序? 插件和 DLL 通常是用来无须编写整个新应用程序而添加功能的极好方法。在 Linux 中,插件和 DLL 以动态库形式实现。电子商务顾问兼设计师 Allen Wilson 介绍了动态库并且向您演示了如何在某个应用程序正在运行之后使用动态库来改变该应用程序。 Internet 浏览器用户非常熟悉插件的概念。从 Web 上下载插件,通常这些插件为浏览器的音频、视频以及特殊效果提供增强支持。一般来讲,在不更改原...
如何建立Linux系统下交叉编译环境

如何建立Linux系统下交叉编译环境

最近有很多朋友在探讨关于建立Linux交叉编译环境的问题,下面就一些问题作一个说明,以期抛砖引玉。 基于Linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口,并口或以太网接口建立连接关系。 但在此我建议构建如下的交叉编译环境,适合个人或研发小组使用:单独拿出一...
快速编译Linux内核所需模块新方法

快速编译Linux内核所需模块新方法

传统编译内核模块的方法繁琐而费时,本文将告诉我们一种快速编译所需要内核模块的新方法。当你安装完Linux系统,并且已经启动,恭喜你!如果你的硬盘上还安装了WinNT/2000系统,你试图去访问另一个NTFS分区时却遇到了麻烦。因为你所用的Linux系统没有已编译的支持NTFS文件系统的模块。怎么办?也许你会运行make menuconfig,重新定制你需要的所有模块,接着运行make modeules;make modeules_install来安装。这样...
Linux安全访问控制模型应用及方案设计

Linux安全访问控制模型应用及方案设计

摘要:本文介绍了BLP、DTE和RBAC三种访问控制模型,并结合这三种安全策略模型,提出了一个安全系统的组成和功能的具体实现方案。 关键字:信息安全;访问控制模型;操作系统安全。 1.引言 本文通过研究安全操作系统的访问控制模型,结合国内、外的相关安全标准和已有的先进技术,将密码服务与高级别存取控制机制有机地结合起来,形成一个适应各类安全2级实用操作系统。该安全服务器将在Linux操作系统的基础上(目前Linux操作系统主要发行版本的安全性大致处于《TCS...
嵌入式Linux用于工业控制领域实现方案

嵌入式Linux用于工业控制领域实现方案

1 前言 随着Internet的飞速发展,网络应用越来越广泛,对各种工业控制设备的网络功能要求也越来越高。当前的要求是希望工业控制设备能够支持TCP/IP以及其它Internet协议,从而能够通过用户熟悉的浏览器查看设备状态、设置设备参数,或者将设备采集到的数据通过网络传送到Windows或Unix/Linux服务器上的数据库中。这就要求工控系统必须具备两方面的功能:一是要在现场完成复杂的测控任务,因为通常一些任务都具有一定的实时性要求;二是要求测控系统能...
<< 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 >>