操作系统原理PrincipleofOperatingSystem•主讲:马宏琳•信息学院计算机系•E-mail:hautmhl@126.com•TEL:18623718886课程类型:必修学时安排:64学时56学时授课8学时上机学分:3.5学分考试形式:闭卷考试成绩:卷面成绩70%+平时成绩30%(实验10%+作业10%+考勤10%)课程安排教材:《计算机操作系统》(第四版)——汤小丹等编著2014年版西安电子科技大学出版社参考书目:1、《《计算机操作系统》学习指导与题解》(第二版)——梁红兵,汤小丹西安电子科技大学出版社课程内容第一章、操作系统引论第二章、进程的描述与控制第三章、处理机死锁与调度第四章、存储器管理(内存管理)第五章、虚拟存储器(内存管理)第六章、输入输出系统(设备管理)第七章、文件管理第八章、磁盘存储器的管理第九章、操作系统接口第一章操作系统引论第一节操作系统的目标和作用第二节操作系统的发展过程第三节操作系统的基本特征第四节操作系统的主要功能第五节操作系统的结构设计第一节操作系统的目标和作用什么是操作系统操作系统的目标操作系统的作用推动操作系统发展的主要动力什么是操作系统(1)回顾“计算机系统”(2)对操作系统的描述(3)操作系统的定义计算机系统硬件(裸机):中央处理机(CPU)、内存、外存、外部设备。软件应用软件:为多种应用而编制的程序,如:办公自动化软件、财务管理软件、即时通信软件等系统软件操作系统(DOS、WINDOWS、UNIX、LINUX)语言处理系统(命令解释器、窗口系统、编译、汇编程序)常用的例行程序(库连接程序、诊断排错程序)应用软件其它系统软件操作系统裸机一般用户程序员OS开发人员(2)对操作系统的描述:是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。用户(应用程序)与计算机硬件之间的接口。(3)操作系统的定义操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。操作系统是系统软硬资源的管理控制中心,它以尽量合理有效的方法组织多个用户(进程)共享计算机的各种资源并提供使用接口。本书定义:其他:1.1.1、操作系统的目标OS的目标方便性:使计算机易学易用有效性:提高系统资源的利用率和吞吐量可扩充性:能适应硬件的发展,容易升级开放性:遵循世界标准规范所开发的软硬件,彼此兼容,方便互联。使应用程序具有可移植性和互操作性。1.1.2、操作系统的作用(1)OS作为用户与计算机硬件之间的接口(2)OS作为计算机四类资源的管理者(3)OS实现了对计算机资源的抽象(虚机器)(1)OS作为用户与计算机硬件之间的接口计算机硬件系统调用命令图标-窗口操作系统应用程序用户软件接口,给用户提供3种方式(2)OS作为计算机系统四类资源的管理者①处理机管理对处理机进行分配——进程管理和调度②存储器管理对内存进行分配、回收③I/O设备管理负责I/O设备的分配、回收、操控(如启动设备)④文件管理文件的存取、共享、保护(3)OS实现了对计算机资源的抽象裸机——完全无软件的计算机系统扩充机器——覆盖了软件的机器。也称虚机器。用户物理接口硬件机器指令用户物理接口硬件I/O软件I/O操作命令ReadWrite虚机器1.1.3、推动操作系统发展的主要动力(1)不断提高计算机资源利用率(2)方便用户(3)器件的不断更新换代(4)计算机体系结构的不断发展(5)不断提出新的应用需求第二节操作系统的发展过程1.2.1未配置操作系统的计算机系统1.2.2单道批处理系统1.2.3多道批处理系统1.2.4分时系统1.2.5实时系统1.2.6微机操作系统的发展•1945-ENIAC电子数字积分计算机(1945~50年代中期)1.2.1、为配置操作系统的计算机系统人工操作方式(1945~50年代中期)1、工作方式纸带(卡片)输入机计算机打印结果取走纸带早期-纸带穿孔卡(机器语言)0000,0000,000000000001代表LOADA,10001,0001,000000001000代表STOREB,162、特点:用户独占全机、CPU等待人工操作(串行性),联机输入输出方式(输入输出都由主机控制)。3、问题:人机矛盾,CPU和I/O设备间不匹配。•脱机输入输出(Off-LineI/O)方式关键设备:外围机、磁带优点:减少CPU的空闲时间、提高I/O速度输入设备外围机磁盘磁盘磁盘磁盘外围机主机输出设备脱机I/O示意图1.2.2、单道批处理系统1、50年代中期出现第二代晶体管计算机2、过程:在监督程序(Monitor,OS的雏形)的控制下,把一批作业脱机输入到磁带上,使这批作业能一个接一个的连续得到处理。Job1Job2Job3Job4……Jobn磁带内存MonitorJob1CPU2、定义:系统对作业的处理是成批进行的,且在内存中始终只保持一道作业,故称为单道批处理系统。3、特征:(1)自动性无人工干预(2)顺序性按进入内存的先后执行(3)单道性内存中只保持一道作业单道程序的工作情况CPU程序A运行I/O操作程序A运行外设1.2.3多道批处理系统1、多道:内存中同时存在多个相互独立程序。多道技术是共享的基础。(60年代中期)Job1Job2Job3Job4……Jobn磁带内存OSJob1CPUJob2CPUI/O设备程序B程序A程序A程序B输入输入输出输出I/O设备等CPUt1t2t3t4t5程序A:计算输入计算输出程序B:计算输入计算输出2、多道批处理系统的特征:(1)多道性:内存中有多道程序,可并发执行(2)无序性:完成时间与进入内存先后无关(3)调度性:作业从提交到完成经两次调度①作业调度:外存内存(选多个)②进程调度:分配处理机(选1个)问:多道程序需要什么技术作为支持?必须有中断和通道技术支持。通道是一种控制一台或多台外设的硬件机构,能做到输入输出操作与CPU并行工作。中断是输入输出结束时,向CPU发出中断信号,CPU响应中断请求,处理完后继续原来工作。3、优点:(1)资源利用率高(2)系统吞吐量大原因(1)资源忙(2)完成或运行不下去时才切换缺点:(1)无交互能力-修改和调试极不方便(2)作业平均周转时间较长操作系统的定义:操作系统是一组控制和管理计算机硬件和软件资源,合理的对各类作业进行调度,以及方便用户使用的程序集合。多道批处理系统需要解决的问题:(1)处理机管理问题(2)内存管理问题(3)I/O设备管理问题(4)文件管理问题(5)作业管理问题1.2.4分时系统1、分时系统的引入(1)人机交互能力的需求(边运行边调试)(2)共享主机(设备昂贵)(3)方便用户上机(在终端上输入、控制)2、定义:一台主机上连接了多个终端(显示器和键盘)组成的系统,同时允许多个用户通过自己的终端,以交互方式使用计算机,共享主机中的资源。┇主机终端1终端2终端n3、分时系统实现中的关键问题及时接收-多路卡(多个I/O端口)及时处理-作业直接进内存时间片轮转(分时技术)5、分时系统的特征(1)多路性即同时性,宏观上同时,微观上轮流(2)独占性每个用户感觉独占主机(3)及时性较短时间响应(1-3秒)(4)交互性4、分时技术:把处理机时间划分成很短的时间片(如30毫秒)轮流地分配给各个联机作业使用,如果未完成,则中断,等待下一轮继续计算。FernandoJ.Corbato(费尔南多·考巴脱)——分时操作系统CTSS和Multics系统的领导者Corbato是第一个分时操作系统CTSS和Multics系统的领导者。其贡献直接导致和影响了后来的UNIX操作系统的诞生。1990年被授予图灵奖。MITCTSS(CompatibleTime-SharingSystem)是第一个分时系统。CTSS是在1961年完成开发的。CTSS的后续项目就是著名的Multics项目。Multics项目直接导致和影响了KenThompson和DennisRitchie(他俩是1983年图灵奖得主),开发了UNIX操作系统。1.2.5实时系统1、实时:及时响应外部事件请求,在规定的时间完成对该事件的处理,控制所有实时任务协调一致运行。2、最主要的特征:将时间作为关键参数3、应用需求:(1)工业武器控制系统:生产过程控制、作战指挥(2)信息查询系统:订购机票、情报检索(3)多媒体系统:数字电影播放(音频视频文字)(4)嵌入式系统:1.2.5实时系统4、实时系统的特点:多路性、独占性、及时性、交互性、可靠性5、实时任务的类型:周期性实时任务、非周期性实时任务开始截至时间、完成截至时间硬实时任务、软实时任务硬实时任务:系统必须满足任务对截至时间的要求软实时任务:对截至时间的要求不太严格4、几种操作系统的比较多道批处理系统分时系统实时系统CPU时间分配作业运行时独占时间段分时事件发生时立即分配内存同时存放多道作业同时存放多道程序存放预置的事件处理程序响应时间运行期间不响应及时响应立即响应特殊要求极大的资源利用率公平面向多用户高可靠性面向用户群委托用户普通用户定向用户批处理、分时系统、实时系统是三种基本的操作系统。OS的进一步发展:微机OS、嵌入式OS、网络OS、分布式OS、移动OS、智能化OS1.2.6、微机操作系统的发展单用户单任务OS1)CP/M2)MS-DOS单用户多任务OSWindows多用户多任务OSSolaris、Linux、UNIXCP/M操作系统界面CP/M系统由DigitalResearch公司(1991年被Novell兼并)在1974年开发。在70年代,它成为被广泛应用的操作系统。通过它的命令行选项,人们开始了解操作系统。微软20年后推出的DOS系统便是在它的基础上开发的。MS-DOS界面DOS又称磁盘操作系统。DOS命令行模式足足统治了系统市场15年(1981到1995)。若是把部分以DOS为基础的微软Windows版本,如Windows95、98和Me等都算进去的话,那么其商业寿命可以算到2000年。Windows95操作系统界面Windows95是微软1995年推出的操作系统,它第一次抛弃了对16位x86的支持。同时,Windows95首次加入了开始菜单和任务栏两项功能对于微软而言,Windows95具有划时代的意义。Windows95以强大的攻势进行发布,包括了商业性质的滚石乐队的歌曲“StartMeUp”。很多没有电脑的顾客受到宣传的影响而排队购买软件,但他们甚至根本不知道Windows95是什么。Linux操作系统的构成内核(kernel)外壳(Shell)X-Window应用程序文件系统Linux操作系统的发展Linux的原型——MinixMinix的名称取自英语MiniUNIX,(约300MB)AndrewS.Tanenbaum全部的程序码共约12,000行全套Minix除了启动的部分以汇编语言编写以外,其他大部份都是纯粹用C语言编写。分为:内核、内存管理及档案管理三部分AndrewS.TanenbaumLinux的诞生:Minix最有名的学生用户是LinusTorvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux1990年秋天,Linus开发了第一个程序,包括两个进程,向屏幕上写字母A和B,定时器切换。此外,从modem上接发信息的程序以及显示器、键盘、modem的驱动程序,文件系统有了进程切换、文件系统、驱动程序,OS原型出现了。Linux内核的发展1991年10月,芬兰赫尔辛基大学的学生LinusTorvalds为改进MINIX操作系统开发了一种类似Unix的操作系统,叫linux,最初发布的版本是0.02版1994年,发布正式的1.0版本,linux开始成为一个比较完善的操作系统,并逐渐为世人所知一些软件公司相继开发出自己的linux系统,如RedHatlinux、RedFlaglinux等大量的软件专家和linux爱好者不断地提高和改进linux内核功能应用软件厂商开发出大量基于L