收藏 分享(赏)

Linux操作系统分析与实践.ppt

上传人:czsj190 文档编号:4230704 上传时间:2018-12-17 格式:PPT 页数:107 大小:726KB
下载 相关 举报
Linux操作系统分析与实践.ppt_第1页
第1页 / 共107页
Linux操作系统分析与实践.ppt_第2页
第2页 / 共107页
Linux操作系统分析与实践.ppt_第3页
第3页 / 共107页
Linux操作系统分析与实践.ppt_第4页
第4页 / 共107页
Linux操作系统分析与实践.ppt_第5页
第5页 / 共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的特点及发展简

4、史 Linux内核的结构及主要组成部分,一、操作系统在计算机系统中的地位,计算机系统包括硬件(子)系统和软件(子)系统。 操作系统属于计算机系统软件(子)系统中的系统软件,是紧密接近硬件的第一层软件,是对硬件功能的首次扩充,其他软件则是建立在操作系统之上的。 各种软件在操作系统的统一管理和支持下运行。,计算机系统,操作系统是计算机系统中软件技术含量最大、附加值最高的部分,是软件(子)系统的核心,是软件的基础运行平台。 操作系统实际上是一个计算机系统中硬、软件资源的总指挥部 。 操作系统的性能高低,决定了整个计算机的潜在硬件性能能否发挥出来。 操作系统本身的安全可靠程度,决定了整个计算机系统的安

5、全性和可靠性。,操作系统设计者,应用软件设计者,二、操作系统的定义、特征和功能,操作系统的定义 操作系统的特征 操作系统的功能,2.1 操作系统的定义,定义: 操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。 操作系统的任务之一是组织和管理计算机系统中的硬件及软件资源。 操作系统另一项重要任务是向用户提供各种服务功能。,2.2 操作系统的特征,并发(concurrency):处理多个同时

6、性活动的能力 在计算机系统中同时存在多个程序 宏观上:这些程序是同时在执行的 微观上:任何时刻只有一个程序在执行(单CPU)即微观上这些程序在CPU上轮流执行 并行(parallel):(与并发相似,但多指硬件支持) 由并发引起的问题:活动切换、保护、相互依赖的活动间的同步,操作系统特征(续),共享(sharing):操作系统与多个用户的程序共同使用计算机系统中的资源(共享有限的系统资源)操作系统要对系统资源进行合理分配和使用 资源在一个时间段内交替被多个进程所用 互斥共享(如音频设备) 同时访问(如可重入代码,磁盘文件) 资源分配难以达到最优化,虚拟(Virtual):一个物理实体映射为若干

7、个对应的逻辑实体分时或分空间。虚拟是操作系统管理系统资源的重要手段,可提高资源利用率,操作系统特征(续),CPU每个用户(进程)的“虚处理机“存储器每个进程都占有的地址空间(指令数据堆栈)显示设备多窗口或虚拟终端,随机性:操作系统必须随时对以不可预测的次序发生的事件进行响应,操作系统特征(续),进程的运行速度不可预知:分时系统中,多个进程并发执行,“走走停停”,无法预知每个进程的运行推进快慢难以重现系统在某个时刻的状态(包括重现运行中的错误),不确定性:由共享和并发引起在操作系统中可运行多道用户程序,而每个用户程序的运行时间、要使用哪些系统资源、使用多长时间、使用的资源是共享还是独占的,操作系

8、统在程序运行前是不知道的要求操作系统的设计要很好地解决并发和共享的问题,否则,将会产生不可重现的错误,这种不可重现的错误称为不确定性例子:两个用户共享一台打印机,操作系统特征(续),2.3 操作系统的功能,进程管理 进程管理的实质是对CPU进行管理,所以进程管理往往又被称为处理器管理。 存储管理 存储管理的任务是管理计算机内存的资源。 文件管理 有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件。 设备管理 负责外部设备的分配、启动和故障处理,用户不必详细了解设备及接口的技术细节,就可以方便地通过操作系统提供的设备管理手段,对设备进行操作。,三

