/*文档由Rowp整理.QQ:491756390*/操作系统辅导汤子赢、哲风屏、汤小丹第一章操作系统引论操作系统的目标、作用和模型l操作系统——是裸机上的第一层软件,它是对硬件系统功能的首次扩充,是填补人与机器之间的鸿沟。用户计算机OS操作系统的目标●设置操作系统的目的:1、方便性:操作系统使计算机更易于使用2、有效性:操作系统允许以更有效的方式使用计算机系统资源。3、可扩展性:在操作系统中,允许有效地开发,测试和引进新的系统功能。4、开放性:实现应用程序的可移植性和互操作性,要求具有统一的开放的环境。OS的作用●计算机用户需要的用户命令由OS实现的所有用户命令所构成的集合常被人们称为OS的Interface(用户接口);有时也称为命令接口。命令的表示形式:字符形式:较灵活但因繁琐而难记;菜单形式:(试图在字符终端上提供友好的用户界面)图形形式:因直观而易记但不灵活。●应用软件需要的SystemCall(系统调用)由OS实现的所有系统调用所构成的集合被人们称为程序接口或应用编程接口(ApplicationProgrammingInterface,API)。●操作系统作为计算机系统资源管理者。1、处理机管理:分配和控制CPU。2、存储器管理:内存分配与回收。3、I/O设备管理:I/O设备的分配与操纵。4、文件管理:文件的存取、共享和保护。●操作系统用作扩充机器功能,使其便于使用的机器,这种机器又称为虚拟机。操作系统的发展无操作系统时的计算机系统1、人工操作方式一台计算机的所有资源由用户独占,降低了计算机资源利用率,人操作慢,出现了严重的人机矛盾。2、脱机输入输出方式在外围计算机的控制下,实现输入输出。主要解决了CPU与设备之间不匹配的矛盾单道批处理系统1、在内存中仅存一道作业运行,运行结束或出错,才自动调另一道作业运行。2、单道批处理系统主要特征:自动性、顺序性、单道性。3、单道批处理系统主要优点:减少人工操作,解决了作业的自动接续。4、单道批处理系统主要缺点:平均周转时间长,没有交互能力。多道批处理系统一、多道程序的概念:在内存中存放多道作业运行,运行结束或出错,自动调度内存中的另一道作业运行。●多道程序带来的好处:1、提高CPU的利用率。2、提高内存和I/O设备利用率。3、增加系统吞吐率。二、多道批处理系统主要特征:多道性、无序性、调度性(进程调度和作业调度)。三、多道批处理的主要优点:提高了资源利用率和吞吐能力。多道批处理的主要缺点:平均周转时间长,没有交互能力。例1.设在内存中有三道程序A、B和C,按A、B、C的优先次序运行,其内部计算和I/O操作时间由下图给出。若处理机调度程序每次进行状态转换需要的时间为1m,试画出按多道程序运行的时间关系图。并计算完成这三道程序共使用了多少时间?并计算比单道运行节省多少时间?BC答:多道程序运行时间关系图如下图所示:由图可计算出在多道程序运行下执行了196ms的时间,而在单道运行的时间为:30+1+40+1+10+60+1+30+1+16+20+1+40+1+20=272ms多道运行的时间为:30+1+40+1+10+1+20+1+20+1+40+1+20=196则多道程序比单道程序节省的时间为:272一196=76msA30B40A10B20C20B16C20CPUA40B30C40I/O分时系统一、分时系统的产生用户需要:人机交互、共享主机、便于用户上机二、分时系统实现的方法简单分时系统具有“前台”和“后台”的分时系统多道分时系统三、分时系统实现中的关键问题:及时接收:实现多个用户的信息及时接收。及时处理:及时控制作业的运行。四、分时系统的特征:多路性:多个用户分时使用一台计算机。独立性:独立运行,不混淆,不破坏。及时性:系统能在很短的时间得到回答。交互性:能实现人机对话。五、影响响应时间的若干因素:Ti=NQ+To.s+Twap改善响影时间的方法采用重入码减少信息的对换量采用虚拟存储技术,减少信息对换量实时系统●所谓实时系统:是计算机及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致的运行。一、实时系统分为两类1、实时控制系统2、实时信息处理系统二、实时任务的类型1、按任务执行是否为周期性来化分2、按截止时间来化分三、实时系统的特征1、多路性:能对多个对象进行控制。2、独立性:独立运行,不混淆,不破坏。3、交互性:仅限于访问系统中某些特定的专用服务程序。4、可靠性:高可靠性,应具有过载防护能力。5、及时性:不同的系统要求不一样,控制对象必须在截止时间内完成。操作系统的基本特征现代OS的四个基本特征:1、并发2、共享3、虚拟4、异步并发是最重要的特征,其它特征都以并发为前提。并发并发——并行性和并发性,并发执行的过程。-并行性是指两个或多个事件在同一时刻发生。-并发性是指两个或多个事件在同一时间间隔内发生。任务共行-从宏观上看,任务共行是指系统中有多个任务同时运行-从微观上看,任务共行是指单处理机系统中的任务并发(TaskConcurrency:即多个任务在单个处理机上交替运行)或多处理机系统中的任务并行(TaskParallelism:即多个任务在多个处理机上同时运行)。共享所谓共享是指系统中的资源可供内存中多个并发执行的进程共同使用。1、互斥共享方式:-把在一段时间内只允许一个进程访问的资源,称为临界资源。-系统中的临界资源可以提供给多个进程使用,但一次仅允许一个进程使用,称为互斥共享方式。2、同时访问方式:-从宏观上看,资源共享是指多个任务可以同时使用系统中的软硬件资源-从微观上看,资源共享是指多个任务可以交替互斥地使用系统中的某个资源。例如磁盘。虚拟所谓虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。虚拟处理机:分时实现虚拟设备:SPOOLING技术虚拟存储器:虚拟存储管理实现异步性异步性——是指进程以异步的方式执行,进程是以人们不可预知的速度向前推进。操作系统的结构设计操作系统是一个大型系统软件,其结构已经历了四代的变革:第一代的OS是无结构的;第二代OS采用了模块式结构;第三代是层次式结构。第四代是把工程学引入到软件开发的过程中,从而形成了软件工程学软件工程的基本概念1.软件的含义所谓软件,是指当计算机运行时,能提供所要求的功能和性能的指令和程序的集合,该程序能够正确地处理信息的数据结构;软件则是一种逻辑部件,它具有的特点:①软件是人的思想产物,看不见,也摸不着。②软件产品则不允许有误差,因此在软件的生产上,要求有很高的质量保证体系。③对软件的维护要比硬件的维护复杂得多。2.软件工程的含义软件工程是指运用系统的、规范的和可定量的方法,来开发、运行和维护软件;或者说,是采用工程的概念、原理、技术和方法,来开发与维护软件,其目的是为了解决在软件开发中所出现的编程随意、软件质量不可保证以及维护困难等问题。模块化OS结构(1)模块化结构使用分块结构的系统包含若干module(模块);其中,每一块实现一组基本概念以及与其相关的基本属性。块与块之间的相互关系:-所有各块的实现均可以任意引用其它各块所提供的概念及属性。(2)模块化OS的优缺点优点:①提高了OS设计的正确性、可理解性和可维护性。②增强了0S的可适应性。③加速了OS的开发过程。缺点:①对模块的划分及对接口的规定要精确描述很困难。②从功能观点来划分模块时,未能将共享资源和独占资源加以区别;分层式OS结构使用分层系统结构包含若干layer(层);其中,每一层实现一组基本概念以及与其相关的基本属性。层与层之间的相互关系:-所有各层的实现不依赖其以上各层所提供的概念及其属性,只依赖其直接下层所提供的概念及属性;-每一层均对其上各层隐藏其下各层的存在。微内核OS结构微核结构设计思想:尽最大努力剔除核心子系统中的多余成份,并把它们移到核外子系统中实现,核心子系统只实现一些必要的简单的概念及其属性,从而保持核心子系统简洁高效。●当前比较流行的、能支持多处理机运行的OS,几乎全部都采用了微内核结构,微内核技术微内核的基本功能:(1)进程管理。①把进程作为资源分配的基本单位。②允许一个进程拥有若干个线程。③把线程作为独立运行和调度的基本单位。④在同一进程中的各线程可以共享进程所拥有的资源。⑤允许这些线程并发执行。⑥实现进程间和线程间的同步。(2)存储器管理①提供了虚拟存储器管理功能,例如页式存储管理。②用于为进程分配和回收运行空间。③从逻辑上扩充内存的容量,以满足更多用户的需求。(3)进程通信管理为实现进程之间的通信,在微内核中采用了消息传递机构,即进程之间是以消息(Message)作为交换单位。(4)I/O设备管理在微内核中,为每一个连接到主机上的I/O设备配置一个设备驱动程序,用以实现设备的I/O处理,因此,通常在微内核中都有若干个I/O设备驱动程序。客户服务器模式客户/服务器模式的基本概念:当有一客户进程发出一个请求,当服务器完成了该客户的请求后,便给该客户回送一个响应,这种模式为客户/服务器模式。客户/服务器模式的优点:(1)提高了系统的灵活性和可扩充性。(2)提高了OS的可靠性。(3)适应性强:可用于单处理机系统中,又适用于计算机网络和分布式系统。面向对象的程序设计技术面向对象技术的基本概念所谓对象,是指在现实世界中具有相同属性。服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。例如进程对象、线程对象、存储器对象等。第二章进程的描述与控制一、相关概念1、前趋图——有向无循环的图。表示程序执行的偏序关系。2、程序的顺序执行——严格按照程序给定的顺序执行,仅当前一个执行结束才执行后一个。3、程序的顺序的特征:①顺序性②封闭性③可再现性4、程序的并发执行——是指两个或两个以上程序段在执行的时间上是重叠的,即使这种重叠只有一小部分,则称这些程序为共行执行。5、程序并发执行的特征:①间断性②失去封闭性③不可再现性例2:若程序Pa和Pb单独执行时间分别Ta、Tb和Tc,Ta=1小时,Tb=1.5小时,Tc=2小时,其中处理机工作时间分别为Ta=10分钟,Tb=15分钟,Tc=35分钟。如果采用多道程序设计的方法,让Ta、Tb和Tc并行工作,假定处理机利用率达到60%,另加20分钟系统开销,请问系统效率能提高百分之几?答:Ta、Tb和Tc并行工作共用CPU时间:(10+15+35)/60%=100系统效率提高:[(60+90+120)-(100+20)]/[(60+90+120)*100%]=(270-120)/(270*100%)=55%二、进程的基本概念1、进程的定义——可并发执行的程序在一个数据集合上的运行过程。2、进程的基本特征①动态性②并发性③独立性④异步性⑤结构特征3、进程的基本状态及其转变进程的三种基本状态及其转换4、进程控制块——描述和控制进程运行,系统为每个进程定义的一个数据结构。①进程控制块的内容②进程控制块的作用③进程控制块的组织方式三、进程控制1、进程管理进程图:表明进程的创建关系,创建的进程和被创建的进程可以并发执行。2、引起进程创建的原因①用户登录:为终端用户建立进程。②作业调度:选中的作业建立进程。③提供服务:为用户提供的服务进程。例如:I/O进程等。④应用请求:应用程序自己创建的进程。3、原语:由若干条指令构成,用于完成一定功能的一个过程。4、原子操作(原子性):一个操作中的所有动作,要么全做,要么全不做。是一个不可分割的操作。5、线程的基本概念(1)线程:一个被调度和分派的基本单位并可独立运行的实体。(2)线程分类:①内核支持线程:依赖于内核进行控制和管理。②用户级线程:在用户级创建、撤消和切换。(3)在引入线程的O.S系统中,则把线程作为调度和分派的基本单位,而把进程作为资源的拥有的基本单位。(4)在同一进程中的线程切换不会引起进程切换。(5)在不同一进程中的线程切换会引起进程切换。进程同步的基本概念1、进程的相互制约①间接相互制约——资源共享引起②直接相互制约——相互合作引起2、临界资源:一次仅允许一个进程使用的资