操作系统ThePrinciplesofOperatingSystems

上传人:ni****g 文档编号:577776151 上传时间:2024-08-22 格式:PPT 页数:132 大小:885.50KB
返回 下载 相关 举报
操作系统ThePrinciplesofOperatingSystems_第1页
第1页 / 共132页
操作系统ThePrinciplesofOperatingSystems_第2页
第2页 / 共132页
操作系统ThePrinciplesofOperatingSystems_第3页
第3页 / 共132页
操作系统ThePrinciplesofOperatingSystems_第4页
第4页 / 共132页
操作系统ThePrinciplesofOperatingSystems_第5页
第5页 / 共132页
点击查看更多>>
资源描述

《操作系统ThePrinciplesofOperatingSystems》由会员分享,可在线阅读,更多相关《操作系统ThePrinciplesofOperatingSystems(132页珍藏版)》请在金锄头文库上搜索。

1、1操作系统The Principles of Operating Systems主讲教师:原仓周 辅导教师:刘芸北航软件学院2教学目标和教学模式操作系统是一门涉及较多硬件知识的计算机系统软件课程,在计算机软、硬件课程的设置上,起着承上启下的作用本课程的目的与任务是q使学生理解操作系统的基本原理、组成、基本概念和主要功能目前国内外操作系统课程的教学主要有两种模式:q侧重理论与原理的讲述,不局限于具体实例q结合具体实例,讲述操作系统的实现技术3本课程的教学目的掌握操作系统的工作原理学习软件设计的思想方法了解Linux/windows的技术方法4教材操作系统原理 Linux篇徐德明 编著国防工业出版

2、社2004年1月第1版 5参考书:理论部分现代操作系统陈向群等译 机械工业出版社 “Operating System:Internals and Design Principles” 中文版:电子工业出版社 英文版:清华大学出版社“Operating System Concept” Abrahan Silberschatz,etc计算机操作系统 汤子瀛等 西安电子科技大学出版社6参考书:具体操作系统操作系统原理DOS篇 张昆苍 清华大学出版社Windows操作系统原理尤晋元等 机械工业出版社Windows 内核实验教程陈向群等编著机械工业出版社Linux Kernel中文版,电子读物深入分析L

3、inux内核源代码陈莉君编著人民邮电出版社7操作系统课程的特点新概念多,涉及面广:并行程序,性能问题,结构问题,程序方法论,软件工程,等等理论性强实践性强:从实践总结出原理结构复杂:各部分知识纵横交叉,密切相关8注意学习方法掌握实质、忌讳死记硬背,要善于发现问题、提出问题,并要努力寻求问题的答案提倡自主学习、拓宽知识,要通过自学、研读参考书深入理解和掌握教师课堂指出的要点内容理论与实践相结合,通过实验理解和验证所学理论9课程形式主课,习题课,讨论课作业,小论文及上机实验10平时成绩(30%): 作业(10%) ,上机实验(10%) ,小论文(10%)期末考试(70%):笔试考核方式和评分标准1

4、1本课程需要的基础知识具备C语言程序设计的基础知识粗通汇编语言编程略知微机系统结构,尤其是保护模式,分段、分页机制。12第一章 操作系统概论什么是操作系统?为什么学习操作系统?操作系统的发展史及常用的操作系统介绍操作系统做什么?操作系统的分类操作系统发展方向及影响因素操作系统的特征操作系统的功能操作系统的结构13什么是操作系统?操作系统的地位引入操作系统的目标操作系统的作用操作系统的组成 操作系统是计算机系统中的一个系统软件,是目前最复杂的软件成分14操作系统的地位计算机系统的组成15操作系统的地位操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)16引入操作系统的目标

5、提供一个计算机用户与计算机硬件系统之间的接口,使用户能够灵活、方便、有效地使用计算机有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用。合理地组织计算机系统的工作流程,以改善系统性能(如响应时间、系统吞吐量)。虚拟机的概念17引入操作系统的目标有效:q系统效率(如CPU用的充足与否)q资源利用率(如内存,外部设备是否忙碌)合理:q公平与否,如果不公平则会产生“死锁”或“饥饿”方便:q针对应用程序程序员和用户可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作18操作系统的作用(1)OS是计算机硬件、软件资源的管理者q管理对象