9、、操作系统的发展历史及分类,操作系统如同任何其他事物一样,也有它的诞生、成长和发展的过程。 手工操作; 监控程序(早期批处理) ; 多道批处理 ; 分时与实时系统 ; UNIX通用操作系统 ; 个人计算机操作系统 ; 当代操作系统的两大发展方向宏观应用与微观应用 .,操作系统的发展,操作系统发展是随着计算机硬件技术、应用软件的发展而发展的 目标:充分利用硬件提供更好的服务,大型机 PC机 后PC时代,历史上的操作系统,随历史线索,介绍一些重要的操作系统 FMS(FORTRAN Monitor System)和IBSYS(IBM为7094配备的操作系统) OS/360(IBM为系列机360配备的

10、操作系统) CTSS(Compatible Time Sharing System) MULTICS(MULTiplexed Information and Computer Service) UNIX类、Linux CP/M,历史上的操作系统,MS-DOS、Windows 3.1/95/98/Me、Windows NT、Windows 2000/XP、 Windows CE、 Windows Server 2003 Macintosh OS/390 Mach VxWorks 嵌入式领域 国产操作系统 研究型操作系统,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁

11、带,磁带机,卡片阅读机,输出磁带,打印机,典型的操作系统,FMS(FORTRAN Monitor System,FORTRAN监控系统)IBMSYS(IBM为7094机配备的操作系统)这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成,OS/360操作系统,20世纪60年代初期,计算机开始采用集成电路,多数厂商有几条完全不同的生产线,生产不同的计算机 开发和维护完全不同的产品,对厂商来说是昂贵的 新的用户在开始时只需要一台小计算机,后来可能需要一台大的计算机,并希望能在新计算机上执行原有的程序 厂家和用户需要软件在不同型号的计算机之间兼容,1964 年IBM 宣布推出System/3

12、60计算机系统第一个采用小规模集成电路的主流机型 试图一次性地解决上述问题 由于所有的计算机都有相同的体系结构和指令集在理论上,为一型号编写的程序可以在其他型号机器上运行,OS/360操作系统,IBM System/360的若干问题,IBM无法写出同时满足互冲突需要的操作系统其实别人也一样不能完成此项任务 IBM OS/360文件系统中有类型字段,定义文件的类型,有定长、不定长记录、块状和非块状文件用户对于输出文件的大小,只有通过猜测 存储管理有基地址寄存器寻址方式,程序也可以访问和修改基地址寄存器,但是CPU生成的却是绝对地址,虽然不用进行动态再分配但程序却被“钉死”在调入内存时的物理地址上

13、,IBM System/360, 庞大的软件怪兽,数千名程序员写的数百万行汇编语言代码系统自身占据了大量存储空间和一半的CPU时间 数百万行汇编代码中有成千上万处错误 IBM不断发行新的版本试图更正这些错误每个新版本在更正老错误的同时又引入新错误 随着时间的流逝,错误的数量大致保持不变,分时系统的思想1959年在MIT提出 每个用户有一个联机终端在分时系统中,假设20个用户登录其中17个在思考或谈论或喝咖啡则CPU可分配给那三个需要的作业(轮流服务) 调试程序的用户常常只发出简短的命令很少有长的费时命令 计算机能够为许多用户提供交互式、快速服务同时在CPU空闲时还能在后台运行大作业,第一个分时

14、操作系统CTSS,第一个分时系统(CTSS)由 MIT的Fernando Corbato 等1961年在一改装的IBM 7090/94机上开发成功(有32个交互式用户) IBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换 1962年Manchester大学的Atlas计算机投入运行运行速度200 kFLOPS 第一个有虚拟存储器(virtual memory)和页面调度(paging) 的机器 指令执行是 pipelined 的,MULTICS的灾难,1965年在ARPA的支持下MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统

15、”, 希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICS (MULTiplexed Information and Computing Service ) MULTICS设计目标是:便利的终端使用大量远程终端通过电话线接入计算机主机高可靠的大型文件系统大容量的用户信息共享;存储和构造层次化信息结构的能力,MULTICS研制难度超出所有人的预料(PL/1语言)长期研制工作达不到预期目标,1969年4月贝尔实验室退出,通用电气公司也退出最终,MIT坚持下来,MULTICS成功运行,成为商业产品(通用汽车、福特、美国国家安全局等)运行MULTICS的计算机系统在九十年代中陆续被关闭(

16、加拿大国防部于2000年10月30日17:08) MULTICS的意义引入了许多现代操作系统领域概念雏形,对随后的操作系统特别是UNIX的成功有着巨大的影响,MULTICS,小型计算机,电子游戏和UNIX的成功,1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M. Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准 项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏 为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell

