版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(第一 操作系统引论 (第二 进程管 (第1 进程的基本概念与进程的状 (第2讲 进程的同步与互斥(一)第3 进程的同步与互斥(二
((第三 处理机调度与死 (第1 作业和进度调度算 (第2 死锁的避 (第3 死锁的检测与解 (第四 存储器管 (第1讲程序的装入与链接第2讲内存管理方案(一)第讲内存管理方案(二
(((第4 页面置换算 (第五 设备管 (第1讲 设备相关概念第2 磁盘调度算
((第六 文件管 (第1 文件的结 (第2 目录与外存空间管 (~、考研分1.在计算机专业硕士研究生入学全国统考中,作为专业课综合中的一个版块进行考察。在部分自主命题院校硕士研究生入学考试中有单独作为一个科目进行考察,也有和其他一门或者两门科目联合出题。出题形式多为选择题和综合应用题侧重于基础知识点及对知识点灵活运用的考核二、复习方分清复习的阶段,把握复习进亲手做题,在练习中总结出题方向和方法,重视真题,透彻分析,揣摩出题人心理。只有做好一定量的习题,才能帮助理解和牢固掌握考点。讲过的知识点和题彻底掌握并及时回顾,不要学过忘过注重知识点之间的联系不可忽视基础概念和知识体系。但是同时还要做到重点突出,突破难点,查缺补漏。教材作者:汤小丹、汤子瀛等编出版社:西安电子科技大学出版社版次:第三版参考书1梁红兵,汤小丹《计算机操作系统学习指导与题解》西安电子科技大学出版社张尧学,史美林,张高《操作系统教程》清华大学出版社许曰滨《计算机操作系统》北京邮电大学出版社有限公三、考研题型及分值分题分值分选择分左综合分析分左四、考研内容及分值分章重难必考考试题绪选进程管√√√选择、综合分处理机管理和死√√√选择、综合分存储器管√√√选择、综合分文件系√√√选择、综合分设备管√选五、考研题型及题型考核点分题考核涉及章作业调度算3进程的同步与互2银行家算法避免死3资源分配图判定死3页式内存管理逻辑地址到物理地址转换4段式内存管理逻辑地址到物理地址转换4虚拟内存管理的页面置换算4链式、索引存储文件存储空间的换6系统外存文件的三级索引结6成组链接法外存空间的分配与回6磁盘寻道算6磁盘扇区旋转算62六、章节知识点及题型分章知识题易考1掌握操作统的功能、特征、分选择题操作系统的功能、特程的定义、进程与程序的区进程的定义及为什么引进进程状态2进程状态的切进程的同步与互选择题3.4.号程量的定4.线6.户级与核心级线综合分析题1.程的同步与互作业调度算选择题1.2.算的原进程调度算3死锁产生的必要条1.业调度算银行家算法避免死5.资源分配图对死锁的判综合分析题3.法和临时资源分配图简判定是否有死发生程序地址再定选择题1.序地址再定位的方分区存储管理方4分页存储管理方案的确1.页管理的内存寻分段存储方案的确综合分析题2.段管理的内存寻虚拟内存管理的页面置换算3.面置换算1.通2.控制方选择题通道类2.控制方5缓冲区管冲区管理磁盘寻道算综合分析题2.盘寻道算磁盘扇区旋转算3.盘扇区旋转算文件的逻辑结文件的物理结选择题1.2.和阻止方享和保护机6目录管外存空间的管文件的共享和保综合分析题1.2.辑和物理结构的管理7命令接系统功能调用结选择题3第一 操作系统引~、考点精操作系统的地位和作图计算机系统的组操作系统在计算机系统中的地1.作为用户与计算机硬件系统之间的接3.用作扩充机操作系统的类单道批处理系单道批处理系统(SimpleBatchProcessingSystem)的处理过4单道批处理系统是最早出现的一种OS,严格地说,它只能算作是OS的前身而并非是现在人们所理解的OS。尽管如此,该系统比起人工操作方式的系统已有很大进步。该系统的主要特征如下:(1)自动性(2)顺序性(3)单道性多道批处理系多道程序设计的基本概在单道批处理系统中,内存中仅有一道作业,它无法充分利用系统中的所有资源,致使系统性能较差。为了进一步提高资源的利用率和系统吞吐量,形成了多道批处理系统(MultiproredBatchProcessingm)。在该系统中。用户所提交的作业都先存放在外存上并排成一个队列,称为“后备队列”;然后,由作业调度程序按一定的算法从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源。在中引入多道程序设计技术可带来以下好处(1)提高的利用率当内存中仅有一道程序时,每逢该程序在运行中发出I/O请求后,CPU空闲,必须在其I/O完成后才继续运行;在引入多道程序设计技术后,由于同时在内存中装有若干道程序,并使它们交替地运行。这样,当正在运行的程序因I/O而暂停执行时,系统可调度另一道程序运行,从而保持了CPU处于忙碌状态。(2)可提高内存和设备利用率为了能运行较大的作业,通常内存都具有较大容量,但由于80%以上的作业都属于中小型,因此在单道程序环境下,也必定造成内存的浪费。类似地,对于系统中所配置的多种类型的I/O设备,在单道程序环境下也不能充分利用。如果允许在内存中装入多道程序,并允许它们并发执行,则无疑会大大提高内存和设备的利用率。5(3)增加系统吞吐量在保持CPU、设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量,从而降低作业加工所需的费用。多道批处理系统的优缺(1)资源利用率(2)系统吞吐量(3)平均周转时间(4)无交互能分时系分时系统(TimeSharingSystem)的产如果说,推动多道批处理系统形成和发展的主要动力,是提高资源利用率和系统吞吐量,那么,推动分时系统形成和发展的主要动力,则是用户的需求。或者说,分时系统是为了满足用户需求所形成的一种新型OS。它与多道批处理系统之间,有着截然不同的性能差别。用户的需求具体表现在以下几个方面:(1) 机交互(2)共享主机(3)便于用户上机分时系统的特(1)多路(2)独立(3)及时(4)交互实时系所谓“实时”,是表示“及时”,而实时系统(Real-Timem)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。应用需(1)实时控(2)实时信息处实时系统与分时系统特征的比(1)多路(2)独立(3)及时(4)交互(5)可靠6网络操作系统(NOS,NetworkOperating计算机网通过通信系统把地理上分散的计算机和终端连接起来,以达到数据通信和资源共享的目的的一组计算机集合。计算机网络的特(1)分布(2)自治(3)互连(4)可见网络操作系统定义建立在主机操作系统基础上,用于管理网络通信和共享资源,协调各主机上任务的运行,并相用户提供统一的、有效的网络接口的软件集合。分布式操作系分布式系统能直接对系统中的各类资源进行动态分配和管理,有效控制和协调任务的并行执行,允许系统中的处理单元无主次之分,并相用户提供有效统一的接口的软件集合。模块分布式系统有若干个结构相同并具有相同的处理能力的处理单元构成。任务可以分配到其中任一的单元去执行。提高了系统性能和可靠性。并行分布式可以将一个作业分散在各机器上并行执行“进程迁移”操作系统的基本特并发(并行性和并发性是既相似又有区别的两个概念,并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内,宏观上有多个程序在同时运行,但在单处理机系统中,每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。共享(在操作系统环境下,所谓共享是指系统中的资源可供内存中多个并发执行的进程(线程)共同使用。由于资源属性的不同,进程对资源共享的方式也不同,目前主要有以下两种资源共享方式。互斥共享方在一段时间内只允许一个进程(线程)访问该资源7同时访问方系统中还有另一类资源,允许在一段时间内由多个进程“同时”对它们进行访问。这里所谓的“同时”往往是宏观上的,而在微观上,这些进程可能是交替地对该资源进行访问。典型的可供多个进程“同时”访问的资源是磁盘设备。自治分布式系统的各个处理单元都包含有处理机和局部存储器,具有独立执行任务的能力透明用户是否知道或指定资源在哪个机器上(如CPU、内存或外设)。分布式系统的网络资源调度对用户透明,用户不了解所占有资源的位置;虚拟(操作系统中的所谓“虚拟”,是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。物理实体(前者)是实的,即实际存在的;而后者是虚的,是用户感觉上的东西。相应地,用于实现虚拟的技术,称为虚拟技术。在OS中利用了多种虚拟技术,分别用来实现虚拟处理机、虚拟内存、虚拟外部设备和虚拟信道等。异步性(在多道程序环境下,允许多个进程并发执行,但只有进程在获得所需的资源后方能执行。在单处理机环境下,由于系统中只有一个处理机,因而每次只允许一个进程执行,其余进程只能等待。当正在执行的进程提出某种资源要求时,如果资源被占据,正在执行的进程必须等待。内存中的每个进程在何时能获得处理机运行,何时又因提出某种资源请求而暂停,以及进程以怎样的速度向前推进,每道程序总共需多少时间才能完成,等等,都是不可预知的。或者说,进程是以人们不可预知的速度向前推进,此即进程的异步性。操作系统的主要功处理机管理功进程控在传统的多道程序环境下,要使作业运行,必须先为它创建一个或几个进程,并为之分配必要的资源。当进程运行结束时,立即撤消该进程,以便能及时回收该进程所占用的各类资源。进程控制的主要功能是为作业创建进程、撤消已结束的进程,以及控制进程在运行过程中的状态转换。进程同进程同步的主要任务是为多个进程(含线程)的运行进行协调。有两种协调方式:进程互斥方式,这是指诸进程(线程)在对临界资源进行访问时,应采用互斥方式;进程同步方式,指在相互合作去完成共同任务的诸进程(线程)间,由同步机构对它们的执行次序加以协调。为了实现进程同步,系统中必须设置进程同步机制8进程通在多道程序环境下,为了加速应用程序的运行,应在系统中建立多个进程,并且再为一个进程建立若干个线程,由这些进程(线程)相互合作去完成一个共同的任务。而在这些进程(线程)之间,又往往需要交换信息。4.调在后备队列上等待的每个作业,通常都要经过调度才能执行。在传统的操作系统中,包括作业调度和进程调度两步。作业调度的基本任务,是从后备队列中按照一定的算法,选择出若干个作业,为它们分配其必需的资源(首先是分配内存)。在将它们调入内存后,便分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并按照一定的算法将它们插入就绪队列。而进程调度的任务,则是从进程的就绪队列中选出一新进程,把处理机分配给它。存储器管理功内存分OS在实现内存分配时,可采取静态和动态两种方式。在静态分配方式中,每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间,不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”;在动态分配方式中,每个作业所要求的基本内存空间,也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。为了实现内存分配,在内存分配的机制中应具有这样的结构和功能内存分配数据结构,该结构用于记录内存空间的使用情况,作为内存分配的依据内存分配功能,系统按照一定的内存分配算法,为用户程序分配内存空间内存回收功能,系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能内存保内存保护的主要任务,是确保每道用户程序都只在自己的内存空间内运行,彼此互不干扰种比较简单的内存保护机制,是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界。系统须对每条指令所要访问的地址进行检查,如果发生越界,便发出越界中断请求,以停止该程序的执行。地址映个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的;在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存),这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。内存扩存储器管理中的内存扩充任务,并非是去扩大物理内存的容量,而是借助于虚拟存储技术,从9辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多;或者是让更多的用户程序能并发运行。设备管理功设备管理用于管理计算机系统中所有的外围设备,而设备管理的主要任务是,完成用户进程提出的I/O请求;为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能。缓冲管而随着CPU速度迅速、大幅度的提高,使得CPU运行的高速性和I/O低速性间的矛盾更为突出,严重降低了CPU的利用率。如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高的利用率,进而提高系统吞吐量。设备分设备分配的基本任务,是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。如果在I/O设备和CPU之间,还存在着设备控制器和I/O通道时,还须为分配出去的设备分配相应的控制器和通道。为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态。设备处设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。文件管理功文件存储空间的管由文件系统对诸多文件及文件的存储空间,实施统一的管理。其主要任务是为每个文件分配必要的外存空间,提高外存的利用率,并能有助于提高文件系统的运行速度。目录管为了使用户能方便地在外存上找到自己所需的文件,通常由系统为每个文件建立一个目录项。目录管理的主要任务,是为每个文件建立其目录项,并对众多的目录项加以有效的组织,以实现方便的按名存取。其次,目录管理还应能实现文件共享,此外,还应能提供快速的目录查询手段,以提高对文件的检索速度。文件的读写管理和保(1)文件的读写管理该功能是根据用户的请求,从外存中读取数据;或将数据写入外存。在进行文件读(写)时,系统先根据用户给出的文件名,去检索文件目录,从中获得文件在外存中的位置。(2)文件保护防止未经核准的用户存取文件防止冒名顶替存取文件防止以不正确的方式使用文件用户接命令接(1)联机用户接口。这是为联机用户提供的,它由一组键盘操作命令及命令解释程序所组成。当用户在终端或控制台上每键入一条命令后,系统便立即转入命令解释程序,对该命令加以解释并执行该命令。在完成指定功能后,控制又返回到终端或控制台上,等待用户键入下一条命令。这样,用户可通过先后键入不同命令的方式,来实现对作业的控制,直至作业完成。(2)脱机用户接口。该接口是为批处理作业的用户提供的,故也称为批处理用户接口。该接口由一组作业控制语言组成。程序接口(系统功能调用接口该接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的惟一途径。它是由一组系统调用组成,每一个系统调用都是一个能完成特定功能的子程序,每当应用程序要求提供某种服务(功能)时,便调用具有相应功能的系统调用。系统调用的类进程控制类系统调(1)创建和终止进程的系统调用(2)获得和设置进程属性的系统调用(3)等待某事件出现的系统调用。文件操纵类系统调用(1)创建和删除文件(2)打开和关闭文件(3)读和写文件进程通信类系统调在OS中经常采用两种进程通信方式,即消息传递方式和共享存储区方式。当系统中采用消息传递方式时,在通信前,必须先打开一个连接。为此,应由源进程发出一条打开连接的系统调用openconnection,而目标进程则应利用接受连接的系统调用acceptconnection表示同意进行通信;然后,在源和目标进程之间便可开始通信。可以利用发送消息的系统调用sendmessage或者用接收消息的系统调用receivemessage来交换信息。通信结束后,还须再利用关闭连接的系统调用closeconnection结束通信。系统功能调系统调用及实程序的状态:计算机系统中的程序大体上分为系统程序和用户程序,前者是后者的管理者。为便于管理,引入管态(系统态):操作系统程序运行的状态算态(目态):用户程序运行的状态特权指令:特权指令是一类只能在管态下执行而不能在算态下执行的特殊的指令。这些指令在不同的机器中有不同的规定,通常与硬件有很大的关系,常见的特权指令有如下几类:①传送程序状态字的指②启动、测试和控制外设的指③存取特殊寄存器的指访管指令:本身不是特权指令,基本功能是“自愿进管”,能引起访管中断系统功能调用就是用户在程序中用访管指令调用由操作系统提供的子功能集合。有时把其中的每一个子功能称为一条广义指令。系统调用的实现过图形接图形用户接口采用了图形化的操作界面,用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件,直观、真地表示出来。用户可用鼠标或通过菜单和对话框,来完成对应用程序和文件的操作。二、真题举1.操作系统的主要作用是 管理设提供操作命管理文为用户提供使用计算机的接口,管理计算机的资【解析】操作系统是计算机系统中最重要、最基本的系统软件,位于硬件和用户之间,一方面,它能向用户提供接口,方便用户使用计算机;另一方面,它能管理计算机软硬件资源,以便合理充分地利用它们。操作系统主要功能:处理机管理、存储管理、设备管理、文件管理、网络与通信管理、用户接口()是多道程序的基本特征A.制约 B.顺序C.功能的封闭 D.运行过程的可再现【解析】 所谓多道程序设计是指允许多个程序同时进入一个计算机系统的主储存器并启动进行计算的方法。多道程序的运行环境比单道要复杂得多,具体表现有:失去了封闭性,程序之间存在相互干扰(制约性),由此产生的问题是不再具有静态程序的顺序性和可再现性。3.单处理机系统中,可并行的是 )【2009年统考Ⅰ进程与进 Ⅱ处理机与设Ⅲ处理机与通 Ⅳ设备与设A.Ⅰ、Ⅱ和 B.Ⅰ、Ⅱ和 C.Ⅰ、Ⅲ和 D.Ⅱ、Ⅲ和【解析】 单处理机即只有一个处理机,某时刻处理机同时只能处理一个进程,所以进程与进程之间不能并行执行。处理机、通道、设备都能并行执行。比如同时打印(设备)、计算(处理机)、传输数据(通道控制内存和外存间数据交换)。【考查点】并行的概念4.下列选项中,操作系统提供的给应用程序的接口是 )【2010年统考A.系统调 B.中 C.库函 D.原【解析 操作系统提供两类接口—类是命令接口,比如用户通过键盘命令和鼠标命令来操作计算机。一类是程序接口,它提供一组系统调用,用户可以通过运行一些应用程序来访问操作系统的资源。中断是系统内部对于事件响应的机制,对于应用程序是透明的,不会提供给应用程序。库函数和原语都是面对操作系统底层的,不会提供给应用程序。【考查点】操作系统提供的功三、本讲小本讲主要讲解了:操作系统的地位、作用、特重点讲解了:操作系统的四大功能和一种接口。常考题型:选择题。应试方法:熟练理解和掌握基本功能第二 进程管~、复习注意事掌握进程、线程、同步与互斥、进程通信的基本概念。重点深刻理解和掌握以下几点深刻理解引进进程的原因进程的基本状态和进程状态变换的条件使用信号量和P、操作解决进程的同步与互斥二、目录分多道程序设计及进程产生的原进程定义[一般了解进程基本状态[熟练掌握进程的同步与互斥[重点掌握进程通信[一般掌握线程[一般了解三、考研分考重点与难点考试中见题型复习思路与方本章中的几个基本念;进斥1.记概念;进程状态的变换;用信选择题、合分析题解并熟练掌握本章的几个号量解决同步与互◦同与互斥的实例◦第1 进程的基本概念与进程状~、考点精多道程序设把一个以上的程序放入内存中,并且同时处于运行状态,这些程序共享和其它资源。特点下多道:内存中有多道程序,它们在任一时刻必须处于就绪、运行、阻塞三种状态宏观上并行:从宏观上看,它们在同时执行微观上串行:从微观上看,它们在交替、穿插执行两个进程执行示意图见视多道程序设计优点:利用率高。设备利用率高。系统吞吐量大。并发执行的特征失去封闭性:共享资源,程序之间互相制约出现相互制约关系:虽然每个程序还是一个相对独立的实体,单由于程序的并发执行,使得一个程序的顺序执行要依赖于其他程序的执行结果,这样就形成了相互制约的关系。间断性:程序之间的制约关系致使程序执行时间不连贯按乘客需要查找R1:=ifR1>=1thenbegiR1:=R1-1;Hi:=R1;售出一张票按乘客需要查找R1:=ifR1>=1thenbegiR1:=R1-1;Hi:=R1;售出一张票售完’};按乘客需要查找R2:=ifR2>=1thenbegiR2:=R2-1;Hi:=R2;售出一张票else{提示‘票已售完’};初始Hi=时不同执行序列,结果各不相执行序号12程i:=R1TR1:=R11结T1:售出一张票T2:票已售完Hi=0T2:售出一张票T1:售出一张票Hi=1综上所述,由于程序的并发执行破坏了程序的封闭性和可再现性,使得程序和程序的执行不再一一对应,因此,程序这个静态的概念已经不能切实反映程序执行的各种特征。于是,引入“进程”,能够反映程序执行的独立性、并发性和动态性等特征进程是程序的一次执行进程是可以和别的计算并发执行的计算进程是定义在一个数据结构上并能在其上进行操作的一个程序进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。进程与程序的区别进程是动态的,程序是静态的:程序是有序代码的集合,属于静态的文本概念;进程是程序的一次执行。进程是并发的,会相互制约,程序是顺序的进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。进程是程序的一次执行,该程序可与其它程序并发执行;它是一个动态实体,在传统的操作系统设计中,进程既是基本的分配单位,也是基本的执行单位。进程组成:有程序段、数据段和进程控制块(PCB)组成。程序和数据是进程存在的物理基础,是进程的实体。进程控制块是进程的灵魂,是进程存在的唯一标志操作系统为进程创建进程控制块和分配地址空间的过程就是进程创建的过程。进程基本状态运行态(Running):进程已经获得所需资源,并占有CPU。就绪态(Ready):已经获得所需资源,只等待CPU。阻塞态(Blocked):也称为等待态、挂起态或睡眠态等,进程等待某个事件,如等待完成,待某个资源此外,还可以有新建态、终止态。进程状态的转换状态进程模引起创建进程的事(1)用户登录(2)作业调度(3)提供服务(4)应用请求2.进程的创建(Creationof(2)为新进程分配资源(3)初始化进程控制块(4)将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。进程的终止1.引起进程终止(TerminationofProcess)的事1)正常结束2)异常结束3)外界干预进程的终止过(1)根据被终止进程的标识符,从集合中检索出该进程的PCB,从中读出该进程的状态(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。(3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程(4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。进程的阻塞与唤醒引起进程阻塞和唤醒的事1)请求系统服务;2)启动某种操作;3)新数据尚未到达;4)无阻塞过程正在执行的进程,当发现上述某事件时,由于无法继续执行,于是进程便通过调用阻塞原语block把自己阻塞。首先立即停止执行,然后将本进程插入到具有相同事件的阻塞(等待)队列。最后,转调度程序进行重新调度,将处理机分配给另一就绪进程。进程唤醒过当被阻塞进程所期待的事件出现时,则由有关进程调用唤醒原语wakeup(),将等待该事件的进程唤醒。唤醒原语执行的过程是:首先把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪,然后再将该插入到就绪队列中。进程的挂起与激进程的挂当出现了引起进程挂起的事件时,系统将利用挂起原语suspend()将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程是:首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将之改为静止阻塞。最后,若被挂起的进程正在执行,则转向调度程序重新调度。进程的激活过active()将指定进程激活。激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;若为静止阻塞便将之改为活动阻塞。二、真题举1.下列选项中,导致创建新进程的操作是 )【2010年统考Ⅰ户登陆成Ⅱ备分Ⅲ动程序执A.Ⅰ和B.Ⅱ和C.Ⅰ和D.Ⅰ、Ⅱ、【解析】 用户登陆成功就是需要为这个用户创建进程来解释用户的各种命令操作。设备分配由内核自动完成,不需要创建新进程。启动程序执行的目的就是创建一个新进程来执行程序【考查点】导致进程创建的事2.由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,造成不正确的因素( )。A.与时间有 B.只与进程占用的处理机有C.与执行速度无 D.只与外界的影响有【解析】 由于各进程的异步推进,进程之间的制约关系与时间有关,也即与进程的执行速度有关。3.在下列叙述中,正确的一条是 分时系统中,时间片越小,响应时间越多道程序的引入,主要是为了提高及其他资源的利用飞机票订票系统是分时系是进程存在的唯一标志,而程序是系统感知进程的唯一实【解析】分时系统的响应时间≈q,n是用户数目,q是时间片。当在用户数目一定的情况下,时间片越小,响应时间越短。在单道程序环境下,系统的全部资源为一个作业所独占,如果该作业在进行输入或输出时,CPU仍然被它所占有,处于等待状态。如果采用多道程序设计技术,当某个作业输入或输出时,CPU就可处理其他的作业,其他资源也是类似的。飞机票订票系统是实时信息处理系统是进程存在的唯一标志,也是系统感知进程存在的唯一实体。而进程的程序部分描述了进程所要完成的功能。有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1,加1和减操作的指令序列分别如下所示。【年统考//加1操 //减1操loadR1,x①//取x到寄存器R1 loadR2,xinc dec storex ③//将R1的内容存入 storex,R2两个操作完成后,x的值()A.可能为-1或 B.只能为C.可能为0、1或 D.可能为-1、0、1或解析见视【考查点】进程的并三、本讲小本讲主要讲解了:进程的基本概念、进程状态的转换。常考题型:选择题。应试方法:熟练理解、掌握基本概念第2 进程的同步与互斥一~、考点精进程间的相互作用同步:相互协作的进程共同完成一个任务时,一个进程的某个操作与协作进程的某个操作之间在时上有一定的关系。如果协作进程的某个操作没有完成,那么该进程就要等待这个操作完成才能继续下去,这种需要相互合作、协同工作的进程之间的相互关系称为进程的同步。互斥当两个或两个以上进程竞争同一临界资源时,进程间的制约关系称为进程的互斥1.临界区(互斥区):critical临界资系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。临界区—个程序片段的集合,在进程中涉及到临界资源的程序段叫临界区。使用临界区的原则(1)当有若干个进程要求进入临界区时,应使一个进程进入临界区,它们不应相互等待而使谁都不能进入,即进程不能无限地停留在等待临界资源的状态。(2)一次只允许一个进程进入临界区中,即各进程互斥访问临界资源(3)各进程使用临界资源的时间是有限的,即任何一个进程都必须在有限的时间内释放所占资源。信号量及P、操作信号量(phe)是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、操作改变信号量分为公用信号量和私用信号量。公用信号量:用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施P、操作;私用信号量:用于实现进程间的同步,初始值通常设为或n,允许拥有它的进程对其实施操作。信号量:semaphore信号量数据结构定义如下struct{intpointerPCB}信号量说明:Semaphores;P、V操作P({s.value=s.value-1;if(s.value<0){该进程状态置为等待状态将该进程的插入相应的等待队列末尾s.}}V(s)s.value=s.value+1;if(s.value<=0)唤醒相应等待队列s.queue中等待的一个进程改变其状态为就绪态并将其插入就绪队}}P、操作是原语操作(原语:是(由若干条机器指令构成的)完成某种特定功能的一段程序,具有不可分割性。即原语的执行必须是连续的,不允许被中断。信号量值的含义s.value>=0时,其值表示还有可用的资源数;s.value<时,其绝对值表示有多少个进程因申请该信号量表示的资源,得不到而进入阻塞态用P、操作解决进程间互斥问题设信号量:s=;生产者消费者问同步问题进程(生产者)不能往“满”的缓冲区放产品。进程(消费者)不能从“空”的缓冲区取产品。单缓冲区、一个生产者和一个消费者:设置私用信号量为S1,S2,初值为1,生生产者进程(true)生产一件产品放入一件产品;V(S2) }释放缓冲区消费者进程while(true)P(S2)区/ 请一个满缓拿出一件产品V(S1)消费产品}生生产者进程(true)生产一件产品放入一件产品;V(S2) }释放缓冲区消费者进程while(true)P(S2)区/ 请一个满缓拿出一件产品V(S1)消费产品}n个缓冲区、k个生产者和m个消费者:增加互斥信号量x,初值为1,并设S1,S2,初值分别n和0生生产者进程(true)生产一件产品P(x);放入一件产品V(x)V(S2) }释放缓冲区消费者进程while(true)P(S2)/请一个满缓区/P(x)拿出一件产品V(x)V(S1)消费产品}↑两两个操作交换对P,操作的使用应注意P,操作都是成对出现的:互斥操作时,它们在同一进程中;同步操作时,它们处于不同的进程在进程中,操作的位置和次序至关重要。一般情况下,对互斥信号量的操作在后。而作没有特别的限制P,操作的优点是原语完备,表达能力强,可以解决任何同步和互斥问题;缺点是不够安全,实现复杂二、真题举设与某资源相关联的信号量初值为3,当前值为1,若表示该资源的可用个数,表示等待该资源的进程数,则M、分别是()【年统考】A.0、 B.1、 C.1、 D.2、【解析 信号量可表示某资源的当前可使用数量当信号量时,表示此资源还有个资源可用,此时不会有等待该资源的进程。当信号量时,表示此时有||个进程在等待该资源。此题中,=,因此可用资源数=,等待该资源的进程数=【考查点】信号量的若信号量的初值
2,当前值为-3,则表示有 )个等待进程A. B. C. D.【解析 当信号量控制互斥问题时,其初值代表资源的个数本题中,初值为2,说明该种资源数量为2,当进程将2个资源全部占有之后,信号量值减至0,时若再有进程要求申请该资源,则必须在此信号量上等待,具体表现为:将信号量的值减1,导致信号量的取值为负。此时有几个进程申请该资源,信号量便被减几次;因此的值为,则表示有3个进程在等待该资源。关于临界问题的一个算法(假设只有进程和可能会进入该临界区)如下(i为或1)if(turn!=-1)turn:=if(turn!=i)gotoretry;turn:=-1;临界区;turn:=;其他区域;until该算法 不能保持进程互斥进入临界区,且会出现“饥饿”不能保持进程互斥进入临界区,但不会出现“饥饿”保证进程互斥进入临界区,但会出现“饥饿”保证进程互斥进入临界区,不会出现“饥饿【解析P0:retry:if(turn!=-1)turn:=0;①if(turn!=i)gotoretry;②turn:=-1;⑤临界区;turn:=;其他区域;P0:retry:if(turn!=-1)turn:=1;③if(turn!=i)gotoretry;④turn:=-1;⑥临界区;turn:=;其他区域;until进程并发时容易产生争夺资源现象,必须在入口码处阻止进程同时进入临界区此题中,若此时两个进程同时申请资源,此时turn的值是0,按照①②③④⑤⑥的顺序执行,两个进程同时进入临界区。值才会是,所以没有进程会饥饿。三、本讲小本讲主要讲解了:进程的基本概念、进程状态、进程的同步与互斥、进程通信和线程。重点讲解:进程的同步与互斥。常考题型:选择和综合分析应试方法:熟记概念;理解并熟练掌握本章的几个同步与互斥的实例,举一反三第3 进程的同步与互斥二~、考点精读者、写者问多个读进程可以同时共享资源,但不能和写进程共享;写进程之间互斥,访问时必须独占资源。需设置一个全局变量对读进程进行计数,当第一个读进程开始进行访问时执行P操作,当最后一个读进程结束访问时执行操作。现假设读者优先。使用readnum对读者计数,初值为0;mutex是对readnum进行互斥操作的信号量,初值为1;write是写信号量,初值为1。(x)if(readnum==1)P(write)V(x);readfile;P(x)if(readnum==0)V(write)V(x)写者进程begintefile;V(write)前面程序中,写者会出现“饥饿”现象,可以设计另一种算法,使写者优先,即当有进程读文件时,如果有写进程请求写,那么新的读进程被拒绝,待现有读进程读完后,立即让写进程开始运行,当无写进程运行时才让读进程运行设置信号量S实现读者与写者或写者之间的互斥,初值为1;用信号量Sn限制系统中最多n个进程,初值为n。读读者进程Pi(i=,2,...,n)begiP(S);(Sn);(S);readfile;V(Sn)写者进程Pj(j=,2,...,n)begP(S)fori=1tondoP(Sn)writefori=1tondoV(Sn)V(S)管程(or)解决同步问题的抽象数据类型。进程可以调用管程中的过程,但不能在管程外的过程中直接访问管程内的数据结构。基本思想是集中管理各进程临界区,按不同的管理方式定义模块的类型和结构,用数据表示抽象系统资源,增加模块的相对独立性。管程:enumstatus{eating,hungry,thinking},forkstate{free,used}statusstate[N] /哲学家状conditionself[N] /条件变量阻塞和唤醒进forkstatefork[N] /当前各个叉子的状pickup(inti)if(fork[i]=used)self[i].waiting;fork[i]=used; };putdown(inti)fork[i]=free;self[i]. }test(inti)if(fork[i]=used)returnelse{fork[i]=used;returntrue;}}philosopher(inti)boolwithtwowhile(true)state[i]=thinking;withtwoforks=false;while(!withtwoforks)state[i]=hungry;dining.pickup(i);if(dining.test((i+1)modN)withtwoforks=true;elsedining.putdown(i);}}state[i]=eating;dining.putdown(i);dining.putdown((i+1)mod5))}进程通信分类:低级通信和高级通信:根据交换信息量的多少和效率的高低,如P、操作属于低级通信;高通信包括管道通信和信箱通信低级通信只传递状态和整数值,信息量小,效率低,传递较多信息需要多次通信,编程复杂,不易理解。高级通信能够传递大批量数据,减轻程序编制的复杂度。包括共享内存模式、消息传递模式和共享文件模式(管道)。共享内存模式:一种最快捷高效的方式,在系统中被使用系统在内存中指定一个区域作为共享存储区,建立一张段表进行管理,各进程可以申请其中一个存储段,并在申请时提供关键字。若申请的存储区已经被其它进程占有,系统会向申请进程返回关键字,该存储区就链接到了进程的逻辑地址空间,此后进程就可以直接存取共享存储区中的数据了。若申请的存储段尚未分配,系统会按
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医疗设备维修与故障排除手册
- 企业固废处理设施优化设计
- 智慧物流的供应链管理优化研究
- 医疗领域中的数据挖掘与统计分析
- 企业法务手册:合同管理与风险控制
- 体育产业的营销策略分析
- 跨境电商平台的创新发展研究
- 创业者的职业规划与商业目标设定
- 建筑企业如何提升索赔管理能力
- 医院医疗器械质量控制实践
- 关于组织申报2025-2026年度教育部工程研究中心的通知
- 以综合材料赋能小学美术课堂:创新教学与实践探索
- 社区管理常识题库及答案
- 2025智能接地箱技术规范
- 软件验证的一般原则
- 胶片调色摄影课件
- 抗癫痫发作药物联合使用中国专家共识2025
- 春天的秘密幼儿园教育
- 《医学影像检查技术学》课件-足X线摄影
- 第15课《十月革命与苏联社会主义建设》中职高一下学期高教版(2023)世界历史全一册
- GB/T 11981-2024建筑用轻钢龙骨
评论
0/150
提交评论