- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2013 第1章_Linux系统概述
* * 总体介绍 * * Linus Tovalds开发,汇编语言,80386保护模式,任务切换、基本的硬件支持、以及文件系统, Linux系统是在很多GNU的支持下开发出来,一般来说,linux都指linux内核 * 9 1991年9月,芬兰赫尔辛基大学的大学生Linus Torvalds为改进MINIX操作系统开发了Linux 0.01版(内核)。它不能运行,只是一些源程序。1991年底,Linus Torvalds 首次在internet上发布基于Intel 386体系结构的Linux 源代码,越来越多的人开始在这个系统上工作。 逐渐稳定可靠,功能较完善。 * GNU是自由软件之父 Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public License,简称GPL)。Linux以及与她有关的大量软件是在GPL的推动下开发和发布的。 自由软件之父 Stallman像一个神态庄严的传教士一样喋喋不休地到处传播自由软件的福音,阐述他创立GNU的梦想:“自由的思想,而不是免费的午餐”。这位自由软件的“顶级神甫”为自己的梦想付出了大半生的努力,他不但自己创作了许多自由软件如GCC和GDB,在他的倡导下,目前人们熟悉的一些软件如BIND、Perl、Apache、TCP/IP等都成了自由软件的经典之作。 Linux内核的功能以及它和GPL的结合,使许多软件开发人员相信这是有前途的项目,开始参加内核的开发工作。并将GNU项目的C库、gcc、Emacs、bash等很快移植到Linux内核上来。可以说,Linux项目一开始就和GNU项目紧密结合在一起,系统的许多重要组成部分直接来自GNU项目。Linux操作系统的另一些重要组成部分则来自加利福尼亚大学Berkeley分校的BSD Unix和麻省理工学院的X Windows系统项目。这些都是经过长期考验的成果。 正是Linux内核与GNU项目、BSD Unix以及MIT的X11的结合,才使整个Linux操作系统得以很快形成,而且建立在稳固的基础上。 * UNIX发展过程中,出现了许多变种(BSD,System V 等)。为统一标准,出现了POSIX系列标准,它定义了一套标准的操作系统接口和工具。 从理论上说,POSIX标准代码很容易移植到任何遵守POSIX的操作系统中。 今天,几乎所有的正式操作系统都以支持POSIX标准为目标。 自由软件与开放源代码软件 自由软件与免费软件 自由软件与商业 自由软件与版权 Linux从出现到今天已经发展成为一个具有Unix特征,故何POSI便准的OS * 它的发音为“guh-NEW”,又称革奴计划 为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。这个就是被称为“反版权”(或称Copyleft)的概念。 * * * * * * * 由图1.1可以看出,Linux操作系统由四个部分组成: 1.用户进程—用户应用程序是运行在Linux操作系统最高层的一个庞大的软件集合, 当一个用户程序在操作系统之上运行时,它成为操作系统中的一个进程。 2. 系统调用接口— 在应用程序中,可通过系统调用来调用操作系统内核中特定的过程,以实现特定的服务。例如,在程序中安排一条创建进程的系统调用,则操作系统内核便会为之创建一个新进程。 系统调用本身也是由若干条指令构成的过程。但它与一般的过程不同,主要区别是:系统调用是运行在内核态(或叫系统态),而一般过程是运行在用户态。在Linux中,系统调用是内核代码的一部分。 3. Linux内核—这是本书要讨论的重点。内核是操作系统的灵魂,它负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等等。简言之,内核实际是抽象的资源操作到具体硬件操作细节之间的接口。 4. 硬件—这个子系统包括了Linux安装时需要的所有可能的物理设备。例如,CPU、 内存、硬盘、网络硬件等等。 上面的这种划分把整个Linux操作系统分为四个层次。把用户进程也纳入操作系统的范围内是因为用户进程的运行和操作系统密切相关,而系统调用接口可以说是操作系统内核的扩充,硬件则是操作系统内核赖以生存的物质条件。这四个层次的依赖关系表现为:上层依赖下层。 * * * * * * 1.进程调度(SCHED)控制着进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际是仅等待 CPU 资源的进程,如果某个进程在等待其他资源,则该进程
文档评论(0)