17、 和汇编程序 到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX 随后,UNIX用C语言全部重写,自此,UNIX诞生了,UNIX,UNIX是现代操作系统的代表。Unix运行时的安全性、可靠性以及强大的计算能力赢得广大用户的信赖 促使UNIX系统成功的因素: 首先,由于UNIX是用C语言编写,因此它是可移植的,UNIX 是世界上唯一能在笔记本计算机、PC机、工作站直至巨型机上运行的操作系统 第二,系统源代码非常有效,系统容易适应特殊的需求 最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统,UNIX,两个版本系列AT&T System V

18、BSD(Berkeley Software Distribution) MINUX VAX (DEC公司) 其他,CP/M 操作系统,随着大规模集成电路发展,个人计算机时代到来各种类型的个人计算机和软件层出不穷 1973年Gary Kildall看到对个人计算机操作系统的需求,设计了CP/M操作系统(Control Program/Microprocessor or Microcomputer) CP/M操作系统有较好的层次结构。它的BIOS把操作系统的其他模块与硬件配置分隔开,所以它的可移植性好, 具有较好的可适应性和易学易用性 到了1981年,CP/M操作系统成为世界上流行最广的8位操作系

19、统之一,微软MS DOS,个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战 但没有操作系统不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利,机遇落到了微软公司 在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,达成由微软经销西雅图计算机产品公司的QDOS操作系统的协议 当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓,IBM在1981年推出个人计算机,宣布了DOS操作系统 随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路 MS DOS有优良的文件系统但

20、受到Intel x86体系结构的限制缺乏以硬件为基础的存储保护机制 它属于单用户单任务操作系统 从1981的 1.0版到1998年在Windows 95/98之下的7.0版,MS DOS历经了16个年头 迄今仍有MS DOS爱好者继续开发各种DOS软件产品,拯救苹果公司的Macintosh(MAC OS),在推出IBM PC机后,市场卷起一股龙卷风,IBM自己也没有料到产品会有如此巨大的成功 IBM的成功说明必有其他公司失败。甚至连苹果公司也遇到了问题,销售数量落到了兰色巨人的后面 苹果公司推出Lisa机遭到失败,Apple III型也遭到失败 分析家们认为,在微机市场上的战斗似乎兰色巨人要嬴

21、了,施乐Palo Alto研究中心 70年代的计算机研究思想库,世界上第一台个人计算机Alto,1972年在这里出现 图形界面,手持鼠标,面向对象程序设计微机网络,桌面出版和激光打印等等具有先进概念和技术的原型都首次出现在这里,1979年苹果公司允许施乐公司购买一百万股的苹果公司股票作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈苹果公司对Palo Alto研究中心内的技术大感吃惊他们更吃惊的是,施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!,对Palo Alto研究中心这些科学家们而言,苹果公司的人

22、是他们第一次遇到真正理解他们技术的人 这些科学家们后来有的去了苹果公司,微软公司,有的最终创办了自己的公司 在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机 苹果公司已看到IBM PC机的技术有多么糟糕,但他们卖得又是特别的好,MAC OS、鼠标的新型个人计算机,1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍, 这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机 MAC机一上市立即在市场上获得极大的成功 当年比尔.盖茨都说,这是一台他的妈妈也能使用的计算机 Macintosh把苹果公司从连续的失败中拯救出来苹果公司又开始向前发展

23、正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者,一波三折的微软Windows操作系统,1983年10月,PC机竞争厂家的图形界面相关产品上市 面对市场压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统 直到1985年11月20日,Windows 1.0才正式上市,1992年4月,推出Windows 3.1,1993年5月,发表Windows NT Windows 95/98,Windows CE,Windows 2000/XP,Windows Server 2003(.net) Longhorn,基于微内核的Mach操作系统,1975年Ro