6、包括:CPU、存储器、外部设备、信息(数据和软件)q管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)19操作系统的作用(2)OS是用户使用系统硬件、软件的接口q系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI)q系统调用(形式上类似于过程调用,在应用编程中使用)20操作系统的作用(3)OS是扩展机(extended machine)/虚拟机(virtual machine)q在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU)q另外,为合理组织工作流程:作业管理、进程管理操作系统的非形式化定义(关键

7、点):系统软件,程序模块的集合,资源管理和用户接口功能21为什么学习操作系统?反对学习操作系统的理由q世界上只需要很少的操作系统设计/实现者qWindows 的垄断不易改变支持学习操作系统的理由q操作系统包括了所有软件设计/实现问题,包括资源共享/管理、安全和身份验证、灵活性,健壮性、友好界面设计*加深对使用的OS的理解,有利于深入编程*编程时借鉴操作系统的设计思想和算法q存在人们意识不到的大量“操作系统”,嵌入式系统(Embedded OS)q操作系统的性能是支撑软件和应用软件性能的基础q操作系统的安全是一切信息安全的基础 22操作系统的发展的主要动力推动操作系统发展的主要动力:“需求推动发

8、展”提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)器件的发展:CPU的位宽度(指令和数据)、快速外存。操作系统发展是随着计算机硬件技术的发展而发展的,目标:充分利用硬件23操作系统的历史变化! 意味着技术总在改变 要适应、折衷权衡24操作系统发展的四个阶段第1阶段:电子管时代(1946年-1955年)q手工计算第2阶段 晶体管时代(1955年-1965年)q单道批处理系统第3阶段:集成电路时代(1965年-70年代中)q多道批处理系统第4代阶段:大规模集成电路时代(70年代中-)q分时

9、系统、实时系统操作系统新的发展方向q网络系统、分布式系统、嵌入式系统25第1阶段:电子管时代(1946年-1955年)手工操作,没有OS集中计算(计算中心),计算机资源昂贵程序通过插板或卡片装入26没有操作系统之前的程序运行过程要运行一个作业,先将程序写在纸上(用高级语言或汇编语言)然后穿孔成卡片,再将卡片盒交给操作员计算结果从打印机上输出操作员到打印机上撕下运算结果送到输出室程序员稍后可从取到结果然后,操作员从输入室的卡片盒中读入另一个任务如果需要FORTRAN编译器,还要把它取来读入计算机机时在走来走去时被浪费27第1阶段的特点工作方式q用户:用户既是程序员,又是操作员;用户是计算机专业人

10、员q编程语言:为机器语言q输入输出:纸带或卡片计算机的工作特点q用户独占全机:不出现资源被其他用户占用,资源利用率低;qCPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低主要矛盾q计算机处理能力的提高,手工操作的低效率(造成浪费);q用户独占全机的所有资源提高效率的途径q专门的操作员,批处理28第2阶段:晶体管时代(1955年-1965年)利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理程序设计语言诞生:qFORTRAN 1954年提出,1956年设计完成qALGOL 1958年引入qCOBOL 19

11、59年引入设计人员、操作人员、程序人员和维护人员之间有了明确的分工29单道批处理操作系统- 现代操作系统雏型批处理中的作业的组成q用户程序q数据q作业说明书(作业控制语言)批q供一次加载的磁带或磁盘,通常由若干个作业组装成,在处理中使用一组相同的系统软件(系统带)30单道批处理操作系统-联机批处理用户提交作业:以纸带或卡片为介质;操作员合成批作业:结果为磁带介质;批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态31单道批处理

12、操作系统-脱机批处理利用卫星机完成输入输出功能。主机与卫星机可并行工作卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成如装入程序、编译、运行等操作。优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)32通道和中断技术60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运

13、行,实现CPU与I/O的并行。q通道有专用的I/O处理器,可与CPU并行工作q可实现 I/O联机处理中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原来断点继续工作。q中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务q可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)监督程序发展为执行系统(executive system),常驻内存33典型的单道批处理操作系统典型操作系统qFMS(FORTRAN Monitor System,FORTRAN监控系统)qIBMSYS(IBM为7

14、094机配备的操作系统)q这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成34单道批处理操作系统的不足 在IBM 7094机上,若当前作业因等待I/O而暂停, CUP只能踏步直至该I/O完成CPU和I/O设备使用忙闲不均(取决于当前作业的特性)q对于CPU操作密集科学计算问题,浪费时间少q对于商业数据处理,I/O等待时间常占8090解决方案q多道批处理技术35第3阶段:集成电路时代(1965年-70年代)多道批处理操作系统q将内存分几个部分,每部分放不同的作业q当一个作业等待I/O时,另一个作业可以使用CPUq在主存中同时驻留多个作业需要硬件进行保护,以避免信息被窃取或攻击多道批处

