文档详情

Linux程序员指南.pdf

发布:2017-10-10约字共101页下载文档
文本预览下载声明
下载 第1章 Linux操作系统 1 9 9 1年3 月,Linus Benedict To r v a l d s 为他的 AT 3 8 6 计算机买了一个多任务操作系统: M i n i x 。他使用这个操作系统来开发自己的多任务系统,并称之为 L i n u x 。1 9 9 1年9月,他向 I n t e r n e t 网上的其他一些M i n i x用户发电子邮件,发布了第一个系统原型,这样就揭开了 L i n u x 工程的序幕。从那时起,有许多程序员都开始支持 L i n u x 。他们增加设备驱动程序,开发应用 程序,他们的目标是符合 P O S I X标准。现在的 L i n u x 功能已经非常强大了,但是 L i n u x更吸引 人的地方在于,它是免费的 ( 当然并不像免费啤酒那样,不是完全免费 ) 。现在人们正在把 L i n u x移植到其他平台上。 下载 第2章 Linux内核 L i n u x 的基础就是它的内核。用户可以替换某个库,或者将所有库都进行替换,但是只要 L i n u x 内核存在,它就还是L i n u x 。内核包括设备驱动程序、内核管理、进程管理以及通信管 理。内核高手总是遵循 P O S I X规则,该规则有时会使编程变得简单,有时会使它变得比较复 杂。如果用户的程序在一个新的 L i n u x 内核版本上行为发生了变化,可能是因为实现了一个新 的P O S I X规则。如果读者想了解更多的关于 L i n u x 内核编程的信息,可以阅读《 Linux Kernel H a c k e r ’s Guide 》。 下载 第3章 Linux libc包 L i b c :ISO 8859.1 ;位于 l i n u x / p a r a m . h 中;包括Y P 函数、加密函数、一些基本的影子 过程(默认情况不包含) ,……在l i b c o m p t 中有一些为了保持兼容性而提供的老过程 (默认情况下 不激活) ;提供英文、法文,或者德文的错误信息;在 l i b c u r s e s 中有一些具有bsd 4.4lite 兼容性 的屏幕处理过程;在l i b b s d 中有一些b s d 兼容的过程;在l i b t e r m c a p 中有一些屏幕处理过程;在 l i b d b m 中有用于数据库管理的过程;在 l i b m 中有数学过程;在c r t O . o ? ? ? 中有执行程序的入口, 在l i b i e e e ? ? ?有一些字节信息 (请别再笑话我了,能不能给我提供一些信息? ) ,在l i b g m o n 中是 用户空间的配置信息。 我希望由某位Linux libc 开发人员来编写本章。现在我能说的唯一的一句话是 a . o u t可执行 格式将会变化成 e l f (可执行并可链接)格式( 出版者注:这个变化已经发生了 ) ,而后者又意味着 在创建共享库方面的一个变化。当前这两种格式 ( a . o u t和e l f )都支持。 Linux libc包的绝大部分都是遵守库 G N U公共许可证的,尽管有些文件是遵守特殊的版权 规定的,例如 c r t O . o 。对商业版本来说,这就意味着一个限制 , 即禁止静态链接可执行程序。 在这里动态链接可执行程序又是一个特殊的例外。 F S F ( 自由软件基金会) 的Richard Stallman 说 过: 在我看来,我们应该明确地允许发行不带伴随库的动态链接可执行程序,只要组成该可 执行程序的对象文件按照第 5节的规定是不受限制的。… …,所以我决定现在就允许这样做。 实际上,要更新L G P L将需要等到我有时间的时候,并且需要检查一下新版本。 下载 第4章 系 统 调 用 系统调用是向操作系统 ( 内核)所作出的一次申请,请求操作系统做一次硬件 / 系统相关的 操作,或者是作一次只有系统才能做的操作。以 Linux 1.2为例,它总共定义了 1 4 0个系统调用
显示全部
相似文档