24、chester大学开发了RIG 操作系统 系统设计者之一Richard Rashid 移居到CMU后,在DARPA支持下,1984年开始了Mach的开发 希望Mach能与UNIX兼容,运行线程,更好的进程通信机制,支持多处理机及好的虚拟存储系统 Mach第一个版本是1986年为VAX 11/784四CPU多处理机发布 1988年的Mach 2.5版包含了大量的BSD UNIX的代码 1989年,Mach 内核中去掉了所有的BSD UNIX的代码,剩下了一个纯的Mach微内核,这就是Mach 3.0版本,它是OSF发布的基础,Mach中采用了许多当代操作系统使用的技术, 微内核、线程、进程间消息

25、传递和面向对象的设计方法等等在Mach的基础上,有不少用于微处理器、多处理器以及超级计算机的操作系统和实时嵌入式操作系统陆续设计和开发出来,如OSF/1,DCE Unix, NeXT等等,IBM大型计算机操作系统OS/390,90年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温 三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统 支持即UNIX 95标准,UNIX应用程序可在IBM OS/390上运行 同时还可继续运行S/390应用程序,包括S/370上开发的应用程序 包括TCP/IP的多种通信协议,具有高网络安全性 采用面向对象程

26、序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、可移植性与可扩展性,由于历史渊源,OS/390有不同的系统运行方式: S/370本机模式,支持原先在S/370运行的程序ESA/390模式,支持到10个240M处理器内存和256个通道ESA/390 LPAR模式,系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370, ESA/370 和ESA/390等在PC机时代,人们曾经估计大型计算机会衰亡 IBM S/390是大型计算机复活的一个典型那么,在21世纪的Internet和后PC的时代,大型机还会有什么演化,只有让时间来说明

27、,嵌入式操作系统的代表VxWorks,WindRiver公司 VxWorks支持各种工业标准,包括POSIX, ANSI C和TCP/IP网络协议 VxWorks运行系统的核心是一高效率的微内核 微内核支持各种实时功能,包括快速多任务处理,中断支持,抢占式和轮转式调度 微内核设计减轻了系统负载并可快速响应外部事件 从只需几千字节存储器的深嵌式产品设计到复杂高端实时系统设计,开发人员有八十多个选件并可构成上百个不同的配置,VxWorks开发主机:Windows 9x,Windows NT, Sun Solaris, SunOS, HP-UX等 支持目标微处理器:86, 68k, PPC, CPU

28、 32, i960, SPARC, SPARCLite, SH, ColdFire, R3000, R4000, C16X, ARM, MIPS等 在“勇气号”(2004年1月)、“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorks VxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作 目前在国内也占据嵌入式开发系统市场主要份额,嵌入式操作系统VxWorks,Internet时代与Linux,1990年秋天,Linus在芬兰首都赫尔辛基大学学习操作系统课程,因为上机需要排队等待,Linus

29、买了台PC机,开发了第一个程序,程序包括两个进程,向屏幕上写字母,然后用定时器来切换进程 Linus需要终端仿真程序来存取Usenet新闻组的内容,于是他编写了从调制解调器上接发信息的程序以及显示器、键盘和调制解调器的驱动程序 然后编写了磁盘驱动程序、文件系统,一旦有了进程切换、文件系统和设备驱动程序,当然就拥有了一个操作系统原型,或者至少是它的一个内核 Linux就以这样极其古怪但也极其自然式问世,操作系统领域中新的操作系统,有线电视机顶盒领域 PowerTV 掌上计算机领域 Palm OS 数字影像领域 Digita 手机 Symbian,SmartPhone,Palm OS 其他 Nuc

30、leus,VxWorks 嵌入式Linux:uClinux,Monta Vista Linux,LynxOS,国内操作系统的研制状况,60年代末至70年代初杨芙清院士主持我国第一台百万次集成电路计算机(150)操作系统支持多道程序运行,在石油勘探领域成功应用 70年代中后期杨芙清院士主持我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2层次管程结构模型,PCM设计方法,活跃管程结构模式,国内操作系统的研制状况(续),GX73多机实时操作系统(1978年)国防科技大学,1980年装在“远望”-I 号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我