15、理的运行特征q多道:内存中同时存放多道相互独立的程序q宏观上并行:宏观上,系统中的多道程序都在运行,在一定的时间间隔内都取得进展q微观上串行:在任意时刻,只有一道程序占有CPU 36Spooling 技术程序卡片被拿到机房后能够很快将一作业从卡片读入磁盘任何时刻当一作业运行结束操作系统就将一新作业从磁盘读出装入空出的内存区运行Spooling技术q(Simultaneous Peripheral Operation On Line)该技术也用于输出37多道批处理系统的特点优点:q资源利用率高:CPU和内存利用率较高;q作业吞吐量大:单位时间内完成的工作总量大;缺点:q用户交互性差:整个作业完成

16、后或中间出错时,才与用户交互,不利于调试和修改;q作业平均周转时间长:短作业的周转时间显著增长;问题的解决导致分时系统的出现时间时间CPUI/O设备设备ABCABC38分时系统分时系统实际上是多道程序的一个变种,分时系统的思想于1959年在MIT提出“分时”的含义q分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源*多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停*前台和后台程序(foreground & background)分时:后台程序不占

17、用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台*通常按时间片(time slice)分配:各个程序在CPU上执行的轮换时间39抢先式和非抢先式抢先式和非抢先式(preemptive & non-preemptive):出让CPU是OS强迫或程序主动q抢先式:OS强近出让CPU;q非抢先式:程序主动出让CPU;40分时系统的特点分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理缩短响应时间q人机交互性好:在调试和运行程序时由用户自己操作q共享主机:多个用户同时使用q用户独立性:对每个用户而言好象独占主机现在的许多

18、操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等41最初的从分时系统第一个分时系统由 MIT的Fernando Corbato 等1961年在一改装的IBM 7090/94机上开发成功q当时有32个交互式用户qIBM 7090/94计算机有32K内存,系统用5K,用户用27K,用户存储映象在内存和一台磁鼓之间切换1962年Manchester大学的Atlas计算机投入运行q运行速度200 kFLOPSq第一个有虚拟存储器(virtual memory)和页面调度(paging) 的机器42实时系统(real-time system)用于

19、工业过程控制、军事实时控制、金融等领域,包括实时控制和实时信息处理两种要求:响应时间短,在一定范围之内;系统可靠性高任务的类型:q周期性实时任务:q非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间) 目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。通用化、小型化43系列机思想与IBM System/360系统需求q多数厂商有几条完全不同的生产线,生产不同的计算机,开发和维护完全不同的产品,对厂商来说是昂贵的q另外,新用户

20、在开始时只需要一台小计算机,后来可能需要一台大的计算机,而且希望能在新计算机上执行原有的程序。这样,厂家和用户需要软件在不同型号的计算机之间兼容1964 年IBM 宣布推出System/360计算机系统q是第一个采用小规模集成电路的主流机型q所有的计算机都有相同的体系结构和指令集q在理论上,为一型号编写的程序可以在其他型号机器上 运行44IBM System/360面临的困境IBM无法写出同时满足互冲突需要的操作系统,其实别人也一样不能完成这项工作任务数千名程序员写的数百万行汇编语言代码,系统自身占据了大量存储空间和一半的CPU时间数百万行汇编代码中有成千上万处错误,IBM不断发行新的版本试图

21、更正这些错误每个新版本在更正老错误的同时又引入新错误,所以随着时间的流逝,错误的数量大致保持不变IBM 的 OS/360 发布时,带着已知的 1000 个错误这便是软件危机这便是软件危机, , 软件工程应运而生软件工程应运而生45MULTICS的灾难1965年MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”, 希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICSMULTICS设计目标是:q便利的远程终端使用,大量终端通过电话线接入计算机主机MULTICS研制难度超出了所有人预料q长期研制工作达不到预期目标,1969年4月贝尔实验室退出,不久通用电气公司也退出了MU

22、LTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的影响46提出的新问题易于使用,提高人的生产力合理的响应时间引入文件系统,使用户可存取数据47解决办法需要抢占式调度,以便保持适当的响应时间需要避免抖动(程序在内存中过于频繁的对换)需要提供适用的安全检测48UNIX的诞生1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M. Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-

23、7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件系统、实用程序、shell 和汇编程序到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX1972年,UNIX用C语言全部重写,自此,UNIX诞生了49UNIX的崛起贝尔实验室免费向各大学提供UNIX供教学、科研使用,版本6以前源代码公开,因此变得很流行促使UNIX系统成功的因素: q首先,由于UNIX是用C语言编写,因此它是可移植的q第二,系统源代码非常有效,系统容易适应特殊的需求q最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统UNIX的典型版本qSystem V,

