版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习专业课程的参考教材,这些教材甚至被很多考试(特别是硕士和博士入学考试)和培训项汤子瀛主编的《计算机操作系统》(第4版)(西安电子科技大学出版社)被列为普通高等(包括科研机构)指定为计算机专业考研参考书目。作为该教材的学习辅导书,本书具有以1.整理名校笔记,浓缩内容精华。在参考了国内名校名师讲授汤子瀛主编的《计算机操作2.解析课后习题,提供详尽答案。本书以汤子瀛主编的《计算机操作系统》(第4版)为基本依据,参考了该教材的配套资料和其他计算机专业教材的相关知识对该教材的课(章)3.精选名校真题,囊括所有考点。本书所选考研真题基本来自指定汤子瀛主编的《计算机操作系统》为考研参考书目的院校,并对每道题(包括概念题)都尽可能给出详细的参考答4.补充难点习题,强化相关知识。为了进一步巩固和强化各章知识难点的复习,每章参考本书严格按照教材内容进行编写,共分12章,每章由三部分组成:第一部分为复习笔记,总结本章的重难点内容;第二部分是课(章)后习题详解,对第4版的所有习题都进行了详|计算机类()提供全国各高校计算机类专业考研考博辅导班【一对一辅导(面授/网授)、网授精讲班等】、多媒体e书、多媒体题库(免费下载,免费升级)、全套资料(历年真题及答案、笔记讲义等)、计算机类国内外经典教材名师讲堂、考研教辅1.互动学习:摇一摇,找学友,交友学习两不误频、语音等形式),交友学习两不误;学习圈内有学霸解答本书学习中的问题,并配有专职2.720度立体旋转:好用好玩的全新学习体验3.手机扫码即可阅读,精彩内容,轻松分享扫码即可在手机阅读,随处随学。可以不用客4.质量保证:每本e书都经过图书编辑队伍多次反复修改,年年升级5.免费升级:更新并完善内容,终身免费升级6.功能强大:记录笔记、答案遮挡等十大功能(1)知识点串联列举相同知识点内容列表呈现,便于读者记忆和复习,举一反三,触(2)划线添加笔记——使用颜色笔工具,划一条线,写笔记,提交纠错。【独家推出】(3)答案遮挡——先看题后看答案,学习效果好。【独家推出】(4)全文检索——输入关键词,本书相关内容一览无余。【独家推出】7.多端并用:电脑手机平板等多平台同步使用本书一次购买,多端并用,可以在PC端(在线和下载)、手机(安卓和苹果)、平板(安卓和苹果)等多平台同步使用。同一本书,使用不同终端登录,可实现云同步,即更换不同()是一家为全国各类考试和专业课学习提供辅导方案【保过班、网授班、3D电子书、3D题库】的综合性学习型视频学习网站,拥有近100种考试(含418个考试科目)、194种经典教材(含英语、经济、管理、证券、金融等共16大类),合计近万小时的面授班、网授如您在购买、使用中有任何疑问,请及时联系我们,我们将竭诚为您服务!详情访问:(计算机类)第1章操作系统引论1.1复习笔记第2章进程的描述与控制第3章处理机调度与死锁(1)方便性第4章存储器管理第5章虚拟存储器第6章输入输出系统第7章文件管理第8章磁盘存储器的管理第9章操作系统接口第10章多处理机操作系统第11章多媒体操作系统第12章保护和安全第1章操作系统引论1.操作系统的目标配置操作系统(OS)后,系统可以使用编译命令将用户采用高级语言书写的程序翻译成机(2)有效性早期未配置OS的计算机系统,各种资源无法得到充分利用,配置OS后,能有效分配各种OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而(3)可扩充性OS必须具有很好的可扩充性,才能适应计算机硬件、体系结构以及应用发展的要求。(4)开放性开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。开放性2.操作系统的作用操作系统(OperatingSystem,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的(1)OS作为用户与计算机硬件系统之间的接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统。图1-1是OS作为接图1-1OS作为接口的示意图③管理I/O设备,负责I/O设备的分配与操纵;(3)OS实现了对计算机资源的抽象①在裸机上覆盖上一层I/O设备管理软件,如图1-2所示,由它来实现对I/O设备操作的细节,并向上将I/O设备抽象为一组数据结构以及一组I/O操作命令。图1-2I/O软件隐藏了I/O操作实现的细节②在第一层软件(I/O管理软件)上再覆盖一层用于文件管理的软件,由它来实现对文件OS是铺设在计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还隐藏了对硬3.推动操作系统发展的主要动力(1)不断提高计算机资源的利用率(2)方便用户续推动OS发展的主要因素。(3)器件的不断更新换代(4)计算机体系结构的不断发展计算机体系结构的发展,不断推动着OS的发展,也促进了新的OS类型的产生。(5)不断提出新的应用需求不断提出的新的应用需求是推动OS迅速发展的另一个重要原因。1.未配置操作系统的计算机系统从1945年诞生的第一台计算机,到50年代中期的计算机,都属于第一代计算机,这时还未出现OS,对计算机的全部操作都是采用以下两种方式(1)人工操作方式早期的操作方式是由程序员将事先已穿孔的纸带(或卡片),装入纸带输入机(或卡片输入机),再启动它们将纸带(或卡片)上的程序和数据输入计算机,然后启动计算机运行。②缺点人工操作方式仅当程序运行完毕并取走计算结果后,才允许下一个用户上级,它具有以下两方面的缺点:a.用户独占全机,即一台计算机的全部资源由上机用户所独占。b.CPU等待人工操作。当用户进行装带(卡)、卸带(卡)等人工操作时,CPU及内存等资源是空闲的。③人机矛盾人机矛盾指的是人工操作方式严重降低了计算机资源的利用率。(2)脱机输入/输出(OfflineI/O)方式①概述为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机I/O技术。在脱机I/O过程中,程序和数据的输入和输出都是在外围机的控制下,即脱离主机的情况下完成的,图1-3为脱机I/O示意图。②优点a.减少了CPU的空闲时间由于脱机I/O方式中,程序和数据的输入输出过程都是在脱机情况下由外围机完成的,并不占用主机时间,从而有效地减少了CPU的空闲时间。当CPU在运行中需要输入数据时,是直接从高速的磁带上将数据输入到内存的,极大地提2.单道批处理系统(1)处理过程①首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;②当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业③计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成。单道批处理系统的处理流程如图1-4所示。这种单道批处理系统仍然不能很好地利用系统资源,故现已很少使用。图1-4单道批处理系统的处理流程(2)单道批处理系统的缺点单道批处理系统最主要的缺点是,系统中的资源得不到充分的利用。这是因为在内存中仅有一道程序,每逢该程序在运行中发出I/O请求后,CPU便处于等待状态,必须在其I/O完成后才继续运行。又因I/O设备的低速性,更使CPU的利用率显著降低。图1-5显示了单道程序的运行情况,从图可以看出:在t₂~t3、t₆~t7时间间隔内CPU空闲。图1-5单道程序的运行情况3.多道批处理系统(MultiprogrammedBatchProcessingSystem)(1)基本概念由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。图1-6显示了多道程序的运行情况。①人机交互图1-6多道程序的运行情况(2)多道批处理系统的优点引入多道批处理能使多道程序交替运行,以保持CPU处于忙碌状态;在内存中装入多道程b.仅当作业完成时或运行不下去时才进行切换,系统开销小。(3)多道批处理系统的缺点(4)多道批处理系统需要解决的问题系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满4.分时系统(TimeSharingSystem)(1)分时系统的引入在20世纪60年代,计算机还十分昂贵,一台计算机要同时供很多用户共享使用。显然,用(2)分时系统实现中的关键问题来暂存用户键入的命令(或数据)。a.作业直接进入内存b.采用轮转运行方式(3)分时系统的特征时间确定的,通常仅为1~3秒钟。5.实时系统(RealTimeSystem)(1)实时系统的类型①工业(武器)控制系统中,形成一个多媒体文件。如在用DVD播放器所播放的数字电影中就包含了音频、视频和配置嵌入式OS,它同样需要具有实时控制或处理的功能。(2)实时任务的类型a.周期性实时任务b.非周期性实时任务并无明显的周期性,但都必a.硬实时任务(HardReal-timeTask,HRT)b.软实时任务(SoftReal-timeTask,SRT)(3)实时系统与分时系统特征的比较①多路性②独立性配置在微型机上的操作系统称为微机操作系统,最早诞生的微机操作系统是配置在8位微机上的CP/M,微机操作系统可按微机的字长分为8位微机操作系统、16位微机操作系统、32为微机操作系统和64位微机操作系统,也可按运行方式分为以下几类:(1)单用户单任务操作系统行,这是最简单的微机操作系统,主要配置在8位和16位微机上,最有代表性的单用户单任务微机操作系统是CP/M和M(2)单用户多任务操作系统(3)多用户多任务操作系统正是系统中的程序能并发执行这一特征,才使得OS能有效地提(1)并行与并发(2)引入进程2.共享(Sharing)共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,相应地,把这种(1)互斥共享方式(2)同时访问方式3.虚拟(Virtual)(1)时分复用技术统中只有一台处理机,但通过分时复用的方法,能实现同时(宏观上)为多个用户服务,使我们还可以利用虚拟设备技术,也通过分时复用的方法,将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户占用一台逻辑上的I/0设备。这样便可使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多(2)空分复用技术4.异步(Asynchronism)以人们不可预知的速度向前推进,此即进程的异步性(As在这四个基本特征中,并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是程对共享资源的访问,也必然会影响到诸进程问并发1.处理机管理功能(1)进程控制进程控制的主要功能也就是为作业创建进程、撤消(终止)已结束的进程,以及控制进程在(2)进程同步是为多个进程(含线程)的运行进行协调。常用的协调方式有两种:(3)进程通信(4)调度2.存储器管理功能(1)内存分配b.提高存储器的利用率,尽量减少不可用的内存空间(碎片)。c.允许正在运行的程序申请附加的内存空间,以适应程序和数据动态增长的需要。a.静态分配方式b.动态分配方式(2)内存保护b.绝不允许用户程序访问操作系统的程序和数据,也不允许用户程序转移到非共享的其它②内存保护的目的(3)地址映射(4)内存扩充①内存扩充的定义②内存扩充实现的功能a.请求调入功能若发现要继续运行时所需的程序和数据尚未装入内存,可向OS发出请求,由OS从磁盘中b.置换功能3.设备管理功能并完成指定的I/O操作以及提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备。为了实现上述任务,设备管理应具有的功能有缓冲管理、设备分配、设备(1)缓冲管理如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛(2)设备分配设备分配的基本任务是根据用户进程的I/O请求、系统现有资源情况以及按照某种设备分(3)设备处理即由CPU向设备控制器发出I/0命令,要求它完成指定(1)文件存储空间的管理(2)目录管理(3)文件的读/写管理和保护文件读,写指针,对文件进行读,写。一旦读/写完成,便修改读,写指针,为下一次读,②文件保护a.防止未经核准的用户存取文件;b.防止冒名顶替存取文件;5.操作系统与用户之间的接口(1)用户接口这是为批处理作业的用户提供的。用户用作业控制语言JCL把需要对作业进行的控制和干操作界面,用非常容易识别的各种图标(icon)来将系统的各项功能、各种应直观、逼真地表示出来。用户可通过菜单(和对话框)用移动鼠标选择菜单项的方式取代命(2)程序接口一途径。它是由一组系统调用组成的,每一个系统调用每当应用程序要求OS提供某种服务(功能)时,便调用具有相应功能的系统调用(子程序)。6.现代操作系统的新功能(1)系统安全这是一个用来确认被认证的对象是否名副其实的过程,以确定对象的真实性,防止入侵者进行假冒和篡改等。在被认证对象与要验证的那些参数之间应存在严格的对应关系。②密码技术即对系统中所需存储和传输的数据进行加密,使之成为密文,这样,攻击者即使截获到数据,也无法了解到数据的内容。只有指定的用户才能对该数据予以解密,了解其内容,从而有效地保护了系统中信息资源的安全性。③访问控制技术可通过两种途径来保障系统中资源的安全:a.通过对用户存取权限的设置,可以限定用户只能访问被允许访问的资源,这样也就限定了用户对系统资源的访问范围;b.访问控制还可以通过对文件属性的设置来保障指定文件的安全性,如设置文件属性为只读时,该文件就只能被读而不能被修改等。④反病毒技术对于病毒的威胁,最好的解决方法是预防,不让病毒侵入系统,但要完全做到这一点是十分困难的,因此还需要非常有效的反病毒软件来检测病毒。(2)网络的功能和服务①网络通信用于在源主机和目标主机之间,实现无差错的数据传输,如建立和拆除通信链路、传输控制、差错控制和流量控制等。②资源管理即对网络中的共享资源(硬件和软件)实施有效的管理,协调诸用户对共享资源的使用,保证数据的安全性和一致性。典型的共享硬件资源有硬盘、打印机等,软件资源有文件和数据。③应用互操作即在一个由若干个不同网络互连所构成的互连网络中,必须提供应一用互操作功能,以实现信息的互通性和信息的互用性。信息的互通性是指在不同网络中的用户之间,能实现信息的互通。信息的互用性是表示用户可以访问不同网络中的文件系统和数据库系统中的信息。(3)支持多媒体一个支持多媒体的操作系统必须能像一般OS处理文字、图形信息那样去处理音频和视频信息等多媒体信息,为此,现代操作系统增加了多媒体的处理功能:①接纳控制功能在多媒体系统中,为了保证同时运行多个实时进程的截止时间,需要对在系统中运行的软实时任务,即SRT任务的数目、驻留在内存中的任务数目加以限制,为此设置了相应的接纳控制功能,如媒体服务器的接纳控制、存储器接纳控制和进程接纳控制。②实时调度多媒体系统中的每一个任务,往往都是一些要求较严格的、周期性的软实时任务SRT,如为了保证动态图像的连续性,图像更新的周期必须在40ms之内,因此在SRT调度时,不仅需要考虑进程的调度策略,还要考虑进程调度的接纳度等,相比传统的OS这就要复杂得多。③多媒体文件的存储为了存放多媒体文件,对OS最重要的要求是能把硬盘上的数据快速地传送到输出设备上。因此,对于在传统文件系统中数据的离散存放方式以及磁盘寻道方式都要加以改进。1.传统操作系统结构一代)、模块化结构的OS(第二代)和分层式结构的OS(第三代),都统称为传统结构的OS,而把微内核结构的OS称为现代结构的OS。(1)无结构操作系统(2)模块化结构OS有一定独立性和大小的模块。图1-7显示了由模块、子模块等组成的模块化OS结构。图1-7模块化结构的操作系统②模块独立性a.内聚性,指模块内部各部分间联系的紧密程度。内聚性越高,模块的独立③模块接口法(无序模块法)的优缺点利用模块一接口法开发的OS,较之无结构OS具有以下明显的优点:a.在OS设计时,对各模块间的接口规定很难满足b.在OS设计阶段,设计者必须做出一系列的决定(决策),每一个决定必须建立在上一(3)分层式结构OSa易保证系统的正确性b.易扩充和易维护性2.客户/服务器模式(Client/ServerModel)(1)客户/服务器模式的由来、组成和类型客户/服务器系统主要由客户机、服务器、网络系统三部分组成。通常在一个LAN网络上连接有多台网络工作站(简称客户机),每台客户机都是一个自主②服务器中的用户进程与服务器进程就形成了客户/服务器关系。③网络系统(2)客户,服务器之间的交互(3)客户/服务器模式的优点C/S模式之所以能成为在分布式系统和网络环境下软件的一种主要工作模式,是由于该模尽管C/S模式具有分布处理功能,但公司(单位)中的有关全局的重要信息、机密资料、C/S模式非常灵活,极易扩充。理论上,客户机和服务器的数量不受限制,其灵活性还表(4)客户/服务器模式的缺点3.面向对象的程序设计(Object-OrientatedProgramming)技术简介(1)基本概念来表示系统中的某个对象的。对象中的变量(数据)称为属性,它是对外隐蔽的,外界不能对它直接进行访问,必须通过该对象中的一组方法(操作函数)对它进行访问。对象的示意图如图1-8所示。类中所定义的变量在实例中均有具体的值。类和对象的关系如图1-9所示。图1-8一个对象的示意图图1-9类和对象的关系类被称为父类(A)。继承是父类和子类之间共享变量和方法的机制,该机制规定子类自动共变量和方法。继承关系见图1-10所示。图1-10类的继承关系(2)面向对象技术的优点4.微内核OS结构(1)基本概念我们可以从下面四个方面对微内核结构的操作系统进行描述。①足够小的内核在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本核心功能的小型内核,微内核并非是一个完整的OS,而只是将操作系统中最基本的部分放入微内核,微内核通常包含以下几部分:a.与硬件处理紧密相关的部分;b.一些较基本的功能;c.客户和服务器之间的通信。②基于客户,服务器模式由于客户/服务器模式具有非常多的优点,故在单机微内核操作系统中几乎无一例外地都采用客户,服务器模式,将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现。图1-11示出了在单机环境下的客户,服务器模式。图1-11在单机环境下的客户/服务器模式在现在操作系统的结构设计中,经常利用“机制与策略分离”的原理来构造OS结构。机制,是指实现某一功能的具体执行机构。而策略,则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标。④采用面向对象技术操作系统是一个极其复杂的大型软件系统,我们不仅可以通过结构设计来分解操作系统的复杂度,还可以基于面向对象技术中的“抽象”和“隐蔽”原则控制系统的复杂性,再进一步利用展性”等,并提高操作系统的设计速度。(2)微内核的基本功能①进程(线程)管理进程(线程)之间的通信功能是微内核OS最基本的功能,被频繁使用,因此,几乎所有的微内核OS都是将进程(线程)之间的通信功能放入微内核中。②低级存储器管理在微内核中,只配置最基本的低级存储器管理机制,如用于实现将用户空间的逻辑地址变换为内存空间的物理地址的页表机制和地址变换机制,这一部分是依赖于硬件的,因此放入微③中断和陷入处理(3)微内核操作系统的优点微内核操作系统提供了规范而精简的应用程序接口(API),为微内核外部的程序编制高质③可移植性强在微内核结构的操作系统中,所有与特定CPU和I/0设备硬件有关的代码(4)微内核操作系统存在的问题微内核OS存在着潜在的缺点。其中最主要的是,较之早期OS,微内核OS的运行效率有1.设计现代OS的主要目标是什么?(1)方便性配置操作系统(OS)后,系统可以使用编译命令将(2)有效性早期未配置OS的计算机系统,各种资源无法得到充分利用,配置OS后,能有效分配各种OS可以通过合理地组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而(3)可扩充性OS必须具有很好的可扩充性,才能适应计算机硬件、体系结构以及应用发展的要求。(4)开放性2.OS的作用可表现在哪几个方面?(1)OS作为用户与计算机硬件系统之间的软件接口OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统;在计算机系统中,通常都包含硬件和软件资源,归纳起来可将资源分为4类:处理器、存储器、I/O设备以及信息(数据和程序)。相应地,OS的主要功能也正是针对这4类资源进行有效的管理。为了管理好这些共享资源(包括硬件和信息)的使用,操作系统必须记录下各(3)OS实现了对计算机资源的抽象它向用户(进程)提供了一个对硬件操作的抽象模型,用户可利用抽象模型提供的接口使用3.为什么说OS实现了对计算机资源的抽象?(1)在裸机上覆盖上一层I/O设备管理软件,由它来实现对I/O设备操作的细节,并向上提供一组I/O命令,用户可利用它来进行数据输入或输出,而无需关心I/O是如何实现的。(2)在第一层次的抽象上再覆盖上一层用于文件的管理软件,同样由它来实现文件操作的4.试说明推动多道批处理系统形成和发展的主要动力是什么。这就是OS最初发展的推动力。在此推动力的5.何谓脱机I/O和联机I/O?为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,20世纪50年代末出现了脱机输入/输出(Off-LineI/O)技术。该技术是事先将装有用户程序和数据的纸带(或卡片)装入纸带输入机(或卡片机),在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上。当CPU需要这些程序和数据时,再从磁带上当CPU需要输出时,可由CPU直接高速地把数据从(2)联机I/O6.试说明推动分时系统形成和发展的主要动力是什么?7.实现分时系统的关键问题是什么?应如何解决?答:(1)实现分时系统的关键问题(2)解决方案入的命令(或数据)。8.为什么要引入实时OS?9.什么是硬实时任务和软实时任务?试举例说明。(1)硬实时任务及其举例硬实时任务(Hardreal-timeTask)是系统必须满足任务对截止时间的要求,否则可能出现难(2)软实时任务及其举例软实时任务(Softreal-timeTask)是它也联系着一个截止时间,但并不严格,若偶尔错过了10.试从交互性、及时性以及可靠性方面将分时系统与实时系统进行比较。(2)及时性一般为秒级到毫秒级,甚至有的要低于100微秒。(3)可靠性(1)并发性并发性(Concurrence),是指两个或多个事件在同一时间间隔内发生。(2)共争性共享(Sharing),是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用,(3)虚拟性(4)异步性12.在多道程序技术的OS环境下的资源共享与一般情况下的资源共享有何不同?对独占资OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程(2)独占资源应采取的共享方式13.什么是时分复用技术?举例说明它能提高资源利用率的根本原因是什么。答:(1)时分复用技术的定义(2)时分复用技术能提高资源利用率的根本原因14.是什么原因使操作系统具有异步性特征?15.处理机管理有哪些主要功能?其主要任务是什么?(1)进程控制(2)进程同步为多个进程(含线程)的运行进行协调,协调分为进程互斥方式和进程同步方式。(3)进程通信(4)处理机调度从后备队里按照一定的算法,选择出若干个作业,为它们分配运内存)。16.内存管理有哪些主要功能?其主要任务是什么?(1)内存分配(2)内存保护(3)地址映射(4)内存扩充17.设备管理有哪些主要功能?其主要任务是什么?户进程提出的I/O请求,为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O设备处理速度;方便用户使用I/O设备。(1)缓冲管理(2)设备分配设备分配的基本任务是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备的(3)设备处理设备处理程序又称为设备驱动程序,其基本任务是实现C18.文件管理有哪些主要功能?其主要任务是什么?(1)文件存储空间的管理(2)目录管理(3)文件的读/写管理和保护19.试说明推动传统OS演变为现代OS的主要因素是什么,?答:推动传统OS演变为现代OS的主要因素如下:(1)不断提高计算机资源的利用率用率,这是OS最初发展的推动力。(2)方便用户(3)器件的不断更新换代(4)计算机体系结构的不断发展计算机体系结构的发展,不断推动着OS的发展,也促进了新的OS类型的产生。(5)不断提出新的应用需求20.什么是微内核OS?答:微内核(MicroKernel)操作系统结构是20世纪80年代后期发展起来的。它能有效地支持多处理机运行,非常适用于分布式系统环境,微内核OS主要有以下四个方面的特征:(1)足够小的内核能实现现代OS最基本的核心功能的部分,微内核并非是一个完整的OS,而只是操作系统(2)基于客户/服务器模式一组服务器(进程)中实现。在传统的OS中,将机制放在OS的内核的较低层,把策略放在内核的较高层次中。而在微(4)采用面向对象技术21.微内核操作系统具有哪些优点?它为何能有这些优点?答:(1)微内核操作系统的优点微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只须在相应的服务器中增加新的功能,或再增程序接口(API),为微内核外部的程序编制高质量的代码创造了条件。此外,由于所有服由于在微内核OS中,客户和服务器之间以及服务器和服务器之间的通信,是采用消息传递通信机制进行的,致使微内核OS能很好地支持分布式系统和网络系统。(2)微内核操作系统具有上述优点的原因微内核OS结构是建立在模块化、层次化结构的基础上的,并采22.现代操作系统较之传统操作系统又增加了哪些功能和特征?答:(1)现代操作系统增加的功能传统的OS具有处理机管理、存储器管理、设备管理、文件管理和提供友好的用户接口这五大功能,现代OS中还增加了面向安全、面向网络和面向多媒体等功能。(2)现代操作系统增加的特征现代操作系统较传统的多道批处理系统、实时操作系统以及分时操作系统增加并发性、资23.在微内核OS中,为什么要采用客户/服务器模式?外面的一组服务器(进程)中实现。24.在基于微内核结构的OS中,应用了哪些新技术?25.何谓微内核技术?在微内核中通常提供了哪些功能?答:(1)微内核技术的定义把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量(2)微内核技术提供的功能在微内核中通常提供了进程(线程)管理、低级存储器管理、中断和陷入处理功能。①进程(线程)管理进程(线程)之间的通信功能是微内核OS最基本的功能,被频繁使用,因此,几乎所有的微内核OS都是将进程(线程)之间的通信功能放入微内核中。1.在单处理机系统中,可并行的是()。[2009年统考]I.进程与进程Ⅱ.处理机与设备Ⅲ.处理机与通道IV.设备与设备A.I、Ⅱ和Ⅲ【答案】D查看答案【解析】单处理机即只有一个处理机(此处不包含多核的情况),某时刻处理机只能执行一个2.订购机票系统处理来自各个终端的服务请求,处理后通过终端回答用户,所以它是一个A.分时系统B.多道批处理系统C.计算机网络D.实时信息处理系统【答案】D查看答案3.批处理操作系统的目的是()。A.提高系统与用户的交互性能B.提高系统资源利用率C.降低用户作业的周转时间D.减少用户作业的等待时间【答案】B查看答案特定区域(一般称为输入井)将其组织好并按一定的算法选择其中的一个或几个作业,将其4.()不是设计实时操作系统主要的追求目标。A.安全可靠B.资源利用率C.及时响应D.快速处理【答案】B查看答案用,数据结构简洁明了,任务切换速度快,能够处理时间驱动的任务(周期性任务)和事件4.用户可以通过()两种方式来使用计算机。A.命令方式和函数方式B.命令方式和系统调用方式C.命令方式和文件管理方式D.设备管理方式和系统调用方式【答案】B查看答案①命令方式。这是指由OS提供的一组联机命令(语言),用户可通过键盘键入有关的命令,5.操作系统在计算机系统中位于()之间。A.CPU和用户之间B.中央处理器CPUC.计算机硬件和用户D.计算机硬件和软件之间【答案】C查看答案户有密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间,用户通过OS来使用计算机系统。或者说,用户在OS帮6.操作系统是对()进行管理的软件。A.软件B.硬件C.计算机资源D.应用程序【答案】C查看答案【解析】从一般用户的观点,可把OS看做是用户与计算机硬件系统之间的接口;从资理的观点看,则可把OS视为计算机系统资源的管理者。另外,OS实现了对计算机资源的二、填空题1.多道运行的特征之一是宏观上并行,它的含义是-0一定的算法从队列选择若干个作业调入内存,共享CPU和系统的各种资源,并发【答案】单用户多任务;多用户多任务;单用户单任务查看答案运行,这是一种最简单的微机操作系统,主要配置在8位微机和16位微机上,最有代表性任务,使它们并发执行,从而有效地改善系统的性能。目前在32位微机上所配置的32位微操作系统:而在32位微机上,也有不少是配置的多用户多任务操作系统。其中,最有代表性的是WindowsNT和UNIX。3.多道程序设计的特点是多道、和o_【答案】宏观上并行;微观上串行查看答案一定的算法从队列选择若干个作业调入内存,共享CPU和系统的各种资源,并发地执行。种原因而不能占用CPU时,其他程序占用CPU,提高了CPU的利用率。因此,多道程序4.操作系统是对计算机进行程序,是和用户的接口。【答案】控制和管理,合理组织计算机系统的工作流程;计算机硬件查看答案(1)控制和管理计算机系统的软、硬件资源,使之得到有效利用;(2)合理组织计算机系统的工作流程,以增强系统的处理能力;(3)提供用户与操作系统之间的软件接口,使用户能通过操作系统方便地使用计算机。5.所谓操作系统虚拟机的概念,是指前者是实际存在的,而后者是虚的,只是用户的一种感觉。在单CPU的计算机系统中能同时运行多道程序,好像每个程序都独享一个CPU,这就是虚拟。在构造操作系统时,把操6.批处理系统主要解决问题,分时系统主要解决问题。【答案】吞吐量;交互性查看答案【解析】批处理系统主要是解决吞吐量问题,其主要优点是系统吞性是分时系统的主要特征之一,它主要是指用户通过终端设备(如键盘、鼠标)向系统发出1.什么是操作系统?它有什么基本特征?答:操作系统(OperatingSystem,简称OS)是一个管理计算机系统资源,控制程序运行的系统软件,它为用户提供了一个方便、安全、可靠的工作环境和界面。它有4个基本特征。2.分时系统和实时系统的主要区别是什么?设计适应于实时环境的主要困难是什么?(1)多路性。实时信息处理系统与分时系统一样具有多路性。系统按分时原则为多个终端(2)独立性。实时信息处理系统与分时系统一样具有独立性。每个终端用户在向实时系统(3)及时性。实时信息系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定的,一般为秒级、百毫秒级直至毫秒级,甚至有的要低于100微秒;(4)交互性。实时信息处理系统具有交互性,但这里人与系统的交互,仅限于访问系统中(5)可靠性。分时系统要求系统可靠,相比之下,实时系统对系统可靠性要求更高,因为3.在计算机配置上,操作系统有哪几方面的目标?答:计算机配置操作系统是为了方便用户(方便性)、提高效率(有效性)、功能扩展和环境开放(可扩充性)。目前存在着多种类型的OS,不同类型的OS其目标各有所侧重。在计算机硬件上配置的OS(1)方便性。配置OS后可使计算机系统更容易使用。一个未配置OS的计算机系统是难以使用的,因为计算机硬件只能识别0和1这样的机器代码。如果用户在计算机硬件上配置了OS,用户便可通过OS提供的各种命令来使用计算机系统。(2)有效性。在未配置OS的计算机系统中,诸如CPU、I/0设备等各类资源,都会经常处于空闲状态而得不到充分利用;内存及外存中所存放配置了OS后,可使CPU和I/0设备由于能保持忙碌状态而得到更为有效的利用,且由于(3)方便性和有效性是操作系统最重要的两个目标。在过去很长一段时间内,由于计算机重于如何提高计算机系统资源的利用率和系统吞吐量问题。但是,近10年来在微机上所配(4)可扩充性。超大规模集成电路的诞生,以及各种由不同生产厂家生产的硬件设备在使4.举例说明为什么操作系统起到了扩展机器的作用?[北大2004年研]于最基本的命令read与write,每个read及write命令都需要13个参数,这些参数被组合在一个9字节的数据中。这些参数给出了需要读的磁盘块的地址时候,控制芯片会返回23个状态以及错误码,它们会被组合到7个字节长的数据中。不仅果电动机是关着的,在读/写数据前,它必须被打开(伴随很长一段启动延时)。电动机也不第2章进程的描述与控制1.前趋图(1)定义一条语句,结点间的有向边则表示两个结点之间存在的偏序(PartialOrder)或前趋关系(2)相关概念进程(或程序)之间的前趋关系可用“→”来表示,如果进程P₁和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,也可写成Pi→Pj。Pi→P;表示在Pj开始执行之前Pi必须完成。此时称Pi是P;的直接前趋,而称Pj是Pi的直接在前趋图中,把没有前趋的结点称为初始结点(InitialNode)。在前趋图中,把没有后继的结点称为终止结点(FinalNode)。在前趋图中,每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或程序(3)图形表示前趋图如图2-1所示,应当注意,前趋图中是不允许有循环的图2-1前趋图2.程序顺序执行(1)程序的顺序执行都需要按照某种先后次序顺序执行,仅当前一程序段执行完图2-2程序顺序执行的前趋图(2)程序顺序执行时的特征前结束;封闭性是指程序在封闭的环境下运行,即程序运行时独占全机资源,资态外)只有本程序才能改变它,程序一旦开始执行,其执行结果不受外界因素影响;3.程序并发执行程序顺序执行时,虽然可以给程序员带来方便,但系统资源利用率低,为此,在系统中引入了多道程序技术,使程序或程序段间能并发执行。(1)程序的并发执行并非所有的程序都能并发执行,只有在不存在前趋关系的程序之间才可能并发执行,否则无法并发执行。图2-2显示出了输入、计算和打印这三个程序对一批作业进行处理的情况。但若是对一批作业进行处理时,每道作业的输入、计算和打印程序段的执行情况如图2-3所示。图2-3程序并发执行时的前趋图由图2-3可以看出,存在前趋关系Ii→C,Ii→Ii+1,C→Pi,C→Ci+1,Pi→Pi+1,而Ii+1和Ci及Pi-1是重叠的,即在Pi-1和Ci以及Ii+1之间,不存在前趋关系,可以并发执行。对于具有下述四条语句的程序段:可画出图2-4所示的前趋关系。可以看出:S₃必须在a和b被赋值后方能执行;S₄必须在S₃之后执行;但S₁和S₂则可以并发执行,因为它们彼此互不依赖。图2-4四条语句的前趋关系(2)程序并发执行时的特征程序间的并发执行,虽然提高了系统吞吐量和资源利用率,但由于程序间共享了系统资源,并且它们为完成同一项任务而相互合作,导致了在并发执行的程序之间形成了相互制约的关系,给程序并发执行带来了如下新的特征:①间断性程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间形成了相互制约的关系。②失去封闭性1.进程的定义和特征(1)进程的定义①进程是程序的一次执行。(2)进程控制块(PCB)①定义为了使参与并发执行的每个程序(含数据)都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块(ProcessControl②作用(3)进程的特征基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。2.进程的基本状态及转换(1)进程的三种基本状态①就绪(Ready)状态这是指进程己处于准备好运行的状态,即进程己分配到除CPU以外的所有必要资源后,只要再获得CPU,便可立即执行。如果系统中有许多处于就绪状态的进程,通常将它们按一定的策略(如优先级策略)排成一个队列,称该队列为就绪队列。这是指进程已获得CPU,其程序正在执行的状态。对任何一个时刻而言,在单处理机系统③阻塞(Block)状态这是指正在执行的进程由于发生某事件(如I/0请求、申请缓冲区失败等)暂时无法继续(2)三种基本状态的转换图2-5示出了进程的三种基本状态,以及各状态之间的转换关系。图2-5进程的三种基本状态及其转换(3)创建状态和终止状态量的限制推迟新进程的提交(创建状态)。②终止状态进程的终止要通过两个步骤:首先,是等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还系统。当一个进程到达了自然结束点,或是出现了无法克服的错误,或图2-6示出了增加了创建状态和终止状态后进程的五种状杰及转换关系图。图2-6进程的五种基本状态及转换3.挂起操作和进程状态的转换(1)引入挂起操作的原因(2)引入挂起原语操作后三个进程状态的转换当进程处于未被挂起的就绪状态时,称此为活动就绪状态,表示为Readya,此时进程可以Suspend原语将它挂起后,进程便转变为静止阻塞状态,表示为Blockeds。处于该状态的进程在其所期待的事件出现后,它将从静止阻塞变为静止就绪Readys状态。处于Readys状态的进程若用激活原语Active激活后,该进程将转变为Readya状态。处于Blockeds状态的进程若用激活原语Active(3)引入挂起操作后五个进程状态的转换如图2-8示出了增加了创建状态和终止状态后具有挂起状态的进程状态及转换图。与图2-7图2-7具有挂起状态的进程状态图图2-8具有创建、终止和挂起状态的进程状态图4.进程管理中的数据结构(1)操作系统中用于管理控制的数据结构批指针。如图2-9所示。图2-9操作系统控制表的一般结构(2)进程控制块PCB的作用PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运当一个程序(含数据)配置了PCB后,就表示它已是一个能在多道程序环境下独立运行的、有了PCB后,系统就可将CPU现场信息保存在被中断进程的PCB中,供该进程再次被调度执行时恢复CPU现场时使用。在进程的整个生命期中,操作系统总是根据PCB实施对进程的控制和管理。(3)进程控制块中的信息a.外部标识符为了方便用户(进程)对进程的访问,须为每一个进程设置一个外部标识符。它是由创建者b.内部标识符为了方便系统对进程的使用,在OS中又为进②处理机状态a.通用寄存器有8~32个通用寄存器,在RISC结构的计算机中可超过100个。b.指令计数器c.程序状态字PSWd.用户栈指针在OS进行调度时,必须了解进程的状态及有关进程调度的信息,这些信息包括:a.进程状态b.进程优先级c.进程调度所需的其它信息它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时a.程序和数据的地址进程实体中的程序和数据的内存或外存地(首)址,以便再调度到该进程执行时,能从PCBb.进程同步和通信机制c.资源清单在该清单中列出了进程在运行期间所需的全部资源(除CPU以外),另外还有一张已分配d.链接指针给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。(4)进程控制块的组织方式即将系统中所有的PCB都组织在一张线性表中,将该表的首址存放在内存的一个专用区域系统。图2-10示出了线性表的PCB组织方式。图2-10PCB线性表示意图②链接方式即把具有相同状态进程的PCB分别通过PCB中的链接字链接成一个队列。图2-11示出了图2-11PCB链接队列示意图状态的某个PCB在PCB表中的地址。图2-12示出了索引方式的PCB组织。图2-12按索引方式组织PCB1.操作系统内核不同类型和规模的OS,它们的内核所包含的功能间存在着一定的差异,但大多数OS内核(1)支撑功能原语(Primitive),就是由若干条指令组成的,用于完成一定功能的一个过程,是一个不可(2)资源管理功能由于设备管理与硬件(设备)紧密相关,因此其中很大部分也都设置在内核中。2.进程的创建(1)进程的层次结构①正常结束①父进程在OS中,允许一个进程创建另一个进程,通常(2)进程图于描述进程间关系的一棵有向树,如图2-13所示。图中的结点代表进程。在进程Pi创建了进程Pi之后,称P₁是P;的父进程(ParentProcess),P;是Pi的子进程(ProgenyProcess)。图2-13进程树(3)引起创建进程的事件在多道批处理系统中,当作业调度程序按一定的算法调度到某个(些)作业时,便将它(们)装入内存,为它(们)创建进程,并把它(们)插入就绪队列中。④应用请求(4)进程的创建(CreationofProcess)①申请空白PCB,为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白P③初始化进程控制块(PCB),包括初始化标识信息,初始化处理机状态信息,初始化处理3.进程的终止(1)引起进程终JE(TerminationofProcess)的事件a.越界错b.保护错c.非法指令d.特权指令错e.运行超时f.等待超时g.算术运算错a.操作员或操作系统干预b.父进程请求c.因父进程终止(2)进程的终止过程的进程:⑤将被终止进程(PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。4.进程的阻塞与唤醒(1)引起进程阻塞和唤醒的事件在某些系统中,特别是在网络环境下的OS,往往设置一些特定的系统进程,每当这种进程(2)进程阻塞过程block将进程阻塞,阻塞过程如下:并将PCB插入阻塞队列。塞进程的处理机状态,按新进程的PCB中的处理机状态设置CPU的环境。(3)进程唤醒过程语wakeup,将等待该事件的进程唤醒。wakeup执行的过程如下:①把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就②将该PCB插入到就绪队列中。5.进程的挂起与激活(1)进程的挂起当系统中出现了引起进程挂起的事件时,OS将利用挂起原语suspena.检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状b.为了方便用户或父进程考查该进程的运行情况,而把该进程的PCB复制到某指定的内存c.若被挂起的进程正在执行,则转向调度程序重新调度。(2)进程的激活过程a.激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改b.采用适当的调度策略,分配激活进程的调度。②描述1.进程同步的基本概念(1)进程同步机制的主要任务进程同步机制的主要任务,是对多个相关进程在执行次序上进行协调,使并发执行的诸进程之间能按照一定的规则(或时序)共享系统资源,并能很好地相互合作,从而使程序的执行具有可再现性。(2)两种形式的制约关系①间接相互制约关系多个程序在并发执行时,由于共享系统资源,致使在这些并发执行的程序之间形成相互制约的关系。②直接相互制约关系由于两个或多个进程为完成同一项任务而相互合作,在并发执行的程序之间形成的相互制约关系,称为直接相互制约关系。(3)临界资源(CriticalResouce)诸进程间应采取互斥方式,实现对这临界资源的共享。(4)临界区(criticalsection)不论是硬件临界资源还是软件临界资源,多个进程必须互斥地对它进行访问。将在每个进程中访问临界资源的那段代码称为临界区(criticalsection)。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。(5)同步机制应遵循的规则①空闲让进当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。②忙则等待当已有进程进入临界区时,表明临界资源正在被访问,因而其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。③有限等待对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。④让权等待当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。2.硬件同步机制(1)关中断①概述关中断是实现互斥的最简单的方法之一。在进入锁测试之前关闭中断,直到完成锁测试并上锁之后才能打开中断。②缺点a.滥用关中断权力可能导致严重后果;b.关中断时间过长,会影响系统效率,限制了处理器交叉执行程序的能力;c.关中断方法不适用于多CPU系统。①定义这是一种借助一条硬件指令—“测试并建立”指令TS(Test-and-Set)以实现互斥的方法。TS指令的一般性描述如下:有两种状态:当lock=FALSE时,表示该资源空闲;当lock=TRUE时,表示该资源正在被用TS指令管理临界区时,为每个临界资源设置一个布尔变量lock,由于变量lock代表了该资源的状态,故可把它看成一把锁。lock初值为FALSE,表示该临界资源空闲。进程在进可以进入,并将TRUE值赋予lock,这等效于关闭了临界资源,使任何进程都不能进入临界区,否则必须循环测试直到TS(s)为TRUE。(3)利用Swap指令实现进程互斥该指令称为对换指令,在Intel80x86中又称为XCHG指令,用于交换两个字的内容。其处3.信号量机制②操作方式(1)整型信号量最初由Dijkstra把整型信号量定义为一个用于表示资源数目的整型量s,它与一般整型量不来访问。很长时间以来,这两个操作一直被分别称为P、V操作。②描述wait(S)和signal(S)是两个原子操作,因此,它们在执行时是(2)记录型信号量typedefstruct{structprocess_contrwait(S)和signal(S)操作可描述如下:(3)AND型信号量对若干个临界资源的分配采取原子操作方式:要么把它所请求的资源全部分配到进程,要么一个也不分配,这样就可避免上述死锁情况的发生。③定义在wait操作中增加了一个“AND”条件,故称为AND同步,或称为同时wait操作,即Swait(4)信号量集①基本概念对AND信号量机制加以扩充,对进程所申请的所有资源以及每类资源不同的资源需求量,在一次P、V原语操作中完成申请或释放。进程对信号量S;的测试值不再是1,而是该资源的分配下限值t;,即要求S≥t;,否则不予分配。一旦允许分配,进程对该资源的需求值为d;,即表示资源占用量,进行S=Si-d;操作,而不是简单的S=Si-1。由此形成一般化的“信号量集”机制。对应的Swait和Ssignal格式为:②特殊情况此时在信号量集中只有一个信号量s,但允许它每次申请d个资源,当现有资源数少于d时,不予分配。此时的信号量集已蜕化为一般的记录型信号量(S>1时)或互斥信号量(S=1时)。这是一种很特殊且很有用的信号量操作。当S≥1时,允许多个进程进入某特定区;当S变为0后,将阻止任何进程进入特定区。换言之,它相当于一个可控开关。4.信号量的应用(1)利用信号量实现进程互斥为使多个进程能互斥地访问某临界资源,只需为该资源设置一互斥信号量mutex,并设其初始值为1,然后将各进程访问该资源的临界区CS置于wait(mutex)和signal(mutex)操①设mutex为互斥信号量,其初值为1,取值范围为(-1,0,1)。当mutex=1时,表示两个进程皆未进入需要互斥的临界区;当mutex=0时,表示有一个进程进入临界区运行,另外一个必须等待,挂入阻塞队列;当mutex=-1时,表示有一个进程正在临界区运行,另外(2)利用信号量实现前趋关系还可利用信号量来描述程序或语句之间的前趋关系。设有两个并发执行的中有语句S₁;P₂中有语句S₂。我们希望在S₁执行后再执行S₂。为实现这种前趋关系,只需使进程P1和P₂共享一个公用信号量S,并赋予其初值为0,将signal(S)操作放在语句S₁后面,而在S₂语句前面插入wait(S)操作。5.管程机制(1)管程①定义一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组b.局部于管程的共享数据结构说明;c.对该数据结构进行操作的一组过程;d.对局部于管程的共享数据设置初始值的语句。图2-14是一个管程的示意图。图2-14管程的示意图③特征a.模块化,即管程是一个基本程序单位,可以单独编译;b.抽象数据类型,指管程中不仅有数据,而且有对数据的操作;a.虽然二者都定义了数据结构,但进程定义的是私有数据结构PCB,管程定义的是公共数b.二者都存在对各自数据结构上的操作,但进程是由顺序程序执行有关操作,而管程主要c.设置进程的目的在于实现系统的并发性,而管程的设置则是解决共享资源的互斥使用问d.进程通过调用管程中的过程对共享数据结构实行操作,该过程就如通常的子程序一样被(2)条件变量②条件变量的说明wait和signal,因此条件变量也是一种抽象数据类型,每个条件变量保存了一个链表,用于条件变量同时提供的两个操作可表示为x.wait和x.signal,其正在调用管程的进程因x条件需要被阻塞或挂起,则调用x.wait将自己插入到x条件的等待队列上,并释放管程,直到x条件变化。此时其它进程可以使用该管程。正在调用管程的进程发现x条件发生了变化,则调用x.signal,重新启动一个因x条件而1.生产者—消费者问题(1)利用记录型信号量解决生产者—消费者问题假定在生产者和消费者之间的公用缓冲池中具有n个缓冲区,这时可利用互斥信号量mutex②描述(2)利用AND信号量解决生产者—消费者问题对于生产者—消费者问题,也可利用AND信号量来解决,即用Swait(empty,mutex)来代替wait(empty)和wait(mutex);用Ssignal(mutex,full)来代替signal(mutex)和signal(full);用Swait(full,mutex)利用AND信号量来解决生产者—消费者问题的算法中的生产者和消费(3)利用管程解决生产者—消费者问题在利用管程方法来解决生产者消费者问题时,首先便是为它们建立procducerconsumer,或简称为PC。生产者利用该过程将自己生产的产品投放到缓冲池中,并用整型变量cou中已有的产品数目,当count≥N时,表消费者利用该过程从缓冲池中取出一个产品,当count≤2.哲学家进餐问题(1)利用记录型信号量解决哲学家进餐问题所有信号量均被初始化为1,第i位哲学家的活动可描述为:b.仅当哲学家的左、右两只筷子均可用时,才允许他拿起筷子进餐。按此规定,将是1、2号哲学家竞争1号筷子:3、4号哲学家竞争3号筷子。即五位哲学家(2)利用AND信号量机制解决哲学家进餐问题在哲学家进餐问题中,要求每个哲学家先获得两个临界资源(筷子)后方能进餐,故用AND3.读者写者问题(1)利用记录型信号量解决读者—写者问题再设置一个整型变量Readcount表示正在读的进程数目。读者—写者(2)利用信号量集机制解决读者—写者问题对利用信号量集来解决读者—写者问题的描述如下:进程就都可以进入读操作。但只要一旦有writer进程就都无法进入读操作。Swait(mx,1,1,L,RN,0)语句表示仅当既无writer进程在1.进程通信的概念(1)进程通信的定义(2)进程通信的分类a.使用方便OS隐藏了实现进程通信的具体细节,向用户提供了一组用于实现高级通信的命令(原语),b.高效地传送大量数据用户可直接利用高级通信命令(原语)高效地传送大量的数据。a.效率低生产者每次只能向缓冲池投放一个产品(消息b.通信对用户不透明OS只为进程之间的通信提供了共享存储器。而关于2.高级进程通信的类型(1)共享存储器系统(Shared-MemorySystem)(2)管道(pipe)通信系统即当一个进程正在对pipe执行读/写操作时,其它(另一)进程必须等待。指当写(输入)进程把一定数量的数据写入pipe,便去睡眠等待,直到读(输出)进程取走(3)消息传递系统(Messagepassingsystem)是指发送进程利用OS所提供的发送原语。直接把消息发送给目标进程;是指发送和接收进程,都通过共享中间实体(称为邮箱)的方式进行消息的发送和接收,完(4)客户机—服务器系统(Client-Serversystem)①套接字(Socket)a.基于文件型b.基于网络型在不同主机的网络环境下,被分配了一对套接字,一个属于接收进程(或服务器端),一个属于发送进程(或客户端)。远程过程(函数)调用RPC(RemoteProcedureCan),是一个通信协议,用于通过网络连a.本地过程调用者以一般方式调用远程过程在本地关联的客户存根,传递相应的参数,然b.客户存根执行,完成包括过程名和调用参数等信息的消息建立,将控制权转移给本地客c.本地客户进程完成与服务器的消息传递,e.该服务器存根接到消息后,由阻塞状态转入执行状态,拆开消息从中取出过程调用的参f.在服务器端的远程过程运行完毕后,将结果返回给与之关联的服务h.远程服务器进程将消息发送回客户端;i.本地客户进程接收到消息后,根据其中的过程名将消息存入关联的客户存根,再将控制j.客户存根从消息中取出结果,返回给本地调用者进程,并完成控制权的转移。3.消息传递通信的实现方式(1)直接消息传递系统在直接消息传递系统中采用直接通信方式,即发送进程利用0s所提供的发送命令(原语),①直接通信原语a.对称寻址方式两条通信命令(原语):b.非对称寻址方式send(P,message);发送一个消息给进程P;receive(id,message);接收来自任何进程的消息,id变量可设置为进行通信的发送方进程id或名字。a.在单机系统环境中,可采用比较短的定长消息格式,以减少对消息的处理和存储开销。b.对于需要发送较长消息的用户可采用变长的消息格式,即进程所发送消息的长度是可变c.对于变长消息,系统无论在处理方面还是存储方面,都可能会付出更多的开销,但其优(或接收)或者阻塞。由此,我们可得到三种情况:a.发送进程阻塞,接收进程阻塞b.发送进程不阻塞、接收进程阻塞c.发送进程和接收进程均不阻塞a.建立链路的方式第二,发送进程无须明确提出建立链路的请求,只须利用系统提供的发送命令(原语),系b.链路的分类第二,双向通信链路,既允许由进程A向进程B发送消息,也允许进程B同时向进程A发(2)信箱通信a.信箱头b.信箱体由若干个可以存放消息(或消息头)的信箱格组成,信箱格的数目以及每格的大小是在创建在消息传递方式上,最简单的情况是单向传递。消息的传递也可以是双向的。图2-15示出图2-15双向信箱示意图a.邮箱的创建和撤消私用或共享);对于共享邮箱,还应给出共享者的名字。当进程不再需要读邮箱时,可用邮b.消息的发送和接收a.私用邮箱b.公用邮箱c.共享邮箱b.多对一关系允许提供服务的进程与多个用户进程之间进行交互,也称为客户/服务器交互(client/c.一对多关系允许一个发送进程与多个接收进程进行交互,使发送进程可用广播方式向接收者(多个)发d.多对多关系4.直接消息传递系统实例(1)消息缓冲队列通信机制中的数据结构在进程的PCB中增加消息队列队首指针,用于对消息队列进行操作,以及用于实现同步的(2)发送原语发送进程在利用发送原语发送消息之前,应先在自己的内存空间设置一发送区a,如图2-16语,把消息发送给目标(接收)进程。图2-16消息缓冲通信②描述(3)接收原语接收进程调用接收原语receive(b),从自己的消息缓冲队列mq中摘下第一个消息缓冲区i,并将其中的数据复制到以b为首址的指定消息接收区内。②描述七、线程(Threads)的基本概念1.线程的引入(1)进程的两个基本属性括用于存放程序正文、数据的磁盘和内存地址空间,以及它在运行时所需要的I/O设备、个可独立调度和分派的基本单位。每个进程在系统中有唯一的PCB,系统可根据其PCB感知进程的存在,也可以根据其PCB中的信息,对进程进行调度,还可将断点信息保存在其PCB中。反之,再利用进程PCB中的信息来恢复进程运行的现场。(2)程序并发执行所需付出的时空开销I/O设备,以及建立相应的PCB;系统在撤消进程时,又必须先对其所占有的资源执行回收操作,然后再撤消对进程进行上下文切换时,需要保留当前进程的CPU环境,设置新选中进程的CPU环境,(3)线程—作为调度和分派的基本单位2.线程与进程的比较(1)调度的基本单位①在传统的OS中,进程是作为独立调度②而在引入线程的OS中,已把线程作为调度和分派(2)并发性①在引入线程的OS中,不仅进程之间可以并发执行,而且在一个进程中的多个线②不同进程中的线程也能并发执行,这使得OS具有更好的并发性,从而能更加有效地提高(3)拥有资源(4)独立性(5)系统开销(6)支持多处理机系统3.线程的状态和线程控制块(1)线程运行的三个状态②就绪状态,指线程已具备了各种执行条件,只须再获得CPU便可立即执(2)线程控制块TCB如同每个进程有一个进程控制块一样,系统也为每个线程配置了一个线程控制块T⑦堆栈指针,在TCB中,也须设置两个指向堆栈的指针:指向用户自己堆栈的指针和指向(3)多线程OS中的进程属性①进程是一个可拥有资源的基本单位在多线程OS中,进程仍是作为系统资源分配的基本单位,任一进程所拥有的资源都包括:用户的地址空间、实现进程(线程)间同步和通信的机制、已打开的文件和已申请到的I/程为这些线程提供资源及运行环境,使它们能并发在多线程OS中,是把线程作为独立运行(或称调度)的基本单位。此时的进程已不再是一1线程的实现方式(1)内核支持线程KST(KernelSupportedThreads)①优点a.在多处理器系统中,内核能够同时调度同一进b.如果进程中的一个线程被阻塞了,内核可以调度该进程中的其它线程占有c.内核支持线程具有很小的数据结构和堆栈,线程的切换比d.内核本身也可以采用多线程技术,可以提高系统的执行速度和效率。②缺点(2)用户级线程ULT(UserLevelThreads)①优点a.线程切换不需要转换到内核空间b.调度算法可以是进程专用的在不干扰OS调度的情况下,不同的进程可以根据自身需要选择不同的调度算法,对自线程进行管理和调度,而与OS的低级调度算法是无关的。c.用户级线程的实现与OS平台无关因为对于线程管理的代码是属于用户程序的一部分,所有的应用程序都可以②缺点a.系统调用的阻塞问题b.在单纯的用户级线程实现方式中,多线程应用不能利用多处理机进行多重处理的优点,内核每次分配给一个进程的仅有一个CPU,因此,进程中仅有一个线程能执行,在该线程放弃CPU之前,其它线程只能等待。(3)组合方式组合方式多线程机制能够结合KST和ULT两者的优点,并克服了其各自的不足。由于用户即将用户线程映射到一个内核控制线程。如图2-17(a)所示,这些用户线程一般属于一个b.优点即将每一个用户级线程映射到一个内核支持线程。如图2-17(b)所示,为每一个用户线程b.优点c.缺点a.定义即将许多用户线程映射到同样数量或更少数量的内核线程上。如图2-17(c)所示,内核控b.优点图2-17多线程模型2.线程的实现(1)内核支持线程的实现便为它分配一个任务数据区PTDA(PerTaskDataArea),其中包括若干个线程控制块TCB空间,如图2-18所示。在每一个TCB中可保存线程标识符、优先级、线程运行的CPU状图2-18任务数据区空间(2)用户级线程的实现①运行时系统(RuntimeSystem)“运行时系统”实质上是用于管理和控制线程的函数(过程)的集合,其中包括用于创建和撤这种线程又称为轻型进程LWP(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年某房地产公司与某家居企业关于智能家居系统的合同
- 雨水收集利用项目施工合同
- 垃圾焚烧发电厂大包工程施工合同
- 亲子教育机构店长招聘合同样本
- 研发服务租赁承包合同
- 剧院内部装修项目合同
- 林业作业拖拉机租赁合约
- 生态治理施工员聘用协议
- 河北省承德市2023-2024学年高一上学期期末考试数学试题(解析版)
- 设备维修进度协议
- 吉兰巴雷综合症的护理
- 第19课资本主义国家的新变化【中职专用】《世界历史》(高教版2023基础模块)
- 中医病历书写基本规范
- 作物育种方法与实践智慧树知到期末考试答案2024年
- 个人建筑工程技术职业生涯发展规划报告
- 排球《正面上手发球》教案
- 浣溪沙细雨斜风作晓寒
- 2024-2030年中国pcba板行业市场现状分析及竞争格局与投资发展研究报告
- 2023年检测站站长工作总结报告
- 排球竞赛规则
- 2024版药品管理法
评论
0/150
提交评论