31、国第一颗同步地球卫星的测控、定轨、控制任务 “银河”-1 YHOS巨型操作系统(1983年)国防科技大学,用于YH-1、YH-2超级计算机,用于我国的石油勘探、天气预报和核物理研究COSIX v 1.X/2.0 国产UNIX类操作系统(国家八五、九五重点科技攻关成果,以中软为首,联合国内18个单位共同完成)微内核结构,安全级别超过B1,中文界面 嵌入式操作系统:Hopen,DeltaOS,SmartEOS Linux类操作系统:中软Linux、红旗Linux、东方Linux,概念的重用、回归,技术变化 导致某些思想过时并迅速消失 但 技术的另一种变化还可能使它们复活操作系统中的例子磁盘上文件分

32、配连续文件CD-ROM文件系统动态链接(MULTICS首先提出)计算服务(MULTICS,以大量的、附有相对简单用户机器的、集中式Internet服务器形式回归),操作系统的标准化,没有标准化各个操作系统之间不能兼容 大量应用软件无法在不同的操作系统平台上通用 后果 投资增加 开发周期加长 用户掌握困难,影响推广应用,通用操作系统的标准化,UNIX 的标准化 1970年代早期的UNIX是一个版本 各个厂家开发出各自的UNIX版本,各自互不兼容 1987年AT&T/Sun组织了UNIX International其他公司组织了Open Software Foundation (OSF) OSF发

33、布了POSIX.1 UNIX International (UI)发布了Ultrix 4.2 经过长时间的斗争,UNIX基本统一在Open Group标准:IEEE POSIX(Portable Operating System Interface) 最新版本遵守Single UNIX Specification UNIX 93, UNIX 95, UNIX 98 ,最新 UNIX 03,操作系统的国际标准,操作系统的国际标准 POSIX 标准(1003) ISO/IEC 9945-1:1990 Information TechnologyPortable Operating System I

34、nterface同时被 X/Open 接纳为操作系统标准 其中9945-4(即 POSIX 1003.4)为实时部分,操作系统的国际标准(续),操作系统的国家标准 GB/T 14246.11995 可移植操作系统界面 等同于 POSIX 1003.1操作系统的国家军用标准 GJB/Z 2291 军用实时操作系统实现指南,通用操作系统的标准化,Linux 标准化 由Free Standards Group(FSG)承担 主要标准化项目: Linux Standard Base (LSB) LSB定义在不同硬件体系结构上的 Linux的二进制接口 OpenI18N (formerly Li18nu

35、x)。 OpenI18N涉及不同语言应用的共同国际标准 有机构正在从事电信级Linux标准化Linux标准化在中国 已发布了征求意见稿,嵌入式操作系统的标准化,Open Group 组织Real-time and Embedded Systems Forum 开始了嵌入式操作系统的标准化工作 当年发布POSIX Realtime测试套件: POSIX 1003.1d-1999 (Additional Realtime extensions) POSIX 1003.1j-2000 (Advanced Realtime extensions)Embedded Linux Consortium (E

36、LC) 从事嵌入式 Linux标准 2003年元月,ELC发布了ELC Platform Specification (ELCPS),嵌入式操作系统的标准化,日本嵌入式操作系统的标准化 iTron是在日本运用最广的嵌入式操作系统 日本成立了TRON协会,专门从事嵌入式操作系统标准化 汽车电子嵌入式操作系统的标准化 欧洲汽车行业制定了网络化嵌入式计算机系统的开发规范OSEK/VDX OSEK/VDX操作系统标准,定义了一个可缩放的操作系统标准,操作系统的分类,批处理操作系统(多道批处理) 分时系统 实时操作系统 个人计算机操作系统 网络操作系统 分布式操作系统 嵌入式操作系统,批处理操作系统,工

37、作方式: 1、用户将作业交给系统操作员 2、系统操作员将许多用户的作业组成一批作业,输入到计算机系统中,在系统中形成一个自动转接的连续的作业流 3、启动操作系统 4、系统自动、依次执行每个作业 5、由操作员将作业结果交给用户,卡片,早期批处理系统,IBM1401,IBM7094,IBM1401,输入磁带,磁带机,卡片阅读机,输出磁带,打印机,$END,$RUN,Data for program,$LOAD,Fortran program,$FORTRAN,$JOB, 10,429754 Cherry Chen,典型的 FMS JOB 结构,批处理操作系统特点,多道:内存中同时存放几个作业某个作