24、 BSDqSolaris, AIX, HPUnix, IRIX, SCO 50MINIX的出现在AT&T公布版本7时开始认识到UNIX的商业价值,于是禁止在课程中研究其源代码为了教学的需要,1987年荷兰籍教授Andrew S. Tanenbaum编写了一个在PC机上运行的类“UNIX”的操作系统MINIX,用于教学目的MINIX没有借用AT&T的一行源代码,其名称源于“小UNIX”同样采用c语言编码,代码采用了比UNIX更模块化的组织方法采用了微内核的结构,不包括Unix的Shell和许多工具程序51第4代阶段:大规模集成电路时代(1980年-)个人计算机的诞生q1975年4月,MITS公司

25、推出了以8080为CPU的世界上第一台个人计算机Altair 8800,它的内存只有1K字节,当时的价格为375美元。Altair 8800的BASIC语言解释器来自Bill Gatesq1975年,MOS Technology公司推出了MC6501和MC6502两款8位微处理器芯片,它们的价格分别为20美元和25美元,而当时Intel 8080的价格为150美元。q日后Steve Jobs在组装Apple II微型计算机时,采用了比较便宜的MC6502。Apple II具有4KB RAM、16KB ROM、键盘、游戏杆、8个扩充插槽以及彩色显示器,是世界上第一台能够显示彩色图形的个人计算机。

26、Apple II一经推出便在市场上迅速走红,为成立不久的Apple带来滚滚财源,Apple II的热潮一直持续到80年代初PC机的出现,推动了LAN的发展q网络:允许不同机器很容易共享资源52个人计算机操作系统个人计算机操作系统的特征q放弃多道程序、并发和保护机制,使 OS 回归简单q使用户再次与系统交互q增强文件系统q响应时间、保护更为重要常用的个人计算机操作系统q单用户单任务:MS DOSq单用户多任务:Windowsq多用户多任务:Linux, UNIX, FreeBSD53MS个人计算机的成功,逼得IBM采取紧急战略行动,决定要在1980年尽快生产出微型计算机,以应付挑战但没有操作系统

27、不行。要想快就是找现成系统配套,IBM公司洽谈 CP/M操作系统不顺利,机遇落到了微软公司在关键时刻,开发新操作系统时间和人手上已经不可能,微软找到西雅图计算机产品公司,用5万美圆的价格购买了西雅图计算机产品公司的QDOS操作系统当时西雅图公司并不知道QDOS将被转卖给IBM,否则历史将会怎样演变,谁也无法知晓54MS DOSIBM在1981年推出个人计算机,宣布了DOS操作系统随着IBM PC和MS DOS普及,CP/M逐渐走向下坡路MS DOS有优良的文件系统但受到Intel x86体系结构的限制缺乏以硬件为基础的存储保护机制它属于单用户单任务操作系统从1981的 1.0版到1998年在W

28、indows 95/98之下的7.0版,MS DOS历经了16个年头55苹果公司的困境与机遇在推出IBM PC后,市场非常成功,苹果公司推出Lisa机遭到失败,Apple III型也遭到失败1979年苹果公司允许施乐公司购买一百万股的苹果公司股票作为回报,施乐公司允许苹果公司的少数人员,包括乔布斯,在有限的时间内考察施乐公司Palo Alto研究中心内部,并同该思想库的研究人员交谈苹果公司对Palo Alto研究中心内的技术大感吃惊:施乐公司在拥有这些宝贵技术的同时竟然什么也没有做!56Palo Alto70年代计算机研究思想库图形界面手持鼠标面向对象程序设计微机网络桌面出版和激光打印57Ma

29、cintosh(MAC OS)在访问的基础上,苹果决定立即开发采用这些新技术的个人计算机1984年,人们看到一则广告:“What was that?”和对Macintosh的介绍, 这是配有图形界面操作系统 MAC OS和鼠标的新型个人计算机MAC机一上市立即在市场上获得极大的成功当年比尔.盖茨曾经购买了一台Macintosh作为礼物送给母亲Macintosh把苹果公司从连续的失败中拯救出来,苹果公司又开始向前发展正是Mac先进图形界面操作系统技术,超前PC机若干年,造就了一批苹果的忠实追随者58一波三折的微软Windows操作系统1983年10月,PC机竞争厂家的图形界面相关产品上市面对市场

30、压力,比尔.盖茨在1983年11月10日宣布推出Windows操作系统然而宣布容易,交货就不简单了,Windows交货期的灾难,成了当年计算机界的笑柄直到1985年11月20日,Windows 1.0才正式上市59Windows的历史记录Windows在当时微软历史上创了几个记录:延迟交货次数最多,投入开发人员最多,开发时间最长,更换主管人员最多不过几年之后,Windows终于创造了销售成绩最佳的历史记录1992年4月,推出Windows 3.1, 1993年5月,发表Windows NTWindows 95,Windows CE,Windows 98,Windows 2000,Windows

