版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux操作系统,计算机科学系 宋炯 email: ,参考书目,Linux操作系统原理与应用. 陈莉君,康华.清华大学出版社 Linux shell实例精解 现代操作系统. 坦尼鲍姆著,陈向群等译. 机械工业出版社. 网上资源,第一章 操作系统概述,Linux内核源代码,不同角度看到的操作系统,操作系统,认识操作系统,打开计算机,首先跳入眼帘的是什么? 要拷贝一个文件,具体的拷贝操作是谁完成的? 你需要知道文件存放在何处吗? 柱面、磁道、扇区描述什么? 数据的搬动过程怎样进行 繁琐留给自己,简单留给用户 操作系统穿上华丽的外衣图形界面 操作系统穿上朴素的外衣字符界面,认识操作系统从使用者的角
2、度看,拷贝命令的C语言实现片断,inf=open(“/floppy/TEST”,O_RDONLY,0); out=open(“/mydir/test”,O_WRONLY,0600); do l=read(inf,buf,4096); write(outf,buf,l); while(l); close(outf); close(inf);,认识操作系统从程序开发者的角度看,认识操作系统从所处位置看,从操作系统设计者的角度看 操作系统的设计目标是什么? 尽可能地方便用户使用计算机 让各种软件资源和硬件资源高效而协调地运转起来。 计算机的硬件资源和软件资源各指什么? 假设在一台计算机上有三道程序同
3、时运行,并试图在一台打印机上输出运算结果,必须考虑哪些问题 ? 从操作系统设计者的角度考虑,一个操作系统必须包含以下几部分 操作系统接口 CPU管理 内存管理 设备管理 文件管理,认识操作系统从设计者角度看,操作系统是计算机系统中的一个系统软件,是一些程序模块的集合它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的使用计算机,使整个计算机系统能高效、顺畅地运行。,认识操作系统定义,操作系统的演变 单道批处理系统 串行执行预先组织好的一组任务 提高了系统效率 。 多道批处理系统 可以交错运行
4、多个程序 再次提高系统效率。 典范:为IBM System/360机开发的 OS/360 分时系统 将处理器的运行时间分成数片,均分或依照一定权重派发给系统中的用户使用 快速响应 典范:Multics, Unix,操作系统的发展,硬件角度下的操作系发展轨迹,硬件角度下的操作系统发展轨迹,历史悠久的Unix,为了改进批处理系统不令人满意又缺乏效率的方案,Dartmouth大学和MIT发明了分时(time sharing)系统。Dartmouth的系统只能运行Basic程序并取得短期的商业效益,而MIT的系统CTSS则是为通用的分时系统开发的,并在科研领域取得了巨大成功。 1965年在美国国防部高
5、级研究计划署DARPA的支持下,MIT、AT&T Bell Lab和GE决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。该系统称作Multics (MULTiplexed Information and Computing Service)。,历史悠久的Unix,Multics设计目标是通过电话线把远程终端接入计算机主机。但是,Multics研制难度超出了所有人预料。长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出了。 Multics引入了许多现代操作系统领域的概念雏形,比如分级的文件系统,与设备独立的用户接口等思想,这些对随后操作系统特
6、别是Unix的成功有着巨大的影响。,历史悠久的Unix,1969年,贝尔实验室退出Multics研制项目后,Ken Thompson和Dennis M. Ritchie两个研究人员一台无人用的PDP-7上重新摆弄原先在 Multics项目上设计的“空间旅行”游戏。为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序。 1970年, 在一切完成后, 给新系统起了个同 Multics发音相近的名字Unix。 注: PDP-7是美国DEC公司生产的小型机,其系列还包括PDP-11/40/45等机型。,历史悠久的Unix,最
7、初的Unix是用汇编语言编写的。不久,Thompson用他自己设计的一种较高级的B语言重写了该系统。但由于B语言的缺陷,Ritchie后来对B进行了改进,取名为C,接着又为C写了一个很不错的编译器。Thompson和Ritchie合力用C语言重写了Unix。C语言正是一种应运而生的编程语言,直至今日仍然统治着系统程序编程领域。 1974年,Ritchie和Thompson发表了一篇关于Unix里程碑式的论文The UNIX Time-Sharing System。由于他们的卓越成就,他们于1984年被授予著名的图灵奖。,Ken Thompson,C语言之父 Dennis M. Ritchie,
8、AT&T的 System ,论文发表后,很多大学纷纷向贝尔实验室索要UNIX的拷贝。由于贝尔实验室的母公司AT&T当时是一家受限制的垄断企业而不能涉足计算机领域,所以AT&T没有向这些大学收取费用。 1984年,AT&T被美国政府分成了几个子公司,这样,它就可以合法地建立一个计算机子公司。很快,AT&T推出了它的第一个UNIX商业版本,System 。但由于反映不尽如人意,翌年另一个改进版本System 取代了它,而不为人知的System 则成为计算机科学史上的一个谜。最早的System 相继被它的2、3、4版本代替,每一个版本都比它的前一代更庞大、更复杂。在此过程中,当初设计UNIX的初衷一
9、个简洁、优美的系统被逐渐抛到脑后。,伯克利的UNIX BSD,加州大学伯克利分校是早期获得第6版UNIX的大学之一。由于拥有完整的源代码,伯克利得以从根本上修改UNIX。在DARPA的资助下,伯克利分校为PDP-11设计并发布了一个改进版本,叫作1BSD(First Berkeley Software Distribution)。很快又有了2BSD。更为重要的是为VAX编写的3BSD及其下一代产品4BSD。 4BSD(包括4.3BSD和4.4BSD)有了很大改进。首先是虚拟内存和分页的使用,根据需要动态调入或调出内存页面,从而使得运行的程序能够大于物理内存。另一个改进是允许文件名可以多于14个
10、字母。网络的加入最终使BSD的网络协议TCP/IP成为比其他任何官方标准(如OSI)都更为广泛使用的实际上的标准。,伯克利的UNIX BSD,伯克利还在UNIX中加入了很多实用程序,包括一个新的编辑器(vi)、一个新的shell程序(csh)以及Pascal和Lisp的编译器等等。这些进步使得Sun、DEC和其他计算机厂商将它们的UNIX版本基于伯克利的UNIX而不是AT&T的官方版本System 。结果,伯克利的UNIX成为教学、科研和安全领域的主流。,UNIX的标准化进程,到了80年代后期,两个不同的、互不兼容的UNIX版本4.3BSD和System Release 3都在广为使用。另外,
11、每一个UNIX供应商事实上又在原有UNIX系统的基础上加入了一些自己的非标准的东西。UNIX世界群雄割据,又没有标准的二进制程序格式,这样就严重阻碍了UNIX的商业成功,因为软件开发商不可能写出一个适用于所有UNIX系统的程序。 第一次尝试将这两大UNIX统一起来的是IEEE标准委员会,这个项目被命名为POSIX,前三个字母代表可移植的操作系统(Portable Operating System),加上IX是为了让名字更加UNIX化。 POSIX委员会制定出一个称为1003.1的标准.,UNIX的标准化进程,然而,一些软件供应商,包括IBM、DEC、HP等并不喜欢AT&T对UNIX平台的控制,
12、因此它们建立了一个称为OSF(Open Software Foundation,自由软件联盟)的联盟,开发了一个符合所有IEEE和其他标准的系统,这个系统包含很多其他特色,如窗口系统(X11)、图形用户界面(Motif)、分布式计算(DCE)、分布式管理(DME)。 针对OSF的出现,AT&T建立了一个自己的联盟UI(UNIX International),事实上做的是相同事情。UI的UNIX是基于System 的。结果是,有两个工业集团提供各自的UNIX版本,因此使用者距离标准化反而较最初更远了。另外,IBM还有自己的UNIX变种AIX,其他公司也各自拥有UNIX变体,混乱依然存在。,UNI
13、X的一些变种,IBM AIX SUN Solaris HP HP-UX FreeBSD Linux,Minix,由于Unix的商业化导致源代码不公开,大学里讲授操作系统只能略去Unix的内容而只讲操作系统理论 。 不幸的是,只讲理论使学生对实际的操作系统产生一个片面的认识。书本中作为重点讲述的内容,如进程调度算法,实际中并没有那么重要;而实际中很重要的内容,如I/O系统和文件系统又因为缺乏理论性而被忽略。,Minix,为了扭转这种局面,荷兰阿姆斯特丹Vrije大学计算机科学系的坦尼鲍姆(Andrew S. Tanenbaum)教授决定编写一个在用户看来和UNIX完全兼容,然而内核全新的操作系统
14、Minix。Minix没有借用AT&T一行代码,所以不受许可证的限制,它可以被班级和个人用来学习。通过它读者可以剖析一个操作系统,研究其内容如何运作。其名称源于“小Unix”,因为它非常简洁,一般程度的读者都可以读懂它。 Minix的内容大家可参阅坦尼鲍姆撰写的教材操作系统:设计与实现及http:/www.M网站。,Minix和Linux的关系,在Minix发布后不久,便出现了一个面向它的USENET新闻组,在数周内便有多达40000个用户订阅该新闻组。其中的大多数人都想向Minix中加入一些新特性以使其更强大、更有用。每天都有数百人提供自己的建议、思想甚至代码。而Minix
15、的作者在几年内一直坚持不采纳这些建议,目的是使Minix保持足够的短小精悍,以便于学生理解。人们最终意识到不可能动摇作者的立场,于是一个芬兰学生Linus Torvalds决定编写一个类似于Minix的系统,但是它特征繁多、面向实用而非教学,这就是Linux。,自由而奔放的黑马Linux,诞生于学生之手 成长于Internet 壮大于自由而开放的文化,Tux Linux的形象代表,Linux: 为x86体系结构开发的类Unix操作系统,Linux之父-Linus Torvalds,芬兰、赫尔辛基大学、1990 起始于写两个进程 然后写驱动程序、文件系统、任务切换程序,从而形成一个操作系统雏形,
16、并把它放在Internet上供大家下载修改,Linux得以流行的原因之一 遵循POSIX标准,POSIX 表示可移植操作系统接口(Portable Operating System Interface) POSIX是在Unix标准化过程中出现的产物。 POSIX 1003.1标准定义了一个最小的Unix操作系统接口 任何操作系统只有符合这一标准,才有可能运行Unix程序,Linux的肥沃土壤GNU,GNU 是 GNU Is Not Unix 的递归缩写,是自由软件基金会的一个项目。Richard Stallman建立了GNU项目,要创建一个能够自由发布的类UNIX系统。 GNU 项目产品包括
17、emacs 编辑器、著名的 GNU C 和 Gcc编译器等,这些软件叫做GNU软件。 GNU 软件和派生工作均适用 GNU 通用公共许可证,即 GPL(General Public License ) Linux的开发使用了众多的GNU工具,GPL开源软件的法律,GPL 允许软件作者拥有软件版权 但GPL规定授予其他任何人以合法复制、发行和修改软件的权利。,自由软件运动的教父 Richard Stallman,理查德马修斯托曼,1953年出生于美国纽约曼哈顿地区,1971年进入哈佛大学学习,同年受聘于麻省理工学院的人工智能实验室(AI Laboratory)。他是自由软件运动的精神领袖、GNU
18、计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客,Gcc, Emacs等软件的作者。 他最大的影响是为自由软件运动竖立了道德、政治以及法律框架。,开放与协作的开发模式,世界各地软件爱好者集体智慧的结晶 提供源代码,遵守GPL。 经历了各种各样的测试与考验,软件的稳定性好。 开发人员凭兴趣去开发,热情高,具有创造性。,Linux内核,Linus领导下的开发小组开发出的系统内核(kernel) 是所有Linux 发布版本的核心 内核开发人员一般在百人以上,任何自由程序员都可以提交自己的修改工作。 采用邮件列表来进行项目管理、交流、错误报告 有大量的用户进行测试,正式发布的代码质量高,整个系统的核心内核,硬件,系统调用接口,应用 程序进程1,应用 程序进程2,应用 程序进程3,Linux内核,用户进程,内核子系统,系统调用,整个系统的核心内核,用户进程运行在Linux内核之上的一个庞大软件集合。 系统调用内核的出口,用户程序通过它使用内核提供的功能。 Linux内核操作系统的灵魂,负责管理磁盘上的文件、内存,负责启动并运行程序,负责从网络上接收和发送数据包等等。 硬件包括了Linux安装时需要的所有可能的物理设备。例如,CPU、 内存、硬盘、网络硬件等等。,内核子系统,内核子系统,进程调度控制着进程对CPU的访问
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年鹤岗市中考化学最后冲刺模拟试卷(含答案解析)
- 2026年辽宁金融职业学院单招职业适应性测试题库与答案详解
- 同学聚会群主的演讲稿
- 2026年海南省海口市高职单招职业技能考试题库带答案详解
- 学管会环境部演讲稿
- 2025年佛山市南海区大沥镇沥东小学招聘备考题库及1套参考答案详解
- 2026年江苏省南京市高职单招职业适应性测试考试题库与答案详解
- 2026年长沙卫生职业学院单招综合素质考试题库与答案详解
- 互联网技术促进产业升级规范
- 统编版(2016)四年级上册语文上册期末冲刺学案(知识梳理 考点突破 考点精炼 答案解析)
- OpenClaw发展研究报告
- 2025中国东方资产管理股份有限公司总部部门分公司高级管理人员社会招聘笔试历年典型考题及考点剖析附带答案详解2套试卷
- 制造业生产安全操作规范
- 2026春统编版二年级下册道德与法治教学设计(附目录)
- 《冠心病诊断与治疗指南(2025年版)》
- 2026年春人教版八年级下册英语Unit 1~Unit 8全册教案
- (081000)信息与通信工程专业考研复试高频面试题
- 2026年小红书文旅兴趣出游种草指南
- GB/T 33328-2016色漆和清漆电导率和电阻的测定
- GB/T 15624-2011服务标准化工作指南
- 污水处理厂污泥脱水机房施工组织方案
评论
0/150
提交评论