38、业占用CPU,若由于某种原因暂时不用CPU,则系统让第二个作业占用CPU,成批处理:用户自己不能干预自己作业的运行,一旦发现作业错误不能及时改正,并延长开发软件时间,所以适用于成熟的程序,1961年,英国曼彻斯特大学,Atalas机Simultaneous Peripheral Operation On-Line (同时的外围设备联机操作-假脱机技术)思想:利用磁盘作缓冲,将输入、计算、输出分别组织成独立的任务流,使I/O和计算真正并行,SPOOLing系统(技术),作业进入到磁盘上的输入井按某种调度策略选择几种搭配得当的作业,并调入内存作业运行时,若要求输入数据,则直接从输入井取得;若要输出

39、,则将结果输出到磁盘上的输出井最终,结果从磁盘上的输出井送到打印机,SPOOLing系统工作原理,优点:作业流程自动化资源利用率高吞吐量大单位时间内完成的工作 总量大 缺点:用户交互性差,调试程序困难(无交互手段:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改)作业平均周转时间长短作业的周转时间显著增长,批处理操作系统优缺点,分时操作系统 (time-sharing system),工作方式:一台主机连接了若干个终端每个终端有一个用户在使用交互式的向系统提出命令请求系统接受每个用户的命令采用时间片轮转方式处理服务请求通过交互方式在终端上向用户显示结果用户根据上步结果发出下道命令,分

40、时操作系统,时间片(time slice) 操作系统将CPU的时间划分成若干个片段,称为时间片操作系统以时间片为单位,轮流为每个终端用户服务每次服务一个时间片 (其特点是利用人的错觉,使人感觉不到),分时操作系统特点,多路性 交互性 “独占”性 及时性,同时有多个用户使用一台计算机 宏观上:是多个人同时使用一个CPU 微观上:多个人在不同时刻轮流使用CPU,用户根据系统响应结果进一步 提出新请求(用户直接干预每一步),用户感觉不到计算机为其他人服务 (OS提供虚机器,各个用户的虚 机器互不干扰),系统对用户提出的请求及时响应,分时操作系统,追求目标:及时响应(依据是响应时间)响应时间:从终端发

41、出命令到系统给予回答所经历的时间,分时操作系统,影响响应时间的因素:- 机器处理能力- 请求服务的时间长短- 系统中连接的终端数目- 服务请求的分布- 调度算法(时间片的选取),通用操作系统,分时系统与批处理系统结合 原则:分时优先,批处理在后“前台”:需频繁交互的作业“后台”:时间性要求不强的作业,3、实时(操作)系统 (real-time system),是指使计算机能及时响应外部事件的请求,在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统分类: 第一类:实时过程控制工业控制,军事控制,. 第二类:实时通信(信息)处理电讯(自动交换),银行,飞机订

42、票股市行情,实时操作系统,追求目标: 对外部请求在严格时间范围内作出反应 高可靠性VxWorks,QNX,实时操作系统,特征:关键参数 是 时间例子:工业过程控制系统汽车装配线硬实时系统某个动作绝对必须在规定的时刻或时间范围完成(例子?) 软实时系统接受偶尔违反最终时限(例子?),实时操作系统,实时系统的主要功能 实时时钟管理:提供系统日期和时间、定时和延时等时钟管理功能 过载保护:缓冲区排队,丢弃某些任务,动态调整任务周期 高度可靠性和安全性:容错能力(如故障自动复位)和冗余备份(双机,关键部件),实时操作系统,实时系统与批处理系统和分时系统的区别 专用系统:许多实时系统是专用系统,而批处理

43、与分时系统通常是通用系统 实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构 高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余(如双机系统) 事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。,个人计算机操作系统 (单用户多任务),计算机在某一时间内为单用户服务, 其追求目标是界面友好,使用方便, 丰富的应用软件,网络操作系统,基于计算机网络在各种计算机操作系统上按网络体系结构协议标准开发的软件包括网络管理,通信,安全,资源共享和各种网络应用 目标:是相互通信及资源共享,网络操作系统,通常操作系统的功能:处