31、 XP,.net个人计算机采用Windows占90以上,微软公司成了垄断PC行业的同义词60Windows操作系统的发展历程61IBM大型计算机操作系统OS/39090年代末期,电子商务发展刺激对计算能力的要求,导致大型机市场的再度升温三十年的改进,IBM S/390已成为有高可靠性、可扩展性、及安全可用性的现代大型计算机系统支持即UNIX 95标准,UNIX应用程序可在IBM OS/390上运行同时还可继续运行S/390应用程序,包括S/370上开发的应用程序包括TCP/IP的多种通信协议,具有高网络安全性采用面向对象程序设计、并行处理、分布式处理以及客户机/服务器技术,具有较强的互操作性、

32、可移植性与可扩展性62OS390的意义由于历史渊源,OS/390有不同的系统运行方式:qS/370本机模式,支持原先在S/370运行的程序qESA/390模式,支持到10个240M处理器内存和256个通道qESA/390 LPAR模式,系统可分成最多十个部分,每个部分有自己的CPU,存储器和通道,且分别运行不同的操作系统,如S/370, ESA/370 和ESA/390等在PC机时代,人们曾经估计大型计算机会衰亡, IBM S/390是大型计算机复活的一个典型,那么,在21世纪的Internet和后PC的时代,大型机前景如何?63嵌入式操作系统的代表VxWorksVxWorks支持各种工业标准

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

34、 ColdFire, R3000, R4000, C16X, ARM, MIPS等在“极地登陆者”号,“深空二号”和火星气候轨道器等登陆火星探测器上,就采用了VxWorksVxWorks负责火星探测器全部飞行控制,包括飞行纠正、载体自旋和降落时的高度控制等,而且还负责数据收集和与地球的通信工作目前在国内也占据嵌入式开发系统市场主要份额65Linux的产生基础1991年初开始,因不满MINIX的缺乏实用性,芬兰大学生Linus详细研究386-MINIX,并逐步产生了编写一个新的386平台操作系统的想法在开发新操作系统的过程,Linus使用了大量的GNU软件,包括gcc。GNU是FSF支持的免费操

35、作系统开发计划同时,他也实现了与POSIX标准兼容。 POSIX是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行66Linux的诞生1991 年10 月5 日,Linus 在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)Linus 申明他开发的操作系统没有使用一行minix 的源代码Linux采用宏内核结构,Linus在设计时大量参考了系统

36、V的,所以说Linux是UNIX的延续67Linux的技术特点(1)符合POSIX 1003.1标准,支持部分BSD和System V的系统接口qPOSIX 1003.1标准定义了一个最小的UNIX操作系统接口支持多用户、多任务采用虚拟内存管理技术q支持请求页式虚拟内存管理技术q支持缓冲机制(设备缓冲区缓存、页面缓存和交换缓存)68Linux的技术特点(2)支持动态链接支持多种文件系统支持大部分GNU软件可利用DOS/Windows模拟器运行DOS和Windows程序全面支持TCP/IP网络69Linux和Linux内核的关系通常所说的Linux是指Linux内核和运行于内核之上的各种管理程序

37、和应用程序内核只是Linux操作系统的一部分Linux的商业发行版本很多,常见的有Redhat、Turbo、嵌入式Linux、实时Linux等等70商业发行版的特点商业发行版增加了q安装程序、X Windows、各种编程语言、网络支持软件、各种服务器软件、Java核心支持q中文平台、应用软件、游戏等q更重要的是可以提供技术支持商业版本的版本号和内核的版本号没有统一的对应关系71Linux内核的版本Linux内核的版本q版本号的格式:x.yy.zzx,y,z介于0到9之间x表示内核的设计在技术上有重大改变;yy偶数时表示发行版,代码运行稳定,奇数进表示开发版本,技术最新;zz则表示仅对前一版本有

38、些微小改变qLinux内核的0.0.2版本在1991年公开发行,2.2版本1999年1月发行q目前最新版本是2.672Linux内核的版权尽管源代码公开,但受FSF(自由软件基金会)的版权规则GPL(General Public License)的制约详细规定见/usr/src/linux/COPYING73Linux内核源代码的获取方式商业发行版本附带的发行版内核,通常不是最新的中国自由软件库http:/(最新版)发行商网站官方网站74操作系统领域中新的操作系统有线电视机顶盒领域, PowerTV移动通信领域,EPOC掌上计算机领域,Palm OS数字影像领域, Digita75研究中的新的

