计算机操作系统内容提炼与重难点解析提纲认识操作系统操作系统采用的技术操作系统内容提炼操作系统课程重点与难点解析计算机操作系统内容提炼与重难点解析1一.认识操作系统2什么是操作系统操作系统的特点认识操作系统1.认识操作系统从操作系统在计算机系统中的位置来分析操作系统是什么?操作系统能做什么?操作系统如何去做?3裸机作系统应程序用序程用户操操作系统定义操作系统的功能操作系统的实现技术认识操作系统认识操作系统2.操作系统的特点内容庞杂、涉及面广管理、控制所有硬件管理所有软件,控制程序的执行为用户提供良好的接口实践性强操作系统原理与实际运行的操作系统的关系技术发展快基础性和先进性的关系4裸机作系统应程序用序程用户操并行处理技术并行性:处理多个同时性活动的能力并行处理:利用多个处理部件,为完成一个整体任务而同时执行。5操作系统采用的技术虚拟技术用户的逻辑视图与操作系统所管理的物理视图分离逻辑视图与的物理视图映射二.操作系统采用的技术1.并行处理技术(1)多用户、多任务同时执行(并发执行)如何描述任务————如何控制任务状态的变化————多任务关系如何协调————多任务如何调度————6同步与互斥进程的引入与进程概念进程状态及控制进程调度操作系统采用的技术(2)系统资源共享处理机如何共享————存储器如何共享————设备如何共享————信息如何共享————7存储分配、地址映射、虚存、存储保护策略、调度、处理机分派文件结构、存取方法、磁盘空间分配文件共享、文件保护、文件完整性设备分配、虚拟设备、设备驱动操作系统采用的技术2.虚拟技术用户的逻辑视图与操作系统所管理的物理视图分离8操作系统采用的技术应用程序1,应用程序2,应用程序nCPU1CPU2虚拟主存1打印机1打印机2虚拟主存2CPU主存打印机分时主存管理假脱机打印软件硬件三.操作系统内容提炼9操作系统内容提炼现代操作系统内容框架操作系统与各层的关系计算机系统结构与操作系统的关系多任务并发执行的机制和策略系统资源管理的策略和方法1.现代操作系统内容框架10操作系统的用户界面进程概念进程控制进程同步进程调度进程及进程管理系统资源管理处理机管理存储管理设备管理文件系统操作系统与硬件的接口存储程序式计算机操作系统内容提炼112.操作系统与各层的关系裸机作系统应程序用序程用户操(1)OS对各层的管理与控制与硬件的关系控制CPU的工作访问存储器设备驱动、中断处理与用户及其他软件的关系控制、管理提供方便的用户界面提供优质的服务操作系统内容提炼12(2)各层对OS的制约和影响裸机作系统应程序用序程用户操下层硬件环境的制约提供OS运行基础限制了OS的功能实现用户和上层软件的要求用户需求提供优质的服务方便的用户界面操作系统内容提炼133.计算机系统结构与操作系统的关系OS采用了一系列软件技术多道程序设计技术、分时技术、资源分配与调度等计算机体系结构与硬件技术的变化单CPU计算机计算机网络(多计算机系统)顺序计算模型一对矛盾如何解决矛盾?消息传递型多计算机计算机系统结构并行计算模型操作系统操作系统内容提炼4.多任务并发执行的机制和策略(1)所需的数据结构进程控制块:PCB进程队列就绪队列各种等待队列运行指针14就绪队列头指针就绪队列Λ打印机等待队列头指针打印机等待队列队列Λ运行指针Λ进程控制块PCB程序与数据操作系统内容提炼4.多任务并发执行的机制和策略(2)进程控制、进程调度、进程队列结构之间的关联进程控制进程调度功能策略15wait_lpt_q_startPCB3PCB7next打印机等待队列结构runningPCB4next运行指针ready_q_startready_q_startPCB1PCB2PCB9就绪队列结构next创建撤消无有消亡等待运行等待唤醒就绪等待操作系统内容提炼4.多任务并发执行的机制和策略(3)多任务协调多任务之间的相互制约关系间接的相互制约关系——直接的相互制约关系——16进程的直接相互制约关系互斥同步操作系统提供的同步机构锁、上锁操作、开锁操作信号灯、P操作、V操作操作系统提供同步机构操作系统的资源分配功能——两类同步问题:合作进程的执行次序共享缓冲区的合作进程的同步操作系统内容提炼17资源描述器资源描述器定义描述描述各类资源的最小分配单位的数据结构称为资源描述器rd。资源描述器内容资源名、资源类型、最小分配单位的大小、地址、分配标志、描述器链接信息、存取权限、密级、存取时间(1)资源分配机构操作系统内容提炼资源信息块资源信息块定义描述某类资源的请求者、可用资源和该类资源分配程序等必要信息的数据结构。5.系统资源管理资源信息块内容请求者队列可利用资源队列资源分配程序等待队列头指针可利用资源队列头指针资源分配程序入口地址18┅PCB1PCB2PCBn资源分配程序等待队列头指针可利用资源队列头指针资源分配程序入口地址┅RD1RD2RDm操作系统内容提炼19资源信息块例中央处理机资源信息块内容┅PCB1PCB2PCBk进程调度程序ready-q-start可用处理机信息scheduler-addrCPU描述器操作系统内容提炼20先请求先服务每一个新产生的请求均排在队尾,而当资源可用时,资源分配程序则从队列中选取第一个请求,并满足其需要。排序原则:按请求的先后次序排序表头按请求的先后次序先后按自然顺序排列的就绪队列(2)资源分配策略操作系统内容提炼21表头按优先级的高低排序高低按优先级高低排列的就绪队列优先调度在优先调度策略下,对于每一个进程要指定一个优先级,优先级反映了进程要求处理的紧迫程度。每一个新产生的请求按优先级的高低插入到队列适当的位置上,而当资源可用时,资源分配程序则从队列中选取第一个请求,并满足其需要。排序原则:按优先级的高低排序操作系统内容提炼22针对设备特性的调度策略调度的目标当有大量I/O请求时,降低完成这些I/O服务的总时间移臂调度总是选取与当前移动臂前进方向上最近的那个I/O请求,使移臂距离最短。旋转调度总是选取与当前读写头最近的那个I/O请求,使旋转圈数最少。UNIX、Linux系统的磁盘调度采用的是电梯调度策略操作系统内容提炼四.操作系统课程重点、难点解析23操作系统课程重点、难点解析进程状态及变迁进程的同步与互斥页式存储管理技术文件索引结构24(1)进程的三个基本状态及变迁运行、就绪、等待运行服务请求(请求I/O等)服务完成/事件来到进程调度等待就绪操作系统课程重点、难点解析1.进程状态及变迁25运行服务请求(请求I/O等)服务完成/事件来到进程调度时间片到等待就绪×操作系统课程重点、难点解析?26(2)具有进程基本状态的变迁图运行服务请求(请求I/O等)服务完成/事件来到进程调度等待就绪操作系统课程重点、难点解析27(3)进程状态变迁的讨论运行1243等待就绪变迁1→变迁4变迁3→变迁4变迁1→变迁3操作系统课程重点、难点解析282.进程的同步与互斥(1)为什么需要同步并发程序的特点失去程序的封闭性和可再现性若一个程序的执行可以改变另一个程序的变量,那么,后者的输出就可能有赖于各程序执行的相对速度,即失去了程序的封闭性特点。操作系统课程重点、难点解析29例:讨论共享公共变量的两个程序,执行时可能产生的不同结果。设:程序A对做n加1的操作,程序B打印n值,并将它重新置为零。程序A┆n:=n+1;┆程序B┆print(n);n:=0;┆程序A的n:=n+1与程序B的两个语句的关系n的初值打印的结果n的最终赋值之前10110之后10101之间10100设n初值为10操作系统课程重点、难点解析30(2)如何实现正确的同步操作系统提供同步工具锁、上锁原语、开锁原语能实现互斥信号灯、P操作原语、V操作原语能实现同步与互斥用户编程时,正确描述有直接相互制约关系的各进程的同步关系(互斥的实现相对简单,这里不作讨论)操作系统课程重点、难点解析31什么是进程同步所谓同步,就是并发进程在一些关键点上可能需要互相等待与互通消息,这种相互制约的等待与互通消息称为进程同步。进程同步的例病员就诊看病活动:┆要病人去化验;┆等化验结果;┆继续诊病;化验活动:┆需要进行化验?进行化验;┆开出化验结果;┆(3)进程同步的概念操作系统课程重点、难点解析32共享缓冲区的计算进程与打印进程的同步计算进程cp和打印进程iop公用一个单缓冲缓冲区bufiopcpABCDABCDE┇E操作系统课程重点、难点解析33(4)进程同步的实现设:程序A对做n加1的操作,程序B打印n值,并将它重新置为零。PA┇n:=n+1;┇┇PB┇print(n);n:=0;┇信号灯设置s:表示进程A是否执行了加1操作,s=0同步描述PA┇n:=n+1;v(s);┇┇PB┇p(s);print(n);n:=0;┇操作系统课程重点、难点解析34合作进程的执行次序进程流图P3sfP5P1P2P4P6P9P10P8fsP5P6P7sf(5)两类同步问题的解法操作系统课程重点、难点解析35P9P10P8fs分析任务的同步关系任务启动后P8先执行,当它结束后,P9、P10可以开始执行,P9、P10都执行完毕后,任务终止。信号灯设置设两个同步信号灯s9、s10分别表示进程P9和P10能否开始执行,其初值均为0。同步描述P8P9P10P(s9);P(s10);V(s9);V(s10);例:P8、P9、P10为一组合作进程,其进程流图如图所示,试用信号灯的p、v操作实现这三个进程的同步。操作系统课程重点、难点解析36计算进程cp和打印进程iop公用一个单缓冲,为了完成正确的计算与打印,试用信号灯的p、v操作实现这两个进程的同步。缓冲区bufiopcp共享缓冲区的合作进程的同步的解法分析任务的同步关系当cp进程把计算结果送入buf时,iop进程才能从buf中取出结果去打印,即当buf内有信息时,iop当iop进程把buf中的数据取出打印后,cp进程才能把下一个计算结果数据送入buf中,即只有当buf为空时,cp进程才能动作,否则必须等待。操作系统课程重点、难点解析37缓冲区bufiopcp同步描述cp:iop:┆p(sa);产生一个数据;从buf中取数据;p(sb);v(sb);将数据放入buf打印;v(sa);信号灯设置信号灯sa用来表示缓冲区中是否有可供打印的计算结果,其初值为0。sa=0信号灯sb用以表示缓冲区有无空位置存放新的信息,其初值为1。sb=1操作系统课程重点、难点解析383.页式存储管理技术(1)虚地址结构当CPU给出的虚地址长度为16位,页面大小为1KB时,在分页系统中地址结构的格式如下151090页号P页内位移W虚存的大小:210×26pw3112110页号P页内位移W虚存的大小:220×212movr1,[2050]12301KB2KB3KB1作业2地址空间20020500000100000000010操作系统课程重点、难点解析CPU给出的虚地址长度为32位,页面大小为4KB时39(2)页表与页式存储管理功能之间的关系页式存储管理功能页式地址变换请调页面淘汰页面页表页号主存块号中断位辅存地址引用位改变位页式地址变换请调页面淘汰页面操作系统课程重点、难点解析40(3)页面淘汰算法先进先出淘汰算法(FIFO算法)什么是先进先出淘汰算法总是选择在主存中居留时间最长(即最早进入主存)的一页淘汰。先进先出淘汰算法的实现建立一个页面进入主存的先后次序表;建立一个替换指针,指向最早进入主存的页面;当需要置换一页时,选择替换指向的那一页,然后调整替换指针的内容。操作系统课程重点、难点解析41最久未使用淘汰算法(LRU算法)什么是最久未使用淘汰算法总是选择最长时间未被使用的一页淘汰。最久未使用淘汰算法的实现用引用位考察页面的使用情况;当访问页面时,将引用位置1,并记时;当要淘汰一页时,选择时间最长的一页淘汰。操作系统课程重点、难点解析42(4)页面淘汰算法的例在一请求分页系统中,某程序在一个时间段内有如下的存储器引用:12、351、190、90、430、30、550(以上数字为虚存