Linux应用编程基本概念

Linux应用编程基本概念

ID:41007101

大小:23.50 KB

页数:5页

时间:2019-08-13

Linux应用编程基本概念_第1页
Linux应用编程基本概念_第2页
Linux应用编程基本概念_第3页
Linux应用编程基本概念_第4页
Linux应用编程基本概念_第5页
资源描述:

《Linux应用编程基本概念》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、GNU计划GNU计划和自由软件基金会(theFreeSoftwareFoundation,FSF)是由RichardM.Stallman于1984年一手创办的,旨在开发一个类似UNIX并且是自由软件的完整操作系统:GNU系统(GNU是"GNU'sNotUNIX"的递归缩写,它的发音为"guh-NEW")。到20世纪90年代初,GNU项目已经开发出许多高质量的自由软件,其中包括有名的EMACS编辑系统、Bash程序、GCC系列编译程序、GDB调试程序等。这些软件为Linux操作系统的开发创造了一个合适的环境。这是Linux能够诞生的基础之一。现在,各种以Linux为核心的GNU操作系统正在被广泛

2、使用。虽然这些系统通常被称做"Linux",但是Stallman认为,严格地说,它们应该被称为GNU/Linux。POSIX标准POSIX(PortableOperatingSystemInterfaceforComputingSystems)是由IEEE和ISO/IEC开发的一组标准。该标准基于现有的UNIX实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植和运行。它是在20世纪80年代早期一个UNIX用户组的工作基础上取得的。该UNIX用户组原来试图将AT&T的SystemV操作系统和BerkeleyCSRG的BSD操作系统的调用接口之间

3、的区别重新调和集成,并于1984年制定了usr/group标准。1985年,IEEE操作系统技术委员会标准小组委员会(TCOS-SS)开始在ANSI的支持下责成IEEE标准委员会制定有关程序源代码可移植性操作系统服务接口正式标准。到了1986年4月,IEEE制定出了试用标准。第一个正式标准是在1988年9月份批准的(IEEE1003.1-1988),即以后经常提到的POSIX.1标准。到1989年,POSIX的工作被转移至ISO/IEC社团,并由15个工作组继续将其制定成ISO标准。到1990年,POSIX.1与已经通过的C语言标准联合,正式批准为IEEE1003.1-1990(也是ANSI标

4、准)和ISO/IEC9945-1:1990标准。POSIX.1仅规定了系统服务应用程序编程接口(API),仅概括了基本的系统服务标准。因此工作组期望对系统的其他功能也制定出标准。这样,IEEEPOSIX的工作就展开了。刚开始有10个批准的计划在进行,有约300人参加每季度为期一周的会议。着手的工作有命令与工具标准(POSIX.2)、测试方法标准(POSIX.3)、实时API(POSIX.4)等。到了1990年上半年已经有25个计划在进行,并且有16个工作组参与了进来。与此同时,还有一些组织也在制定类似的标准,如X/Open、AT&T和OSF等。在20世纪90年代初,POSIX标准的制定正处在最

5、后投票敲定的时候,那是1991~1993年间。此时正是Linux刚刚起步的时候,这个UNIX标准为Linux提供了极为重要的信息,使得Linux能够在标准的指导下进行开发,并能够与绝大多数UNIX操作系统兼容。在最初的Linux内核源代码中(0.01版、0.11版和0.12版)就已经为Linux系统与POSIX标准的兼容做好了准备工作。在Linux0.01版内核的include/unistd.h文件中就已经定义了几个有关POSXI标准要求的符号常数,而且Linus在注释中已写道:"OK,这也许是个玩笑,但我正在着手研究它呢"。1991年7月3日,Linus在comp.os.minix上发布的信

6、息就已经提到了正在搜集POSIX的资料。其中透露了他正在着手一个操作系统的开发,并且在开发之初已经想到要实现与POSIX兼容的问题了。什么是系统调用?Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。从某种角度来看,系统调用和普通的函数调用非常相似。区别仅仅在于,系统调用由操作系统核心提供,运行于核心态;而普通的函数调用由函数库或用户自己提供,运行于用户态。二者在使用方式上也有相似之处,在下面将会提到。随Linux核心还提供了一些C语言函数库,这些库对系统调用进行了一些包装和扩展,因为这些库函数与系统调用的关系非常紧密,所

7、以习惯上把这些函数也称为系统调用。Linux中共有多少个系统调用?这个问题可不太好回答,就算让LinusTorvaldz本人也不见得一下子就能说清楚。在2.4.4版内核中,狭义上的系统调用共有221个,你可以在<内核源码目录>/include/asm-i386/unistd.h中找到它们的原本,也可以通过命令"man2syscalls"察看它们的目录(manpages的版本一般比较老,可能有很多最

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。