39、操作系统哈佛大学的VINO,使应用得以重用内核构件犹他州大学的OSKit,提供构造操作系统所需的基础构件,也提供高层次构件。OSKit可用来构造新的OSMIT Exokernel,该系统只有一个极小的核。系统抽象通过Library Operating System完成加州大学伯克利分校NOW集群操作系统,100台Ultra SPARC-I处理机集群,排名于世界最快的200台超级计算机之内NASA空间飞行中心(GSFC)研制Beowulf项目开始于1994年,用商业化的微型计算机,Linux和以太网等构造集群。已有世界各地的约六十个大学和研究机构在使用76国内操作系统的研制状况60年代末至70年

40、代初,杨芙清主持的我国第一台百万次集成电路计算机(150)操作系统支持多道程序运行,在石油勘探领域成功应用70年代中后期,杨芙清的我国第一个全部用高级语言书写的DJS240机操作系统DJS200/XT2GX73多机实时操作系统(1978年)q国防科技大学,1980年装在“远望”-I 号航天测量船上,完成了向太平洋发射运载火箭、潜水艇水下发射的测控任务;完成了我国第一颗同步地球卫星的测控、定轨、控制任务77国内操作系统的研制状况(续)“银河”-1 YHOS巨型操作系统(1983年)国防科技大学,用于YH-1、YH-2超级计算机,用于我国的石油勘探、天气预报和核物理研究 COSIX v 1.X/2

41、.0 国产UNIX类操作系统(国家八五、九五重点科技攻关成果,以中软为首,联合国内18个单位共同完成)q微内核结构,安全级别超过B1,中文界面嵌入式操作系统Hopen(女娲计划)Linux类操作系统 78操作系统做什么?#include int main(int argc, char *argv) printf(“%sn”,hello world); return 0; 重要概念:进程,文件,系统调用79Hello执行过程(1)用户告诉操作系统执行hello程序操作系统找到该程序,检查其类型检查程序首部,找出正文和数据的地址文件系统找到第一个磁盘块父进程需要创建一个新的子进程,执行hello程

42、序80Hello执行过程(2)操作系统需要将执行文件映射到进程结构操作系统设置CPU上下文环境,并跳到程序开始处程序的第一条指令执行,失败,缺页中断发生操作系统分配一页内存,并将代码从磁盘读入,继续执行81Hello执行过程(3)更多的缺页中断,读入更多的页面程序执行系统调用,在文件描述符中写一字符串操作系统检查字符串的位置是否正确操作系统找到字符串被送往的设备设备是一个伪终端,由一个进程控制82Hello执行过程(4)操作系统将字符串送给该进程该进程告诉窗口系统它要显示字符串窗口系统确定这是一个合法的操作,然后将字符串转换成像素窗口系统将像素写入存储映像区83Hello执行过程(5)视频硬件

43、将像素表示转换成一组模拟信号控制显示器(重画屏幕)显示器发射电子束你在屏幕上看到hello world84测测你的计算机基础知识描述计算机的启动过程描述两台连网计算机的数据传输过程描述键盘输入到屏幕的显示过程85单道、多道、分时、实时的比较86单道和多道批处理的比较共同目的是提高CPU的利用率87多道批处理系统上的技术作业调度:作业的现场保存和恢复上下文切换资源共享:资源的竞争和同步互斥(exclusion)和同步(synchronization)机制内存使用:提高内存使用效率(为当前由CPU执行的程序提供足够的内存)覆盖(overlay),交换(swap)和虚拟存储(virtual memo

44、ry)内存保护:系统存储区和各应用程序存储区不可冲突存储保护文件非顺序存放、随机存取出现:作业管理、处理机管理、存储管理、设备管理、文件系统管理(file system)88分时目的是提高响应速度(秒级)89分时系统的类型单道分时:调入-调出(Roll-in/Roll-out),I/O开销太大(在有卫星机处理I/O时,单道分时是有用的)前台后台分时:后台存放批处理作业,内存的划分是固定的,不灵活多道分时:需要解决加载程序时地址空间重定位的问题90实时目的是进一步提高响应速度(毫秒、微秒级)响应时间:指用户发出命令,到系统完成用户命令所需的时间q批处理操作系统 没有q分时操作系统 秒级(一般情况

45、)q实时操作系统 毫秒、微秒级 甚至更小 91实时系统与批处理和分时系统的区别专用系统:许多实时系统是专用系统,而批处理与分时系统通常是通用系统实时控制:实时系统用于控制实时过程,要求对外部事件的迅速响应,具有较强的中断处理机构高可靠性:实时系统用于控制重要过程,要求高度可靠,具有较高冗余。如双机系统事件驱动和队列驱动:实时系统的工作方式:接受外部消息,分析消息,调用相应处理程序进行处理。可与通用系统结合成通用实时系统:实时处理前台作业,批处理为后台作业92当代操作系统的两大发展方向在当代,操作系统的发展正在呈现更加迅猛的发展态势从规模上看,操作系统向着大型和微型的两个不同的方向发展着q大型系

