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

链接地址:https://www.31ppt.com/p-6472712.html