44、理机管理、存储器管理、设备管理、文件管理等 网络通信功能:通过网络协议进行高效、可靠的数据传输 网络资源管理:协调各用户使用 网络服务:文件和设备共享,信息发布 网络管理:安全管理、故障管理、性能管理等 互操作:直接控制对方比交换数据更为困难,分布式操作系统,分布式系统:处理和控制的分散(相对于集中式系统)分布式系统是以计算机网络为基础的,它的基本特征是处理上的分布,即功能和任务的分布分布式操作系统的所有系统任务可在系统中任何处理机上运行,自动实现全系统范围内的任务分配并自动调度各处理机的工作负载,分布式操作系统,特征:1.是一个统一的操作系统若干个计算机可相互协作共同完成一项任务 2.资源进

45、一步共享 3.透明性:资源共享,分布对用户来讲是不知道的 4.自治性:处于分布式系统的多个主机处于平等地 位,无主从关系 5.处理能力增强、速度更快、可靠性增强,网络和分布式的比较,耦合程度分布式系统是紧密耦合系统,分布式OS是在各机上统一建立的,直接管理CPU、存储器和外设;统一进行全系统的管理;网络通常容许异种OS互连,各机上各种服务程序需按不同网络协议互操作 并行性分布式OS可以将一个进程分散在各机上并行执行“进程迁移“;网络则各机上的进程独立 透明性用户是否知道或指定资源在哪个机器上分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;网络操作系统中对网络资源的使用要由用户明

46、确指定 健壮性分布式系统要求更强的容错能力(工作时系统重构),嵌入式操作系统,什么是嵌入式系统? 在各种设备、装置或系统中,完成特定功能的软硬件系统 它们是一个大设备、装置或系统中的一部分,这个大设备、装置或系统可以不是“计算机” 通常工作在反应式或对处理时间有较严格要求环境中 由于它们被嵌入在各种设备、装置或系统中,因此称为嵌入式系统,嵌入式操作系统,嵌入式操作系统(Embedded Operating System)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件,嵌入式操作系统的应用,嵌入式操作系统,嵌入式操作系统

47、 具有某些实时系统的特征 但有限制条件大小、内存、能源 例子PalmOS,WindowsCE,嵌入式操作系统的应用,美国加州伯克利大学研制:微型智能传感器,安装TinyOS,操作系统的另一种分类(Tanenbaum),主机操作系统 服务器操作系统 多处理机操作系统 个人计算机操作系统 实时操作系统 嵌入式操作系统 智能卡操作系统,主机操作系统,数据中心 大型电子商务服务站 与个人计算机比较 I/O处理能力操作系统提供三类服务批处理、事务处理、分时处理OS/390,服务器操作系统,它们通过网络同时为若干个用户服务,并允许用户共享硬件和软件资源 服务器可提供打印服务、文件服务,或Web服务UNIX

48、、 Windows 2000、Linux,多处理机操作系统,为什么?(获得大量联合计算能力的方式是将多个CPU连接成单一系统)提高计算机系统性能和可靠性提高性能的两条途径:- 提高各个组成部分的速度- 增大处理的并行程度,多处理机操作系统的特点,增加系统的吞吐量N个处理器加速比达不到N倍(额外的调度开销,算法的并行化)提高系统可靠性故障时系统降级运行,多处理机操作系统的类型,紧密耦合各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心) 松散耦合各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS,多处理机操作

49、系统的类型,非对称式多处理(又称主从模式) 主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务 从处理器:可有多个,执行应用程序或I/O处理 特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是“非对称“) 对称式多处理OS交替在各个处理器上执行。任务负载较为平均,性能调节容易,智能卡操作系统,智能卡:一种包含有一块CPU芯片的信用卡 特点:非常严格的运行能耗和存储空间的限制有些智能卡只有单项功能,诸如电子支付 专用的操作系统有些智能卡是面向Java的。其含义是在智能卡的ROM中有一个Java虚拟机解释器。Java 小程序被下载到卡中并由JVM解释器解释。有些卡可以同时处理多个Java 小程序,这就是多道程序,并且需要对它们进行调度。在两个或多个小程序同时运行时,资源管理和保护就成为突出的问题。这些问题必须由卡上的操作系统处理,智能卡操作系统,在读写器与智能卡之间通过“命令-响应对”方式进行通信和控制读写器发出操作命令,智能卡接收命令操作系统对命令加以解释,完成命令的解密与校验操作系统调用相应程序来进行数据处理,产生应答信息,加密后送给读写器,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报