46、统的典型是分布式操作系统和群集操作系统q而微型系统的典型则是嵌入式操作系统93多处理机操作系统多处理操作系统的出现是为了提高计算机系统性能和可靠性提高性能有两条途径:提高各个组成部分的速度、增大处理的并行程度。1975年前后,出现多处理机系统(multi-processor)多处理机系统的特点q增加系统的吞吐量:N个处理器加速比达不到N倍(额外的调度开销,算法的并行化)q提高系统可靠性:故障时系统降级运行94多处理机系统的类型紧密耦合(tightly-coupled):q各处理机之间通过快速总线或开关阵列相连,共享内存,整体系统由一个统一的OS管理(一个OS核心)。松散耦合(loosely-c

47、oupled):q各处理机带有各自的存储器、I/O设备和操作系统,通过通道或通信线路相连。每个处理机上独立运行OS95多处理机系统的类型非对称式多处理(Asymmetric Multiprocessing, ASMP):又称主从模式(Master-slave mode)。q主处理器:只有一个,运行OS。管理整个系统的资源,为从处理器分配任务;q从处理器:可有多个,执行应用程序或I/O处理。q特点:不同性质任务的负载不均,可靠性不够高,不易移植(通常要求硬件也是“非对称”)96多处理机系统的类型对称式多处理(Symmetric Multiprocessing, SMP):qOS交替在各个处理器上

48、执行。q任务负载较为平均,性能调节容易傻瓜式97对称多处理机与非对称多处理机的比较98网络操作系统 网络操作系统是在通常操作系统功能操作系统功能的基础上提供网络通信和网络服务功能网络通信和网络服务功能的操作系统。网络操作系统为网上计算机进行方便而有效的网网络资源共享络资源共享,提供网络用户所需各种服务的软件和相关规程的集合。 网络功能与操作系统的结合程度网络功能与操作系统的结合程度是网络操作系统的重要性能指标。早期的作法是通常操作系统附加网络软件附加网络软件,过渡到网络功能成为操作系统的有机组成部分有机组成部分。它们的区别在于:网络功能的强弱、使用是否方便等99网络操作系统的功能和定义通常操作

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

50、分布式OS是在各机上统一建立的(OS同质),直接管理CPU、存储器和外设;统一进行全系统的管理;q网络通常容许异种OS互连,各机上各种服务程序遵从统一的网络协议(协议同质)。并行性:q分布式OS可以将一个进程分散在各机上并行执行(进程迁移);q网络则各机上的进程独立102分布式操作系统与网络操作系统的比较透明性:用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。q分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;q网络操作系统中对网络资源的使用要由用户明确指定;健壮性:分布式系统要求更强的容错能力(工作时系统重构)103嵌入式操作系统是运行在嵌入式智能芯片环境中,对整个

51、智能芯片以及它所操作、控制的各种部件装置等等资源进行统一协调、调度、指挥和控制的系统软件104嵌入式操作系统的特点完成某一项或有限项功能;不是通用型的在性能和实时性方面有严格的限制能源、成本和可靠性通常是影响设计的重要因素占有资源少、易于连接系统功能可针对需求进行裁剪、调整和生成,以便满足最终产品的设计要求105嵌入式操作系统的应用智能卡智能卡移动通信移动通信计算机外设计算机外设机顶盒机顶盒零售设备零售设备印刷机印刷机复印机复印机互联网服务器互联网服务器电话交换设备电话交换设备106影响操作系统发展的因素硬件(成本)新技术(支持)使用户/程序员开心(使用方式)107操作系统的特征并发(conc

52、urrency)共享(sharing)虚拟(virtual)异步性(asynchronism)108并发(concurrency)并发:两个或多个事件在同一时间间隔内发生并行:两个或多个事件在同一时刻内发生操作系统是一个并发系统q各进程间的并发q系统与应用间的并发操作系统要完成这些并发过程的管理109并发(concurrency)在多道程序处理时,宏观上并发,微观上交替执行(在单处理器情况下)程序的静态实体是可执行文件,而动态实体是进程(或称作任务),并发指的是进程110共享(sharing)多个进程共享有限的计算机系统资源。操作系统要对系统资源进行合理分配和使用资源在一个时间段内交替被多个进

