新编操作系统62课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《新编操作系统62课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新编 操作系统 62 课件
- 资源描述:
-
1、1操作系统操作系统The Principles of Operating Systems主讲教师:原仓周 yuancangzhoubuaa.edu辅导教师:刘芸tinacse.buaa.edu北航软件学院2操作系统教学目标和教学模式操作系统是一门涉及较多硬件知识的计算机系统软件课程,在计算机软、硬件课程的设置上,起着承上启下的作用本课程的目的与任务是q使学生理解操作系统的基本原理、组成、基本概念和主要功能目前国内外操作系统课程的教学主要有两种模式:q侧重理论与原理的讲述,不局限于具体实例q结合具体实例,讲述操作系统的实现技术3操作系统本课程的教学目的掌握操作系统的工作原理学习软件设计的思想方法
2、了解Linux/windows的技术方法4操作系统教材操作系统原理 Linux篇徐德明 编著国防工业出版社2019年1月第1版 5操作系统参考书:理论部分现代操作系统陈向群等译 机械工业出版社 “Operating System:Internals and Design Principles”中文版:电子工业出版社 英文版:清华大学出版社“Operating System Concept”Abrahan Silberschatz,etc计算机操作系统 汤子瀛等 西安电子科技大学出版社6操作系统参考书:具体操作系统操作系统原理DOS篇 张昆苍 清华大学出版社Windows操作系统原理尤晋元等 机
3、械工业出版社Windows 内核实验教程陈向群等编著机械工业出版社Linux Kernel中文版,电子读物深入分析Linux内核源代码陈莉君编著人民邮电出版社7操作系统操作系统课程的特点新概念多,涉及面广:并行程序,性能问题,结构问题,程序方法论,软件工程,等等理论性强实践性强:从实践总结出原理?结构复杂:各部分知识纵横交叉,密切相关8操作系统注意学习方法掌握实质、忌讳死记硬背,要善于发现问题、提出问题,并要努力寻求问题的答案提倡自主学习、拓宽知识,要通过自学、研读参考书深入理解和掌握教师课堂指出的要点内容理论与实践相结合,通过实验理解和验证所学理论9操作系统课程形式主课,习题课,讨论课作业,
4、小论文及上机实验10操作系统平时成绩(30%):作业(10%),上机实验(10%),小论文(10%)期末考试(70%):笔试考核方式和评分标准11操作系统本课程需要的基础知识具备C语言程序设计的基础知识粗通汇编语言编程略知微机系统结构,尤其是保护模式,分段、分页机制。12操作系统第一章 操作系统概论什么是操作系统?为什么学习操作系统?操作系统的发展史及常用的操作系统介绍操作系统做什么?操作系统的分类操作系统发展方向及影响因素操作系统的特征操作系统的功能操作系统的结构13操作系统什么是操作系统?操作系统的地位引入操作系统的目标操作系统的作用操作系统的组成 操作系统是计算机系统中的一个系统软件,是
5、目前最复杂的软件成分14操作系统操作系统的地位计算机系统的组成15操作系统操作系统的地位操作系统的地位:紧贴系统硬件之上,所有其他软件之下(是其他软件的共同环境)计算机硬件操作系统系统工具应用软件应用用户应用开发人员操作系统开发人员16操作系统引入操作系统的目标提供一个计算机用户与计算机硬件系统之间的接口,使用户能够灵活、方便、有效地使用计算机有效地控制和管理计算机系统中的各种硬件和软件资源,使之得到更有效的利用。合理地组织计算机系统的工作流程,以改善系统性能(如响应时间、系统吞吐量)。虚拟机的概念17操作系统引入操作系统的目标有效:q系统效率(如CPU用的充足与否)q资源利用率(如内存,外部
6、设备是否忙碌)合理:q公平与否,如果不公平则会产生“死锁”或“饥饿”方便:q针对应用程序程序员和用户可扩充性(开放的观点):硬件的类型和规模、操作系统本身的功能和管理策略、多个系统之间的资源共享和互操作18操作系统操作系统的作用(1)OS是计算机硬件、软件资源的管理者q管理对象包括:CPU、存储器、外部设备、信息(数据和软件)q管理的内容:资源的当前状态(数量和使用情况)、资源的分配、回收和访问操作,相应管理策略(包括用户权限)19操作系统操作系统的作用(2)OS是用户使用系统硬件、软件的接口q系统命令(命令行、菜单式、命令脚本式、图形用户接口GUI)q系统调用(形式上类似于过程调用,在应用编
7、程中使用)20操作系统操作系统的作用(3)OS是扩展机(extended machine)/虚拟机(virtual machine)q在裸机上添加:设备管理、文件管理、存储管理(针对内存和外存)、处理机管理(针对CPU)q另外,为合理组织工作流程:作业管理、进程管理操作系统的非形式化定义(关键点):系统软件,程序模块的集合,资源管理和用户接口功能21操作系统为什么学习操作系统?反对学习操作系统的理由q世界上只需要很少的操作系统设计/实现者qWindows 的垄断不易改变支持学习操作系统的理由q操作系统包括了所有软件设计/实现问题,包括资源共享/管理、安全和身份验证、灵活性,健壮性、友好界面设计
8、*加深对使用的OS的理解,有利于深入编程*编程时借鉴操作系统的设计思想和算法q存在人们意识不到的大量“操作系统”,嵌入式系统(Embedded OS)q操作系统的性能是支撑软件和应用软件性能的基础q操作系统的安全是一切信息安全的基础 22操作系统操作系统的发展的主要动力推动操作系统发展的主要动力:“需求推动发展”提高资源的利用率和系统性能:计算机发展的初期,计算机系统昂贵,用作集中计算方便用户:用户上机、调试程序,分散计算时的事务处理和非专业用户(商业和办公、家庭)器件的发展:CPU的位宽度(指令和数据)、快速外存。操作系统发展是随着计算机硬件技术的发展而发展的,目标:充分利用硬件23操作系统
9、操作系统的历史变化!意味着技术总在改变 要适应、折衷权衡24操作系统操作系统发展的四个阶段第1阶段:电子管时代(1946年-1955年)q手工计算第2阶段 晶体管时代(1955年-1965年)q单道批处理系统第3阶段:集成电路时代(1965年-70年代中)q多道批处理系统第4代阶段:大规模集成电路时代(70年代中-)q分时系统、实时系统操作系统新的发展方向q网络系统、分布式系统、嵌入式系统25操作系统第1阶段:电子管时代(1946年-1955年)手工操作,没有OS集中计算(计算中心),计算机资源昂贵程序通过插板或卡片装入26操作系统没有操作系统之前的程序运行过程要运行一个作业,先将程序写在纸上
10、(用高级语言或汇编语言)然后穿孔成卡片,再将卡片盒交给操作员计算结果从打印机上输出操作员到打印机上撕下运算结果送到输出室程序员稍后可从取到结果然后,操作员从输入室的卡片盒中读入另一个任务如果需要FORTRAN编译器,还要把它取来读入计算机机时在走来走去时被浪费27操作系统第1阶段的特点工作方式q 用户:用户既是程序员,又是操作员;用户是计算机专业人员q 编程语言:为机器语言q 输入输出:纸带或卡片计算机的工作特点q 用户独占全机:不出现资源被其他用户占用,资源利用率低;q CPU等待用户:计算前,手工装入纸带或卡片;计算完成后,手工卸取纸带或卡片;CPU利用率低主要矛盾q 计算机处理能力的提高
11、,手工操作的低效率(造成浪费);q 用户独占全机的所有资源提高效率的途径q 专门的操作员,批处理28操作系统第2阶段:晶体管时代(1955年-1965年)利用磁带把若干个作业分类编成作业执行序列,每个批作业由一个专门的监督程序(Monitor)自动依次处理程序设计语言诞生:q FORTRAN 1954年提出,1956年设计完成q ALGOL 1958年引入q COBOL 1959年引入设计人员、操作人员、程序人员和维护人员之间有了明确的分工29操作系统单道批处理操作系统-现代操作系统雏型 批处理中的作业的组成q用户程序q数据q作业说明书(作业控制语言)批q供一次加载的磁带或磁盘,通常由若干个作
12、业组装成,在处理中使用一组相同的系统软件(系统带)30操作系统单道批处理操作系统-联机批处理用户提交作业:以纸带或卡片为介质;操作员合成批作业:结果为磁带介质;批作业处理:对批作业中的每个作业进行相同的处理:从磁带读入用户作业和编译链接程序,编译链接用户作业,生成可执行程序;启动执行;执行结果输出。这时的问题:慢速的输入输出处理仍直接由主机来完成。输入输出时,CPU处于等待状态31操作系统单道批处理操作系统-脱机批处理利用卫星机完成输入输出功能。主机与卫星机可并行工作卫星机:完成面向用户的输入输出(纸带或卡片),中间结果暂存在磁带或磁盘上。作业控制命令由监督程序(monitor)来执行,完成如
13、装入程序、编译、运行等操作。优点:同一批内各作业的自动依次更替,改善了主机CPU和I/O设备的使用效率,提高了吞吐量。缺点:磁带或磁盘需要人工装卸,作业需要人工分类,监督程序易遭到用户程序的破坏(由人工干预才可恢复)32操作系统通道和中断技术 60年代初,发展了通道技术和中断技术,这些技术的出现使监督程序在负责作业运行的同时提供I/O控制功能。通道:用于控制I/O设备与内存间的数据传输。启动后可独立于CPU运行,实现CPU与I/O的并行。q 通道有专用的I/O处理器,可与CPU并行工作q 可实现 I/O联机处理 中断是指CPU在收到外部中断信号后,停止原来工作,转去处理该中断事件,完毕后回到原
14、来断点继续工作。q 中断处理过程:中断请求,中断响应,中断点(暂停当前任务并保存现场),中断处理例程,中断返回(恢复中断点的现场并继续原有任务q 可处理算术溢出和非法操作码,死循环(利用时钟中断进行超时限定)监督程序发展为执行系统(executive system),常驻内存33操作系统典型的单道批处理操作系统典型操作系统q FMS(FORTRAN Monitor System,FORTRAN监控系统)q IBMSYS(IBM为7094机配备的操作系统)q 这些操作系统由监控程序,特权指令,存储保护和简单的批处理构成34操作系统单道批处理操作系统的不足 在IBM 7094机上,若当前作业因等待
15、I/O而暂停,CUP只能踏步直至该I/O完成CPU和I/O设备使用忙闲不均(取决于当前作业的特性)q对于CPU操作密集科学计算问题,浪费时间少q对于商业数据处理,I/O等待时间常占8090解决方案q多道批处理技术35操作系统第3阶段:集成电路时代(1965年-70年代)多道批处理操作系统q将内存分几个部分,每部分放不同的作业q当一个作业等待I/O时,另一个作业可以使用CPUq在主存中同时驻留多个作业需要硬件进行保护,以避免信息被窃取或攻击多道批处理的运行特征q多道:内存中同时存放多道相互独立的程序q宏观上并行:宏观上,系统中的多道程序都在运行,在一定的时间间隔内都取得进展q微观上串行:在任意时
16、刻,只有一道程序占有CPU 36操作系统Spooling 技术程序卡片被拿到机房后能够很快将一作业从卡片读入磁盘任何时刻当一作业运行结束操作系统就将一新作业从磁盘读出装入空出的内存区运行Spooling技术q(Simultaneous Peripheral Operation On Line)该技术也用于输出37操作系统多道批处理系统的特点优点:q资源利用率高:CPU和内存利用率较高;q作业吞吐量大:单位时间内完成的工作总量大;缺点:q用户交互性差:整个作业完成后或中间出错时,才与用户交互,不利于调试和修改;q作业平均周转时间长:短作业的周转时间显著增长;问题的解决导致分时系统的出现时间时间C
17、PUI/O设备设备ABCABC38操作系统分时系统分时系统实际上是多道程序的一个变种,分时系统的思想于1959年在MIT提出“分时”的含义q分时是指多个用户分享使用同一台计算机。多个程序分时共享硬件和软件资源*多个用户分时:单个用户使用计算机的效率低,因而允许多个应用程序同时在内存中,分别服务于不同的用户。有用户输入时由CPU执行,处理完一次用户输入后程序暂停,等待下一次用户输入时走时停*前台和后台程序(foreground&background)分时:后台程序不占用终端输入输出,不与用户交互现在的图形用户界面(GUI),除当前交互的程序(输入焦点)之外,其他程序均作为后台*通常按时间片(ti
18、me slice)分配:各个程序在CPU上执行的轮换时间39操作系统抢先式和非抢先式抢先式和非抢先式(preemptive&non-preemptive):出让CPU是OS强迫或程序主动q抢先式:OS强近出让CPU;q非抢先式:程序主动出让CPU;40操作系统分时系统的特点分时处理:用户与应用程序随时交互,控制程序运行,适于商业和办公事务处理缩短响应时间q人机交互性好:在调试和运行程序时由用户自己操作q共享主机:多个用户同时使用q用户独立性:对每个用户而言好象独占主机现在的许多操作系统都具有分时处理的功能,在分时系统的基础上,操作系统的发展开始分化,如实时系统、通用系统、个人系统等41操作系统
19、最初的从分时系统第一个分时系统由 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)用于工业过程控制、军事实时控制、金融等领域,包括实时控制和实时信息处理两种要求:响应时间短,在一定范围之内;
20、系统可靠性高任务的类型:q周期性实时任务:q非周期性实时任务:截止时间(deadline),开始截止时间(最晚开始时间)和完成截止时间(最晚完成时间)目前的操作系统,通常具有分时、实时和批处理功能,又称作通用操作系统。可适用于计算、事务处理等多种领域,能运行在多种硬件平台上,如 UNIX系统、Windows NT等。通用化、小型化43操作系统系列机思想与IBM System/360系统需求q多数厂商有几条完全不同的生产线,生产不同的计算机,开发和维护完全不同的产品,对厂商来说是昂贵的q另外,新用户在开始时只需要一台小计算机,后来可能需要一台大的计算机,而且希望能在新计算机上执行原有的程序。这样
21、,厂家和用户需要软件在不同型号的计算机之间兼容1964 年IBM 宣布推出System/360计算机系统q是第一个采用小规模集成电路的主流机型q所有的计算机都有相同的体系结构和指令集q在理论上,为一型号编写的程序可以在其他型号机器上 运行44操作系统IBM System/360面临的困境IBM无法写出同时满足互冲突需要的操作系统,其实别人也一样不能完成这项工作任务数千名程序员写的数百万行汇编语言代码,系统自身占据了大量存储空间和一半的CPU时间数百万行汇编代码中有成千上万处错误,IBM不断发行新的版本试图更正这些错误每个新版本在更正老错误的同时又引入新错误,所以随着时间的流逝,错误的数量大致保
22、持不变IBM 的 OS/360 发布时,带着已知的 1000 个错误这便是软件危机这便是软件危机,软件工程应运而生软件工程应运而生45操作系统MULTICS的灾难1965年MIT、贝尔实验室和通用电气公司决定开发一种“公用计算服务系统”,希望能够同时支持整个波士顿所有的分时用户。该系统称作MULTICSMULTICS设计目标是:q便利的远程终端使用,大量终端通过电话线接入计算机主机MULTICS研制难度超出了所有人预料q长期研制工作达不到预期目标,1969年4月贝尔实验室退出,不久通用电气公司也退出了MULTICS引入了许多现代操作系统领域概念雏形,对随后操作系统特别是UNIX的成功有着巨大的
23、影响46操作系统提出的新问题易于使用,提高人的生产力合理的响应时间引入文件系统,使用户可存取数据47操作系统解决办法需要抢占式调度,以便保持适当的响应时间需要避免抖动(程序在内存中过于频繁的对换)需要提供适用的安全检测48操作系统UNIX的诞生1969年,在贝尔退出MULTICS研制项目后,Ken Thompson和Dennis M.Ritchie 想申请经费买计算机从事操作系统研究,但多次申请得不到批准项目无着落,他们在一台无人用的PDP-7上,重新摆弄原先在MULTICS项目上设计的“空间旅行”游戏为了使游戏能够在PDP-7上顺利运行,他们陆续开发了浮点运算软件包、显示驱动软件,设计了文件
24、系统、实用程序、shell 和汇编程序到了1970年,在一切完成后,给新系统起了个同MULTICS发音相近的名字UNIX1972年,UNIX用C语言全部重写,自此,UNIX诞生了49操作系统UNIX的崛起贝尔实验室免费向各大学提供UNIX供教学、科研使用,版本6以前源代码公开,因此变得很流行促使UNIX系统成功的因素:q首先,由于UNIX是用C语言编写,因此它是可移植的q第二,系统源代码非常有效,系统容易适应特殊的需求q最后,也是最重要的一点,它是一个良好的、通用的、多用户、多任务、分时操作系统UNIX的典型版本qSystem V,BSDqSolaris,AIX,HPUnix,IRIX,SCO
25、 50操作系统MINIX的出现在AT&T公布版本7时开始认识到UNIX的商业价值,于是禁止在课程中研究其源代码为了教学的需要,1987年荷兰籍教授Andrew S.Tanenbaum编写了一个在PC机上运行的类“UNIX”的操作系统MINIX,用于教学目的MINIX没有借用AT&T的一行源代码,其名称源于“小UNIX”同样采用c语言编码,代码采用了比UNIX更模块化的组织方法采用了微内核的结构,不包括Unix的Shell和许多工具程序51操作系统第4代阶段:大规模集成电路时代(1980年-)个人计算机的诞生q 1975年4月,MITS公司推出了以8080为CPU的世界上第一台个人计算机Alta
展开阅读全文