Linux操作系统分析与实践第一讲:操作系统概述.ppt
《Linux操作系统分析与实践第一讲:操作系统概述.ppt》由会员分享,可在线阅读,更多相关《Linux操作系统分析与实践第一讲:操作系统概述.ppt(107页珍藏版)》请在三一办公上搜索。
1、Linux操作系统分析与实践第一讲:操作系统概述,Linux操作系统分析与实践课程建设小组北京大学二零零八年春季*致谢:感谢Intel对本课程项目的资助,几个问题,什么是操作系统?解决什么问题?学到哪些原理?设计处理器时,如何对操作系统支持?有硬件、软件(应用软件),实现一个功能应该放在哪里?如果放在操作系统中,应该放在何处?内核或库?UNIX的缺点?如果你要重新设计,怎么做?一个Web请求是怎么走的?(OS怎样接?),几个问题(续),描述中断响应过程,说明操作系统对这一过程的支持。谈谈TLB的作用、特点和内容。为什么引入工作集模型?软件开发人员在编程时怎样考虑?设计一个多级目录结构,要求目录
2、检索速度快,请给出设计方案。,操作系统做什么?,#include int main(int argc,char*argv)puts(hello world);return 0;,用户告诉操作系统执行hello程序,操作系统找到该程序,检查其类型,检查程序首部,找出正文和数据的地址,文件系统找到第一个磁盘块,父进程需要创建一个新的子进程,执行hello程序,操作系统需要将执行文件映射到进程结构,操作系统设置CPU上下文环境,并跳到程序开始处,程序的第一条指令执行,失败,缺页中断发生,操作系统分配一页内存,并将代码从磁盘读入,继续执行,更多的缺页中断,读入更多的页面,操作系统检查字符串的位置是否正
3、确,操作系统找到字符串被送往的设备,设备是一个伪终端,由一个进程控制,操作系统将字符串送给该进程,该进程告诉窗口系统它要显示字符串,窗口系统确定这是一个合法的操作,然后将字符串转换成像素,窗口系统将像素写入存储映像区,视频硬件将像素表示转换成一组模拟信号控制显示器(重画屏幕),显示器发射电子束,你在屏幕上看到hello world,程序执行系统调用,在文件描述符中写一字符串,本讲主要内容,操作系统在计算机系统中的地位 操作系统的定义、特征和功能操作系统的发展历史及分类 操作系统的内核体系结构模型 Linux的特点及发展简史Linux内核的结构及主要组成部分,一、操作系统在计算机系统中的地位,计
4、算机系统包括硬件(子)系统和软件(子)系统。操作系统属于计算机系统软件(子)系统中的系统软件,是紧密接近硬件的第一层软件,是对硬件功能的首次扩充,其他软件则是建立在操作系统之上的。各种软件在操作系统的统一管理和支持下运行。,计算机系统,操作系统是计算机系统中软件技术含量最大、附加值最高的部分,是软件(子)系统的核心,是软件的基础运行平台。操作系统实际上是一个计算机系统中硬、软件资源的总指挥部。操作系统的性能高低,决定了整个计算机的潜在硬件性能能否发挥出来。操作系统本身的安全可靠程度,决定了整个计算机系统的安全性和可靠性。,操作系统设计者,应用软件设计者,二、操作系统的定义、特征和功能,操作系统
5、的定义 操作系统的特征操作系统的功能,2.1 操作系统的定义,定义:操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。操作系统的任务之一是组织和管理计算机系统中的硬件及软件资源。操作系统另一项重要任务是向用户提供各种服务功能。,2.2 操作系统的特征,并发(concurrency):处理多个同时性活动的能力在计算机系统中同时存在多个程序宏观上:这些程序是同时在执行的微观上:任何时刻只有一个
6、程序在执行(单CPU)即微观上这些程序在CPU上轮流执行并行(parallel):(与并发相似,但多指硬件支持)由并发引起的问题:活动切换、保护、相互依赖的活动间的同步,操作系统特征(续),共享(sharing):操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用互斥共享(如音频设备)同时访问(如可重入代码,磁盘文件)资源分配难以达到最优化,虚拟(Virtual):一个物理实体映射为若干个对应的逻辑实体分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率,操作系统特征(续),CPU
7、每个用户(进程)的虚处理机 存储器每个进程都占有的地址空间(指令数据堆栈)显示设备多窗口或虚拟终端,随机性:操作系统必须随时对以不可预测的次序发生的事件进行响应,操作系统特征(续),进程的运行速度不可预知:分时系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢 难以重现系统在某个时刻的状态(包括重现运行中的错误),不确定性:由共享和并发引起 在操作系统中可运行多道用户程序,而每个用户程序的运行时间、要使用哪些系统资源、使用多长时间、使用的资源是共享还是独占的,操作系统在程序运行前是不知道的 要求操作系统的设计要很好地解决并发和共享的问题,否则,将会产生不可重现的错误,这种不
8、可重现的错误称为不确定性 例子:两个用户共享一台打印机,操作系统特征(续),2.3 操作系统的功能,进程管理进程管理的实质是对CPU进行管理,所以进程管理往往又被称为处理器管理。存储管理 存储管理的任务是管理计算机内存的资源。文件管理有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。设备管理 负责外部设备的分配、启动和故障处理,用户不必详细了解设备及接口的技术细节,就可以方便地通过操作系统提供的设备管理手段,对设备进行操作。,三、操作系统的发展历史及分类,操作系统如同任何其他事物一样,也有它的诞生、成长和发展的过程。手工操作;监控程序(早期批
9、处理);多道批处理;分时与实时系统;UNIX通用操作系统;个人计算机操作系统;当代操作系统的两大发展方向宏观应用与微观应用.,操作系统的发展,操作系统发展是随着计算机硬件技术、应用软件的发展而发展的目标:充分利用硬件 提供更好的服务,大型机 PC机 后PC时代,历史上的操作系统,随历史线索,介绍一些重要的操作系统FMS(FORTRAN Monitor System)和IBSYS(IBM为7094配备的操作系统)OS/360(IBM为系列机360配备的操作系统)CTSS(Compatible Time Sharing System)MULTICS(MULTiplexed Information
10、and Computer Service)UNIX类、LinuxCP/M,历史上的操作系统,MS-DOS、Windows 3.1/95/98/Me、Windows NT、Windows 2000/XP、Windows CE、Windows Server 2003MacintoshOS/390MachVxWorks嵌入式领域国产操作系统研究型操作系统,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,典型的操作系统,FMS(FORTRAN Monitor System,FORTRAN监控系统)IBMSYS(IBM为7094机配备
11、的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,OS/360操作系统,20世纪60年代初期,计算机开始采用集成电路,多数厂商有几条完全不同的生产线,生产不同的计算机开发和维护完全不同的产品,对厂商来说是昂贵的新的用户在开始时只需要一台小计算机,后来可能需要一台大的计算机,并希望能在新计算机上执行原有的程序厂家和用户需要软件在不同型号的计算机之间兼容,1964 年IBM 宣布推出System/360计算机系统 第一个采用小规模集成电路的主流机型试图一次性地解决上述问题由于所有的计算机 都有相同的体系结 构和指令集 在理论上,为一型 号编写的程序可以 在其他型号机器上 运
12、行,OS/360操作系统,IBM System/360的若干问题,IBM无法写出同时满足互冲突需要的操作系统 其实别人也一样不能完成此项任务IBM OS/360文件系统中有类型字段,定义文件的类型,有定长、不定长记录、块状和非块状文件 用户对于输出文件的大小,只有通过猜测存储管理有基地址寄存器寻址方式,程序也可以访问和修改基地址寄存器,但是CPU生成的却是绝对地址,虽然不用进行动态再分配 但程序却被“钉死”在调入内存时的物理地址上,IBM System/360,庞大的软件怪兽,数千名程序员写的数百万行汇编语言代码 系统自身占据了大量存储空间和一半的CPU时间数百万行汇编代码中有成千上万处错误I
13、BM不断发行新的版本试图更正这些错误 每个新版本在更正老错误的同时又引入新错误随着时间的流逝,错误的数量大致保持不变,分时系统的思想1959年在MIT提出每个用户有一个联机终端 在分时系统中,假设20个用户登录 其中17个在思考或谈论或喝咖啡 则CPU可分配给那三个需要的作业(轮流服务)调试程序的用户常常只发出简短的命令 很少有长的费时命令计算机能够为许多用户提供交互式、快速服务 同时在CPU空闲时还能在后台运行大作业,第一个分时操作系统CTSS,第一个分时系统(CTSS)由 MIT的Fernando Corbato 等1961年在一改装的IBM 7090/94机上开发成功(有32个交互式用户
14、)IBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换1962年Manchester大学的Atlas计算机投入运行 运行速度200 kFLOPS第一个有虚拟存储器(virtual memory)和页面调度(paging)的机器指令执行是 pipelined 的,MULTICS的灾难,1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS(MULTiplexed Information and Computing Service)MULTI
15、CS设计目标是:便利的终端使用大量远程终端通过电话线接入计算机主机 高可靠的大型文件系统大容量的用户信息共享;存储和构造层次化信息结构的能力,MULTICS研制难度超出所有人的预料(PL/1语言)长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出 最终,MIT坚持下来,MULTICS成功运行,成为商业产品(通用汽车、福特、美国国家安全局等)运行MULTICS的计算机系统在九十年代中陆续被关闭(加拿大国防部于2000年10月30日17:08)MULTICS的意义 引入了许多现代操作系统领域概念雏形,对随后的操作系统特别是UNIX的成功有着巨大的影响,MULTICS,小型
16、计算机,电子游戏和UNIX的成功,1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M.Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX随后,UNIX用C语言全部重写,自此,UNIX诞生了,UNIX,UNIX是现代操作系统的代
17、表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖促使UNIX系统成功的因素:首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX 是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统第二,系统源代码非常有效,系统容易适应特殊的需求最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统,UNIX,两个版本系列 AT&T System V BSD(Berkeley Software Distribution)MINUXVAX(DEC公司)其他,CP/M 操作系统,随着大规模集成电路发展,个人计算机时代到来 各种类型的个人计算机和
18、软件层出不穷1973年Gary Kildall看到对个人计算机操作系统的需求,设计了CP/M操作系统(Control Program/Microprocessor or Microcomputer)CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好,具有较好的可适应性和易学易用性到了1981年,CP/M操作系统成为世界上流行最广的8位操作系统之一,微软MS DOS,个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利
19、,机遇落到了微软公司在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓,IBM在1981年推出个人计算机,宣布了DOS操作系统随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路MS DOS有优良的文件系统 但受到Intel x86体系结构的限制 缺乏以硬件为基础的存储保护机制它属于单用户单任务操作系统从1981的 1.0版到1998年在Windows 95/98之下的7.0版,MS DOS历经了16个年头迄今仍有MS
20、DOS爱好者继续开发各种DOS软件产品,拯救苹果公司的Macintosh(MAC OS),在推出IBM PC机后,市场卷起一股龙卷风,IBM自己也没有料到产品会有如此巨大的成功IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面苹果公司推出Lisa机遭到失败,Apple III型也遭到失败分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴了,施乐Palo Alto研究中心70年代的计算机研究思想库,世界上第一台个人计算机Alto,1972年在这里出现图形界面,手持鼠标,面向对象程序设计 微机网络,桌面出版和激光打印等等 具有先进概念和技术的原型都首次出现在这
21、里,1979年苹果公司允许施乐公司购买一百万股的苹果公司股票 作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈苹果公司对Palo Alto研究中心内的技术大感吃惊他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!,对Palo Alto研究中心这些科学家们而言,苹果公司的人是他们第一次遇到真正理解他们技术的人这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机苹果公司已看到 IBM PC机的技术有多么糟糕,但他们卖得又
22、是特别的好,MAC OS、鼠标的新型个人计算机,1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍,这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机MAC机一上市立即在市场上获得极大的成功当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机Macintosh把苹果公司从连续的失败中拯救出来 苹果公司又开始向前发展正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者,一波三折的微软Windows操作系统,1983年10月,PC机竞争厂家的图形界面相关产品上市面对市场压力,比尔.盖茨在1983年11月10日宣布推出Wi
23、ndows操作系统直到1985年11月20日,Windows 1.0才正式上市,1992年4月,推出Windows 3.1,1993年5月,发表Windows NTWindows 95/98,Windows CE,Windows 2000/XP,Windows Server 2003(.net)Longhorn,基于微内核的Mach操作系统,1975年Rochester大学开发了RIG 操作系统系统设计者之一Richard Rashid 移居到CMU后,在DARPA支持下,1984年开始了Mach的开发希望Mach能与UNIX兼容,运行线程,更好的进程通信机制,支持多处理机及好的虚拟存储系统M
24、ach第一个版本是1986年为VAX 11/784四CPU多处理机发布1988年的Mach 2.5版包含了大量的BSD UNIX的代码1989年,Mach 内核中去掉了所有的BSD UNIX的代码,剩下了一个纯的Mach微内核,这就是Mach 3.0版本,它是OSF发布的基础,Mach中采用了许多当代操作系统使用的技术,微内核、线程、进程间消息传递和面向对象的设计方法等等在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCE Unix,NeXT等等,IBM大型计算机操作系统OS/390,90年代末期,电子商务发展刺激
25、对计算能力的要求,导致大型机市场的再度升温三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统支持即UNIX 95标准,UNIX应用程序可在IBM OS/390上运行同时还可继续运行S/390应用程序,包括S/370上开发的应用程序包括TCP/IP的多种通信协议,具有高网络安全性采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性,由于历史渊源,OS/390有不同的系统运行方式:S/370本机模式,支持原先在S/370运行的程序 ESA/390模式,支持到10个240M处理器内存和256个通道 ESA/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 操作系统 分析 实践 第一 概述
链接地址:https://www.31ppt.com/p-6511261.html