53、程所用q互斥共享(如音频设备):资源分配后到释放前,不能被其他进程所用。q同时访问(如可重入代码,磁盘文件)111虚拟(virtual)一个物理实体映射为若干个对应的逻辑实体分时或分空间虚拟是操作系统管理系统资源的重要手段,可提高资源利用率qCPU每个用户(进程)的虚处理机q存储器每个进程都占有的地址空间(指令数据堆栈)q显示设备多窗口或虚拟终端(virtual terminal)112异步性(asynchronism)也称不确定性,指进程的执行顺序和执行时间的不确定性进程的运行速度不可预知:分时系统中,多个进程并发执行,时走时停,不可预知每个进程的运行推进快慢q无论快慢,应该结果相同通过进程

54、互斥和同步手段来保证113异步性(asynchronism)难以重现系统在某个时刻的状态(包括重现运行中的错误)性能保证:实时系统与分时系统相似,但通过资源预留以保证性能114操作系统的服务服务类型q程序执行和终止(包括分配和回收资源)qI/O操作q文件系统操作q通信:本机内,计算机之间(通常通信服务的使用者为进程,而不是笼统说主机)q配置管理:硬件、OS本身、其他软件q差错检测服务提供方式:系统命令和系统调用115操作系统的功能处理机管理存储管理文件管理设备管理作业管理116处理机管理为了提高CPU的利用率 ,现代操作系统大都采用多道程序技术。如果一个程序因等待某一条件而不能运行下去时,就把

55、处理器占用权转交给另一个可运行程序。或者,当出现了一个比当前运行的程序更重要的可运行的程序时,后者应能抢占CPU。为了描述多道程序的并发执行,引入了进程的概念。所以处理机管理通常也称为进程管理。117处理机管理进程控制进程同步进程通信进程调度118存储管理任务q为多道程序的并发提供良好的环境q便于用户使用存储器q提高存储器利用率q为尽量多的用户提供足够大的存储空间119存储管理功能q内存分配:静态和动态分配q内存保护(隔离)q地址影射(共享)q内存扩充(虚存)存储功能与硬件存储器的组织结构密切相关120文件管理文件存储空间的管理目录管理文件读、写管理文件保护向用户提供接口121文件管理 文件管

56、理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件122设备管理任务q为用户程序分配I/O设备q完成用户程序请求的I/O操作q提高CPU和I/O设备的利用率:中断;通道q改善人机界面123设备管理功能q缓冲管理q设备分配q设备处理q虚拟设备功能为了发挥设备和处理器的并行工作能力,设备管理广泛采用虚拟技术和缓冲技术124作业管理作业调度作业控制q批量型作业q终端型作业 作业管理即用户接口,它的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行125操作系统结构随着操作系统的发展,功能越强,

57、OS自身代码量越大采用良好的结构:有利于保证正确性以及自身修改和扩充q整体或模块结构q分层结构或虚拟机q客户/服务器模型或微内核结构126整体或模块结构模块结构的特点:模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程整个系统按功能进行设计和模块划分。系统是一个单一的、庞大的的软件系统。这种结构思想来源于服务功能观点,而不是资源管理的观点。127整体或模块结构的特点优点:具有一定灵活性,在运行中的高效率缺点:q功能划分和模块接口难保正确和合理;q模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性不利于修改128分层结构或虚拟机从资源管理观点出

58、发,划分层次在某一层次上代码只能调用低层次上的代码,使模块间的调用变为有序性系统每加一层,就构成一个比原来功能更强的虚拟机。有利于系统的维护性和可靠性129分层结构的特点优点q功能明确,调用关系清晰(高层对低层单向依赖),有利于保证设计和实现的正确性q低层和高层可分别实现(便于扩充);高层错误不会影响到低层;避免递归调用缺点q降低了运行效率各系统对具体划分多少层次有不同的看法130客户/服务器模型或微内核结构把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递)微内核(micro-kernel):将更多操作系统功能放在核

59、心之外,作为独立的服务进程运行;q服务进程(或称作“保护子系统”)q客户进程(系统客户和应用客户)需支持多进程131客户/服务器模型或微内核结构本地过程调用 (LPC, Local Procedure Call):一种进程之间请求-应答式的消息(Message)传递机制。消息:是一定格式的数据结构。发起调用,送出请求消息请求消息到达并进行处理送出回答消息整理回答消息,返回结果;如:对文件create, read, write132微内核模式的特点优点:q良好的扩充性:只需添加支持新功能的服务进程即可q可靠性好:调用关系明确,执行转移不易混乱q便于网络服务,实现分布式处理:以同样的调用形式,在下层可通过核心中的网络传送到远方服务器上 (远地过程调用 RPC, Remote Procedure Call)缺点:q消息传递比直接调用效率要低一些 (但可以通过提高硬件性能来补偿 )RPC的过程:RPC应用程序RPC Stub(client)NetworkRPC Server进行本地调用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号