首页 2014计算机考研学科联考408《计算机操作系统》考点精讲与复习指导

2014计算机考研学科联考408《计算机操作系统》考点精讲与复习指导

举报
开通vip

2014计算机考研学科联考408《计算机操作系统》考点精讲与复习指导 书书书 目 录 第1章 计算机系统概述 (2) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 操作系统的概念、特征、功能和提供的服务 (2) !!!!!!!!!!!!!!!!! 第二节 操作系统的发展与分类 (4) !!!!!!!!!!!!!!!!!!!!!!!!! 第2章 进程管理 (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 进程与线程 (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第二节 进程同步 (20...

2014计算机考研学科联考408《计算机操作系统》考点精讲与复习指导
书书书 目 录 第1章 计算机系统概述 (2) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 操作系统的概念、特征、功能和提供的服务 (2) !!!!!!!!!!!!!!!!! 第二节 操作系统的发展与分类 (4) !!!!!!!!!!!!!!!!!!!!!!!!! 第2章 进程管理 (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 进程与线程 (8) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第二节 进程同步 (20) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第三节 处理机调度 (27) !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第四节 死锁 (32) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第3章 存储管理 (39) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 内存管理基础 (39) !!!!!!!!!!!!!!!!!!!!!!!!!!!! 第二节 虚拟内存管理 (51) !!!!!!!!!!!!!!!!!!!!!!!!!!!! 第4章 文件管理 (62) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 文件系统基础 (62) !!!!!!!!!!!!!!!!!!!!!!!!!!!! 第二节 文件系统实现 (69) !!!!!!!!!!!!!!!!!!!!!!!!!!!! 第三节 磁盘组织与管理 (71) !!!!!!!!!!!!!!!!!!!!!!!!!!! 第5章 输入输出管理 (77) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 第一节 I/O管理概述 (77) !!!!!!!!!!!!!!!!!!!!!!!!!!!! 第二节 I/O核心子系统 (83) !!!!!!!!!!!!!!!!!!!!!!!!!!! 第三部分 计算机操作系统 今天我们来解析一下计算统考大纲操作系统部分的知识点。操作系统的研发能力很能够体现计 算机软件发展的水平,因此操作系统是计算机课程体系里很重要的一门专业核心基础原理课程。在 考研大纲里,操作系统占了35分,次于数据结构和组成原理,但高于计算机网络。总的来说,操作系 统实际上是四门考察课程里最简单的。除了PV操作这一大难点,基本没有其它特别难的原理或复杂 的算法。重要的是区分清楚各个不同的算法,不要混淆。 考查目标 1.了解操作系统在计算机系统中的作用、地位、发展和特点。 2.理解操作系统的基本概念、原理,掌握操作系统设计方法与实现技术。 3.能够运用所学的操作系统原理、方法与技术分析问题和解决问题。 知识框架 第一章 操作系统概述 操作系统的概念、特征、功能和提供的服务 操作系统的发展与分类{ 操作系统的运行环境 第二章 进程管理 进程与线程 处理机调度 进程同步      死锁 第三章 存储管理 内存管理基础 内存管理概念 交换与覆盖 连续分配管理方式      非连续分配管理方式 虚拟内存管理 虚拟内存基本概念 请求分页管理方式 页面置换算法 页面分配策略 抖动 请求分段管理方式                请求段页式管理方式 —1— 计算机操作系统考点精讲及复习指导 第四章 文件管理 文件系统基础 文件概念 文件结构 目录结构 文件共享      文件保护 文件系统实现 文件系统层次结构 目录实现{ 文件实现 磁盘组织与管理 磁盘的结构 磁盘调度算法{      磁盘的管理 第五章 输入输出(I/O管理) I/O管理概述 I/O设备 I/O管理目标 I/O管理功能 I/O应用接口 I/O      控制方式 I/O核心子系统 I/O调度概念 高速缓存与缓冲区 设备分配与回收 假脱机技术                出错处理 第一章 计算机系统概述 在操作系统的基础知识方面,我们要掌握操作系统的概念、特征、功能和提供的服务,操作系统的 发展与分类,以及操作系统的运行环境。 第一节 操作系统的概念、特征、功能和提供的服务 复习要点 重点在于操作系统的基本概念(什么是操作系统)、基本类型(主要三类)、基本特征(四点)和基 本的服务功能(五大功能)。 考点精讲 1.操作系统的基本概念 √ 管理计算机系统资源、控制程序运行的系统软件。 √ 为用户提供了一个方便、安全、可靠的工作环境和界面。 √ 操作系统是一个系统软件,它的运行既依赖于计算机系统的硬件,又要管理计算机系统的一 —2— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” 切硬件设施。 √ 在操作系统运行过程中,需要硬件强力的支持,而且有一部分功能是由硬件直接完成的,从 这个意义上讲,操作系统又不完全是软件,而是由软、硬件结合的有机体,在软、硬件的配合下,共同完 成操作系统所应完成的任务。 2.操作系统的功能 ★操作系统的目标 方便性 操作系统的设计应尽量使计算机系统更容易使用。 有效性 操作系统有利于提高系统资源。 操作系统有利于提高系统的吞吐量。 操作系统使计算机的内存、CPU、UO设备等资源得到充分地利用,并且还应能合理地组织计算机 的工作流程,从而可进一步改善系统的资源利用率及提高系统的吞吐量。 可扩充性 操作系统应采用模块化结构,以便增加新的功能模块和修改以前的功能模块。 开放性 由于生产厂家生产了各种不同类型的计算机和设备,那么就出现兼容使用的问题,为使出自不同 厂家的计算机和设备,能通过网络加以集成化并能正确、有效地协同工作,要求建立一个统一开放的 环境,其中首先要求OS具有开放性。 ★操作系统的作用 用户与计算机硬件系统之间的接口 操作系统处于用户与计算机硬件系统之间,用户通过操作系统来使用计系统。 应当注意,操作系统是一个系统软件,这种接口是软件接口。 用户可通过以下三种方式使用计算机: (1)命令方式。这是指由贴提供丁一组联机命令接口,以允许用户通过键盘输入有关命令来取 得操作系统的服务,并控制用户程序的运行。 (2)系统调用方式。0S提供了一组系统调用,用户可在自己的应用程序中通过相应的系统调用, 来实现与操作系统的通信,并取得它的服务。 (3)图形、窗口方式。这是当前使用最为方便、最为广泛的接口,允许用户通过屏幕上的窗口和 图标来实现与操作系统的通信,并取得它的服务。 计算机系统资源的管理者 在计算机系统中,通常都包含硬件和软件资源,归纳起来可将资源分为4类:处理器、存储器、I/O 设备以及信息(数据和程序)。 相应地,OS的主要功能也正是针对这4类资源进行有效地管理。即: 处理机管理:用于分配和控制处理机; 存储器管理:主要负责内存的分配与回收; I/O设备管理:负责I/O设备的分配与操纵; 文件管理:负责文件的存取、共享和保护。 扩充机器 在裸机(完全无软件的计算机系统)上安装OS后,便可变成一台功能显著增强,使用极为方便的 —3— 计算机操作系统考点精讲及复习指导 多层扩充机器或多层虚机器。 【典型例题】 【例1】 叙述操作系统在计算机系统中的位置。 【解析】操作系统是运行在计算机硬件系统上的最基本的系统软件。它控制和管理着所有的系统 硬件(CPU、内存、各种硬件部件和外部设备等),也控制和管理着所有的系统软件(系统程序和用户进 程等),操作系统为计算机使用者提供了一种良好的操作环境,也为其他各种应用系统提供了最基本 的支撑环境。 现代操作系统是一个复杂的软件系统,它与计算机硬件系统有着千丝万缕的联系,也与用户有着 密不可分的关系。它在计算机系统中,位于计算机裸机和计算机用户之间,紧挨着硬件的就是操作系 统。它通过系统核心程序,对计算机系统中的资源进行管理,如处理机、存储器、L/O设备、数据与文 档资源、用户作业等,并向用户提供若干服务,通过这些服务将所有对硬件的复杂操作隐藏起来,为用 户提供一个透明的操作环境。 在操作系统的外层是其他系统软件,操作系统是最基本的系统软件,用户可以直接通过系统软件 层与计算机打交道,也可以建立各类应用软件和应用系统,通过它们来解决用户的问题。由此可见, 操作系统是介于计算机硬件和用户之间的一个接口。 【例2】 操作系统是一种    。 A.通用软件     B.系统软件     C.应用软件     D.软件包 【答案】 B 第二节 操作系统的发展与分类 复习要点 操作系统的历史,从简单到复杂、从个人机到大型机。从不同角度对操作系统的分类。 考点精讲 ★单道批处理系统 单道批处理系统是指计算机系统对作业的处理是成批进行的,但在内存中始终保持一道作业。 该系统是在解决人机矛盾和CPU与UO设备速率不匹配的矛盾的过程中形成的。 单道批处理系统主要有自动性、顺序性和单道性3个基本特点。 √ 自动性:在/顷利情况下,在磁带上的一批作业能自动地逐个地依次运行,而无须人工干预。 √ 顺序性:磁带上的各道作业是顺序地进入内存,各道作业的完成顺序与它们进入内存的顺序 完全相同,亦即先调入内存的作业先完成。 √ 单道性:内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运 行,当该程序完成或发生异常情况时,才换入其后继程序进入内存运行。 ★多道批处理系统 由于单道批处理系统中,内存只有一道作业,使系统有较多的空闲资源,这样使得系统的性能较 差。为了进一步提高资源的利用率和系统的吞吐量,引入了多道程序技术,从而形成了多道批处理 系统。 (1)多道程序设计。多道程序设计技术是指在计算机内存中同时存放几道相互独立的程序,它们 —4— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” 在管理程序的控制下相互交替地运行。 在OS中引入多道程序设计技术可带来以下好处: 提高CPU的利用率。当内存中仅有一道程序时,每逢该程序在运行中发出I/0请求后,CPU 空闲,必须在其I/0完成后 CPU才继续运行;尤其因 I/0设备的低速性,更使 CPU利用率显著 降低。 可提高内存和I/0设备利用率。为了能运行较大的作业,通常内存都具有较大容量,但由于80% 以上的作业都属于中小型,因此在单道程序环境下,也必定造成内存的浪费。 增加系统吞吐量。在保持CPU、I/0设备不断忙碌的同时,也必然会大幅度地提高系统的吞吐量, 从而降低作业加工所需的费用。 (2)多道批处理系统的概念和特征。多道批处理操作系统允许多个程序同时装入主存储器,使一 个中央处理器轮流地执行多个作业,各个作业同时使用各自的外围设备,提高了许算机系统的资源使 用效率。 (3)多道批处理系统具有以下特征: 多道性、无序性和调度性。 (4)多道批处理系统主要优点: 资源利用率高、系统吞吐量大。 (5)多道批处理系统主要缺点: 平均周转时间长、无交互能力。 (6)多道批处理系统需要解决的主要问题: 多道批处理系统是一种有效又十分复杂的系统,为使系统中的多道程序之间能协调地运行,必须 解决如下几个问题:处理机管理问题、内存管理问题、设备管理问题、文件管理问题和作业问题。 ★分时系统 分时操作系统是多个用户通过终端机器同时使用一台主机,这些终端机器连接在主机上,用户可 以同时与主机进行交互操作而互不干扰。 分时操作系统的特征: (1)交互性:用户可通过终端与系统进行广泛的人机对话。其广泛性表现在:用户可以请求系统 提供多方面的服务,如文件编辑、数据处理和资源共享等。 (2)及时性:用户的请求能在很短的时间内获得响应。此时间间隔是以人们所能接受的等待时 间来确定的。 (3)独立性:每个用户各占一个终端,彼此独立操作,互不干扰。因此,用户所感觉到的,就像是 他一人独占主机。 (4)多路性:允许在一台主机上同时连接多台联机终端,系统按分时原则为每个用户服务。 ★实时系统 实时系统是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理, 并控制所有实时任务协调一致地运行。在实时操作系统的控制下,计算机系统接收到外部信号后及 时进行处理,并且要在严格的时限内处理完接收的事件。 实时系统与分时系统特征的比较: (1)多路性。实时信息处理系统也按分时原则为多个终端用户服务。实时控制系统的多路性则 主要表现在系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。而 —5— 计算机操作系统考点精讲及复习指导 分时系统中的多路性则与用户情况有关,时多时少。 (2)独立性。实时信息处理系统中的多个终端用户在向实时系统提出服务请求时,是彼此独立地 操作,互不干扰;而实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰。 (3)及时性。实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间 来确定的;而实时控制系统的及时性,则是以控制对象所要求的开始截止时间或完成截止时间来确定 的,一般为秒级到毫秒级。 (4)交互性。实时信息处理系统虽然也具有交互性,但这里人与系统的交互仅限于访问系统 些特定的专用服务程序。不像分时系统那样能向终端用户提供数据处理和资源共享等服务。 (5)可靠性。分时系统虽然也要求系统可靠,但相比之下,实时系统则要求系统具有高度的· 性。因为任何差错都可能带来巨大的经济损失,甚至是无法预料的灾难性后果,所以在实时 中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。 ★网络操作系统 网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效地使用 各台计算机的方法,实现各个计算机之间相互传送数据。 网络操作系统最主要的特点是网络中各种资源的共享以及各台计算机之间的通信。 ★分布式计算机系统 分布式计算机系统是由多台计算机组成并满足下列条件的系统: 系统中任意两台计算机通过通信方式交换信息; 系统中的每台计算机都具有同等的地位,即没有主机也没有从机; 每台计算机上的资源为所有用户共享; 系统中的任意若干台计算机都可以构成一个子系统,并且还能重构; 任何工作都可以分布在几台计算机上,由它们并行工作协同完成; 用于管理分布式计算机系统的操作系统称为分布式操作系统。 具有分布性和并行性。 【典型例题】 【例1】 操作系统的基本类型主要有    。 A.批处理系统、分时系统及多任务系统 B.实时操作系统、批处理系统及分时系统 C.单用户系统、多用户系统及批处理系统 D.实时系统、分时系统和多用户系统 【答案】 B 【解析】考查操作系统的基本类型分类,及各类型操作系统的特点。这部分的考查重点在于单项 选择题。 本题中,从操作系统的功能出发,主要分成:实时操作系统、批处理系统及分时系统,网络操作系 统、分布式幔柞案统。答案选B。 【例2】 实时操作系统对可靠性和安全性的要求极高,它   。 A.追求系统资源的利用率 B.不强调相应速度 C.不强求系统资源的利用率 D.不必向用户反馈信息 【答案】 C 【解析】本题中,A,B,D都是实时系统应该实现的,而资源的利用率相对比较次要。答案选C。 本章经典真题及解析 1.(2009-23)单处理机系统中,可并行的是    。 —6— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” Ⅰ.进程与进程 Ⅱ.处理机与设备  Ⅲ.处理机与通道  Ⅳ.设备与设备 A.Ⅰ、Ⅱ和Ⅲ   B.Ⅰ、Ⅱ和Ⅳ   C.Ⅰ、Ⅲ和Ⅳ   D.Ⅱ、Ⅲ和Ⅳ 2.(2010-23)下列选项中,操作OS提供的给应用程序的接口是   。 A.系统调用 B.中断 C.库 函数 excel方差函数excelsd函数已知函数     2 f x m x mx m      2 1 4 2拉格朗日函数pdf函数公式下载 D.原语 3.(2011-24)下列选项中,在用户态执行的是   。 A.命令解释程序 B.缺页处理程序 C.进程调度程序 D.时钟中断处理程序 【答案与解析】 1.D   2.A   3.A —7— 计算机操作系统考点精讲及复习指导 第二章 进程管理 进程管理是操作系统的核心功能,也是考试的重点,这部分的考试分数将在10分以上。对进程 管理知识点的细化,可以包括4个考点,分别是进程与线程的基本概念、处理机调度、进程同步与互 斥、死锁。 在进程与线程的基本概念方面,我们要掌握进程的概念、进程的状态与转换(三态模型、五态模 型)、进程控制、进程组织、进程通信(共享存储系统、消息传递系统、管道通信),以及线程的概念与多 线程模型。 在处理机调度方面,我们要掌握调度的基本概念、调度时机、切换与过程、调度的基本准则、调度 方式,特别是要掌握几种典型的调度算法,包括先来先服务调度算法、短作业(短任务、短进程、短线 程)优先调度算法、时间片轮转度算法、优先级调度算法、高响应比优先调度算法、多级反馈队列调度 算法等,搞清楚这些算法的基本原理和调度过程,以及每种调度算法的优点和缺点。 进程同步与互斥是进程管理的重点,也是操作系统学科的一个难点。这个考点的知识,一般都会 出现在考试试题中。具体包括进程同步的基本概念、实现临界区互斥的基本方法(包括软件实现方 法、硬件实现方法)、信号量(PV操作)、管程、经典同步问题(包括生产者 -消费者问题、读者 -写者 问题、哲学家进餐问题等)。我们一定要掌握PV操作的概念、流程,以及PV操作在同步问题、互斥问 题中的应用。 如果进程调度算法不合适,或者进程同步与互斥处理机制不好,就会产生死锁。死锁是进程之间 “互相等待、互相不放弃”的一种僵持状态,我们要理解死锁的概念,知道死锁发生的根本原因和有关 条件,死锁处理策略和死锁的预防、死锁的避免(系统安全状态、银行家算法),以及死锁检测和解除。 在这个知识点中,特别是要掌握死锁产生的条件,因为知道了条件,就知道了解决办法。比较常考的 内容是银行家算法。 第一节 进程与线程 复习要点 1.进程概念:程序的动态运行过程,包含了更多的内涵(数据、代码、PCB以及堆、栈等)。 2.进程的状态与转换:三种基本状态和四种主要转换。 3.进程控制:进程的创建、撤销、激活、挂起等操作。 4.进程组织:PCB的数据结构,就绪队列的排列,多个阻塞队列的组织。 5.进程通信:共享存储系统,消息传递系统,管道通信。 6.线程概念与多线程模型:线程的概念,线程的运用,线程的分类,线程的数据结构等。 考点精讲 1.程序的执行方式 ★程序顺序执行 —8— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” 仅当前一操作(程序段)执行完后,才能执行后继操作。 其特点是: (1)顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一操作必须在上一个操 作结束之后开始。 (2)封闭性:程序是在封闭的环境下执行的,即程序运行时独占全机资源,资源的状态(除初始状 态外)只有本程序才能改变它。程序一旦开始执行,其执行结果不受外界因素影响。 (3)可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论是从头到尾不停 顿地执行,还是“停停走走”地执行,都将获得相同的结果。 程序并发执行 (1)间断性:程序在并发执行时,共享系统资源,为完成同一项任务而相互合作,在并发执行的程 序间,存在相互制约的关系,并导致并发程序具有“执行一暂停一执行”这种间断性的活动规律。 (2)失去封闭性:程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将 由多个程序来改变,致使程序的运行失去了封闭性。这样,某程序在执行时,必然会受到其他程序的 影响。 (3)不可再现性:程序在并发执行时,由于失去了封闭性,也将导致其再失去可再现性。 2.进程概念 在多道程序环境下,程序的执行属于并发执行,此时它们将失去其封闭性,并具有间断性及不可 再现性的特征。这决定了通常的程序是不能参与并发执行的,因为程序执行的结果是不可再现的。 这样,程序的运行也就失去了意义。为使程序能并发执行,且为了对并发执行的程序加以描述和控 制,人们引入了“进程”的概念。 (1)进程是程序的一次执行。 (2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 (3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 3.进程的状态与转换 ★就绪状态 进程已具备运行条件,但未被进程调度程序选中,暂时不能运行。就绪态中的进程的数目可以有 多个。在单CPU环境中,就绪进程可以有n—1个。 ★执行状态 当前进程已分配到CPU,该进程对应的程序正在处理机上执行。进程的状态和 CPU的数目有直 接关系,在单CPU环境中,处于运行态的进程最多有一个。 ★阻塞状态 √ 因等待某一事件发生而暂时不能运行的状态。 √ 处于阻塞状态的进程可以有多个。 —9— 计算机操作系统考点精讲及复习指导 √ 致使进程阻塞的典型事件有:请求I/O,申请缓冲空间等。 ★新状态 一个进程建立,但还未将它送入就绪队列时的状态。 ★终止状态 当一个进程已经正常结束或异常结束,操作系统已将它从就绪队列中移出,但尚未将它撤销时的状态。 就绪、执行、阻塞三种状态的转换★五种进程状态的转换 1)新状态→就绪状态。 2)就绪→运行:就绪进程被进程调度程序选中,投入到CPU中执行。 3)运行→阻塞:因等待的事件未发生时,进程从运行态转入阻塞状态,在单CPU环境中,若存在n 个进程,处于阻塞态的进程最多为n个,此时,虽然CPU是空闲的,阻塞进程也不能进入CPU中执行。 4)阻塞→就绪:阻塞进程因等待的事件已发生时,加入到就绪队列中,而不能直接进入 CPU中 运行。 5)运行→就绪:在分时系统中,运行态进程使用的时间片已经用完时,退出 CPU而进入就绪态, 等待下次被进程调度程序选中进入CPU执行。 6)执行状态→终止状态。 ★挂起状态 引入挂起状态的原因: 1)终端用户的请求。 2)父进程请求。 3)负荷调节的需要。 4)操作系统的需要。 加入挂起状态的进程状态图: 在引入挂起状态后,需要增加从挂起状态(静止状态)到非挂起状态(活动状态)的转换。可有以 —01— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” 下几种情况: (1)活动就绪+静止就绪。当进程处于未被挂起的就绪状态时,称此为活动就绪状态。当用挂起 原语挂起该进程后,该进程便转变为静止就绪状态,处于静止就绪状态的进程不再被调度执行。 (2)活动阻塞+静止阻塞。当进程处于未被挂起的阻塞状态时,称它是处于活动阻塞状态。当用 挂起原语将它挂起后,进程便转变为静止阻塞状态。处于该状态的进程在其所期待的事件出现后,将 从静止阻塞变为静止就绪。 (3)静止就绪+活动就绪。处于就绪状态的进程,若用激活原语激活后,该进程将转变为活动就 绪状态。 (4)静止阻塞+活动阻塞。处于阻塞状态的进程,若用激活原语激活后,该进程将转变为活动阻 塞状态。 4.进程控制块 ★进程控制块的作用 1)进程控制块PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。 2)PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。 3)使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一 个能与其他进程并发执行的进程。 4)OS是根据PCB来对并发执行的进程进行控制和管理的。 ★进程控制块中的信息 ◆进程标识符 标识符 在所有的操作系统中,都为每一个进程赋予一个唯一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。 ◆外部标识符 由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。 为了描述进程的家族关系,还应设置父进程标识及子进程标识。 可设置用户标识,以指示拥有该进程的用户。 ★处理机状态 ◆通用寄存器 又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有8~ 32个通用寄存器,在RISC结构的计算机中可超过100个。 ◆指令计数器 其中存放了要访问的下一条指令的地址。 ◆程序状态字PSW 其中含有状态信息,如条件码、执行方式、中断屏蔽标志等。 ◆用户栈指针 指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用 地址。 栈指针指向该栈的栈顶。 —11— 计算机操作系统考点精讲及复习指导 ★进程调度信息 进程状态 指明进程的当前状态,作为进程调度和对换时的依据。 进程优先级 用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机。 进程调度所需的信息 信息与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等。 事件 指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。 ★进程控制信息 程序和数据的地址 指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从 PCB中找 到其程序和数据。 进程同步和通信机制 指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地 放在PCB中。 资源清单 列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单。 链接指针 给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。 在一个系统中,通常可拥有数十个、数百个乃至数千个PCB,为能对它们进行有效管理,应该用适 当的方式将它们组织起来。 链接方式 具有同一状态的PCB,用其中的链接字链接成一个队列。 就绪队列常按进程优先级的高低排列,把优先级高的进程的PCB排在队列前面。 根据阻塞原因的不同而把处于阻塞状态的进程的PCB排成等待I/0操作完成的队列和等待分配 内存的队列等。 —21— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点”   索引方式 系统根据所有进程的状态建立几张索引表。例如,就绪索引表、阻塞索引表等,并把各索引表在 内存的首地址记录在内存的一些专用单元中。 5.进程控制 进程控制是进程管理中最基本的功能。用于创建一个新进程,终止一个已完成的进程,或终止一 个因出现某事件而使其无法运行下去的进程,还可负责进程运行中的状态转换。 ★进程创建 引起创建进程事件 (1)用户登录。 (2)作业调度。 (3)提供服务。 (4)应用请求。 进程创建过程 (1)申请空白PCB。 (2)为新进程分配资源。 (3)初始化进程控制块。 (4)新进程插入就绪队列。如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。 ★进程的终止 引起进程终止事件 正常结束 异常结束 ① 越界错误。这是指程序所访问的存储区,已越出该进程的区域。 ② 保护错。进程试图去访问一个不允许访问的资源或文件,或者以不适当的方式进行访问,例 如,进程试图去写一个只读文件。 ③ 非法指令。程序试图去执行一条不存在的指令。出现该错误的原因,可能是程序错误地转移 到数据区,把数据当成了指令。 ④ 特权指令错。用户进程试图去执行一条只允许OS执行的指令。 —31— 计算机操作系统考点精讲及复习指导 ⑤ 运行超时。进程的执行时间超过了指定的最大值。 ⑥ 等待超时。进程等待某事件的时间,超过了规定的最大值。 ⑦ 算术运算错。进程试图去执行一个被禁止的运算,例如,被0除。 ⑧ I/O故障。这是指在UO过程中发生了错误等。 外界干预 ① 操作员或操作系统干预。 ② 父进程请求。由于父进程具有终止自己的任何子孙进程的权利,因而当父进程提出请求时,系 统将终止该进程。 ③ 父进程终止。当父进程终止时,OS也将它的所有子孙进程终止。 进程终止过程 1)根据被终止进程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。 2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进 程被终止后应重新进行调度。 3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防它们成为不可控的进程。 4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。 5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。 ★进程的阻塞与唤醒 引起进程阻塞事件 ① 请求系统服务 ② 启动某种操作 ③ 新数据尚未到达 ④ 无新工作可做 进程阻塞过程 ① 正在执行的进程,当发现上述某事件时,由于无法继续执行,于是进程便通过调用阻塞原语 block把自己阻塞。可见,进程的阻塞是进程自身的一种主动行为。 ② 进入block过程后,由于此时该进程还处于执行状态,所以应先立即停止执行,把进程控制块 中的现行状态由“执行”改为阻塞,并将PCB插入阻塞队列。 ③ 转调度程序进行重新调度,将处理机分配给另一就绪进程,并进行切换,即保留被阻塞进程的 处理机状态(在PCB中),再按新进程的PCB中的处理机状态设置CPU的环境。 进程唤醒过程 当被阻塞进程所期待的事件出现时,如I/O完成或其所期待的数据已经到达,则由有关进程(比 如,用完并释放了该I/O设备的进程)调用唤醒原语wakeup(),将等待该事件的进程唤醒。 唤醒原语执行的过程是: 把被阻塞的进程从等待该事件的阻塞队列中移出,将其PCB中的现行状态由阻塞改为就绪; 将该PCB插入到就绪队列。 ★进程的激活 当发生激活进程的事件时,系统将利用激活原语active()将指定进程激活。 激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改为活动 就绪。 若为静止阻塞便将之改为活动阻塞。假如采用的是抢占调度策略,则每当有新进程进入就绪队 —41— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” 列时,应检查是否要进行重新调度,即由调度程序将被激活进程与当前进程进行优先级的比较,如果 被激活进程的优先级更低,就不必重新调度;否则,立即剥夺当前进程的运行,把处理机分配给刚被激 活的进程。 ★进程的挂起 挂起原语的执行过程是: 首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪。 对于活动阻塞状态的进程,则将之改为静止阻塞。为了方便用户或父进程考察该进程的运行情 况而把该进程的PCB复制到某指定的内存区域。 最后,若被挂起的进程正在执行,则转向调度程序重新调度。 6.进程通信 随着OS的发展,用于进程之间实现通信的机制也在发展,并已由早期的低级进程通信机制发展 为能传送大量数据的高级通信工具机制。目前,高级通信机制可归结为三大类: 共享存储器系统、消息传递系统以及管道通信系统。 ★共享存储器系统 基于共享数据结构的通信方式 公用数据结构的设置及对进程间同步的处理,都是程序员的职责。这种通信方式是低效的,只适 于传递相对少量的数据。 基于共享存储区的通信方式 为了传输大量数据,在存储器中划出了一块共享存储区,诸进程可通过对共享存储区中数据的读 或写来实现通信。 ★消息传递系统 消息传递机制都是用得最广泛的一种进程间通信的机制。 在消息传递系统中,进程间的数据交换,是以格式化的消息为单位的。 消息传递系统的通信方式属于高级通信方式。 ★直接通信方式 发送进程利用OS所提供的发送命令,直接把消息发送给目标进程。 系统提供下述两条通信命令(原语):Send(ReceiveY,message);发送一个消息给接收进程。 Receive(Sender,message);接收Sender发来的消息。 ★间接通信方式 (1)信箱的创建和撤销。进程可利用信箱创建原语来建立一个新信箱。 (2)消息的发送和接收。 Send(mailbox,message):将一个消息发送到指定信箱; Receive(mailbox,message):从指定信箱中接收一个消息。 (3)信箱可以分成3类: √ 私用信箱 √ 公用信箱 √ 共享信箱 ★管道通信系统 所谓“管道”,是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件,又名 声Pe文件。 —51— 计算机操作系统考点精讲及复习指导 向管道(共享文件)提供输入的发送进程(即写进程),以字符流形式将大量的数据送入管道。 接受管道输出的接收进程(即读进程),则从管道中接收(读)数据。 发送进程和接收进程是利用管道进行通信的,故又称为管道通信。 为了协调双方的通信,管道机制必须提供以下三方面的协调能力: 互斥,即当一个进程正在对pipe执行读/写操作时,其他(另一)进程必须等待。 同步,指当写(输入)进程把一定数量(如4kB)的数据写入pipe,便去睡眠等待,直到读(输出)进 程取走数据后,再把它唤醒。当读进程读一空扣 pe时,也应睡眠等待,直至写进程将数据写入管道 后,才将之唤醒。 确定对方是否存在,只有确定了对方已存在时,才能进行通信。 ★消息缓冲队列通信机制 数据结构 (1)消息缓冲区。 typemessagebutter=record sender;发送者进程标识符; size;消息长度; text;消息内容; next;指向下一个消息缓冲区的指针; end (2)PCB中有关通信的数据项。 typeprocesscontrolblock:record mq;消息队列队首指针; mutex;消息队列互斥信号量; sm;消息队列资源信号量; end 发送原语 把待发送的消息正文、发送进程标识符、消息长度等信息填入其中,然后调用 发送原语,把消息发送给目标(接收)进程。 发送原语首先根据发送区a中所设置的消息长度a.size来申请一缓冲区i; 把发送区a中的信息复制到缓冲区i中; 为了能将i挂在接收进程的消息队列mq上,应先获得接收进程的内部标识符j,然后将i挂在 j. mq上; 由于该队列属于临界资源,故在执行insert操作的前后,都要执行wait和signal操作; 描述如下: Proceduresend(receiver,a) beigin getbuf(a.size,i);//根据aDsize申请缓冲区; i.sender:=a.sender; i.size:=a.sizer; i.next:=0; getid(PCBset,receiver,j);//获得该进程的内部标识符; —61— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” wait(j.mutex); insert(j.mq,i);//将消息缓冲区插入消息队列; signal(j.mutex); signal(j.sm); end 接收原语 Procedure receive(b) beigin j:=internal name; //j为接收进程的内部标识符; wait(j.8m); wait(j.mutex); remove(j.mq,i); //将消息缓冲队列的第一个消息移出; signal(j.mutex); b.sender:=i.sender;//将消息缓冲区i中的信息复制到接收区扒 b.size:=i.sizer; b.next:=i.next; end 7.线程概念与多线程模型 如果说,在操作系统中引入进程的目的,是为了使多个程序能并发执行,以提高资源利用率和系 统吞吐量,那么,在操作系统中再引入线程,则是为了减少程序在并发执行时所付出的时空开销,使 OS具有更好的并发性。 ★线程基本概念 线程是“进程”中某个单一顺序的控制流,也被称为轻量进程。 ★线程与进程比较 进程 ?调度 资源拥有的基本单位 ?并发性 进程之间可以并发执行 ?拥有资源 进程可以拥有资源,是系统中拥有资源的一个基本单位。 ?系统开销 在创建或撤销进程时,系统都要为之创建和回收进程控制块,分配或回收资源,付出的开销明显 大于线程创建或撤销时的开销。 ★线程 调度 调度和分派的基本单位 并发性 不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行。 —71— 计算机操作系统考点精讲及复习指导   拥有资源 线程自己不拥有系统资源(也有一点必不可少的资源),但它可以访问其隶属进程的资源。 系统开销 在创建或撤销线程时,付出的开销明显小于进程创建或撤销时的开销。 线程的切换、同步和通信都无须操作系统内核的干预。 ★线程的属性 √ 轻型实体。 √ 独立调度和分派的基本单位。 √ 可并发执行。 √ 共享进程资源。 ★线程的状态 状态参数 ① 寄存器状态,它包括程序计数器PC和堆栈指针中的内容; ② 堆栈,在堆栈中通常保存有局部变量和返回地址; ③ 线程运行状态,用于描述线程正处于何种运行状态; ④ 优先级,描述线程执行的优先程度; ⑤ 线程专有存储器,用于保存线程自己的局部变量拷贝; ⑥ 信号屏蔽,即对某些信号加以屏蔽。 线程运行状态 ①执行状态,表示线程正获得处理机而运行; ②就绪状态,指线程已具备了各种执行条件,一旦获得CPU便可执行的状态; ③阻塞状态,指线程在执行中因某事件而受阻,处于暂停执行的状态。 ★线程的创建 在多线程OS环境下,应用程序在启动时,通常仅有一个线程在执行,该线程被人们称为“初始化 线程”。 “初始化线程”可根据需要再去创建若干个线程。 在创建新线程时,需要利用一个线程创建函数(或系统调用),并提供相应的参数。 ★线程的终止 终止线程的方式有两种: 一种是在线程完成了自己的i作后自愿退出; 另一种是线程在运行中出现错误或由于某种原因而被其他线程强行终止。 ★多线程OS中的进程属性 1)作为系统资源分配的单位。 2)可包括多个线程。 3)进程不是一个可执行的实体。 ★线程间的同步和通信 互斥锁 互斥锁是一种比较简单的、用于实现进程间对资源互斥访问的机制。 条件变量 每一个条件变量通常都与一个互斥锁一起使用,亦即在创建一个互斥锁时便联系着一个条件变 —81— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” 量。单纯的互斥锁用于短期锁定,主要是用来保证对临界区的互斥进入。而条件变量则用十线程的 长期等待,直至所等待的资源成为可用的资源。 信号量机制 私用信号量 当某线程需利用信号量来实现同一进程中各线程之间的同步时,可调用创建信号量的命令来创 建一私用信号量,其数据结构是存放在应用程序的地址空间中。 公用信号量 公用信号量是为实现不同进程间或不同进程中各线程之间的同步而设置的。 ★内核支持线程和用户级线程 内核支持线程 创建、撤销和切换等,是依靠内核实现的。 内核空间还为每一个内核支持线程设置了一个线程控制块,内核是根据该控制块而感知某线程 的存在的,并对其加以控制。 主要优点: (1)在多处理器系统中,内核能够同时调度同一进程中多个线程并行执行; (2)如果进程中的一个线程被阻塞了,内核可以调度该进程中的其他线程占有处理器运行,也可 以运行其他进程中的线程; (3)内核支持线程具有很小的数据结构和堆栈,线程的切换比较快,切换开销小; (4)内核本身也可以采用多线程技术,可以提高系统的执行速度和效率。 主要缺点: 对于用户的线程切换而言,其模式切换的开销较大,在同一个进程中,从一个线程切换到另一个 线程时,需要从用户态转到内核态进行,这是因为用户进程的线程在用户态运行,而线程·调度和管 理是在内核实现的,系统开销较大。 用户级线程 用户级线程仅存在于用户空间中。 对于这种线程的创建、撤销、线程之间的同步与通信等功能,都无须利用系统调用来实现。 主要优点: (1)线程切换不需要转换到内核空间,因此,进程不必切换到内核方式来做线程管理,从而节省了 模式切换的开销,也节省了内核的宝贵资源。 (2)调度算法可以是进程专用的。 (3)用户级线程的实现与操作系统平台无关。 主要缺点: (1)系统调用的阻塞问题。 (2)在单纯的用户级线程实现方式中,多线程应用不能利用多处理机进行多重处理的优点。 【典型例题】 【例1】 在进程管理中,当   时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中       B.等待某一事件 C.等待的事件发生 D.时间片用完 【答案】 C 【解析】本题主要考查进程之间状态的转换。进程各种状态的转换如下图: —91— 计算机操作系统考点精讲及复习指导 【例2】 在消息缓冲通信中,消息队列属于   资源。. A.临界     B.共享     C.永久     D.可剥夺 【答案】 A 【例3】 对进程的管理和控制使用   。 A.指令 B.原语 C.信号量 D.信箱通信 【答案】 B 第二节 进程同步 复习要点 1.进程同步的基本概念:竞争与合作形成了同步与互斥的基本关系。 2.实现临界区互斥的基本方法:同步的四个基本准则。 3.信号量:PV原语的含义,阻塞,阻塞队列,唤醒操作。互斥信号量,资源信号量等。 4.管程:管程的概念,封装。管程的实现方法和管程的使用。 5.经典同步问题:生产者一消费者问题,读者一写者问题,哲学家进餐问题。 考点精讲 1.进程同步的基本概念 在OS中引入进程后,虽然提高了资源的利用率和系统的吞吐量,但由于进程的异步性,也会给系 统造成混乱,尤其是在它们争用临界资源时。 ★进程同步基本概念 制约关系 (1)间接相互制约关系 (2)直接相互制约关系 同步机制遵循规则 (1)空闲让进:当无进程处于临界区时,表明临界资源处于空闲状态.应允许一个请求进入临界 区的进程立即进入自己的临界区,以有效地利用临界资源。 (2)忙则等待:当已有进程进入临界区时,表明临界资源正在被访问。因而其他试图进入临界区 的进程必须等待,以保证对临界资源的互斥访问。 —02— 考试点(www.kaoshidian.com)名师精品课程 电话:4006885365 2014专业课配套讲义 学习请登录“考试点” (3)有限等待:对要求访问临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷 入“死等”状态。 (4)让权等待:当进程不能进入自己的临界区时,应立即释放处理机。以免进程陷入“忙等” 状态。 ★实现临界区互斥的基本方法 软件实现方法、硬件实现方法 ★临界资源 各进程采取互斥的方式, ★临界区 进程中访问临界资源的那段代码称为临界区,若能保证诸进程互斥地进入自己的临界区,便可实 现诸进程对临界资源的互斥访问。 临界区前面增加一段用于检查临界资源的代码,把这段代码称为进入区。相应地,在临界区后面 也要加上一段称为退出区的代码,用于将临界区正被访问的标志恢复为未被访问的标志。 2.信号量 ★整型信号量 通过两个标准的原子操作(AtomicOperation)wait(S)和 signal(S)来访问。这两个操作一直被分 别称为P、V操作。 wait和signal操作可描述为: wait(S): whileS≤0dono-op S:=S-1; signal(S): S:=S+l; wait(S),signal(S)是两个原子操作,因此,它们在执行时是不可中断的。也就是说,当一个进程 修改某个信号量时,没有其他进程可同时对该信号量进行修改。 ★记录型信号量 在整型信号量机制中的wait北操作,只要是信号量S≤0,就会不断地测试。因此,该机制并未遵 循“让权等待”的准则,而是使进程处于“忙等”的状态。 记录型信号量机制,则是一种不存在“忙等”现象的进程同步机制。但在采取了“让权等待”的策 略后,又会出现多个进程等待访问同一临界资源的情况。   Procedurewait(S)  varS:semaphore;  begin  S.value:=S.value-1; IfS.value<0thenblock(S,L);   end  每次wait操作,意味着进程请求一个单位 的该类资源。  描述为S.value:=S.value-1; 当S.value<0时,表示该类资源已分配完 毕,因此进程应调用 block原语,进行自我阻塞, 放弃处理机,并插入到信号量链表S.L中。  记录型信号量机制遵循了“让权等待” 准则。 Proceduresignal(S) VarS:semaphore; begin S.value:=S.value+1; ifS.value≤0thenwakeup(S,L);   end —12— 计算机操作系统考点精讲及复习指导  对信号量的每次 signal操作,表示执行进 程释放一个单位资源。  S.value:=S.value+1操作表示资源数 目加1。  若加1后仍是 S.value≤0,则表示在该信 号量链表中,仍有等待该资源的进程被阻塞,故 还应调用wakeup原语,将 S.L链表中的第一个 等待进程唤醒。 S.value的初值表示系统中某类资源的数目。 当S.value<0时,S.value的绝对值表示在该信号量链表中已阻塞进程的数目。 如果S.value的初值为1,表示只允许一个进程访问临界资源,此时的信号量转化为互斥信号量。 ★AND型信号量 将进程在整个运行过程中需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起 释放。 只要尚有一个资源未能分配给进程,其他所有可能为之分配的资源,也不分配给它。 对若干个临界资源的分配,采取原子操作方式:要么全部分配到进程,要么一个也不分配。 3.管程 ★管程的定义 一个管程定义了一个数据结构和能为并发进程所执行(在该数据结构上)的一组操作,这组操作 能同步进程和改变管程中的数据。 ★管程的组成 ①局部于管程的共享变量说明。 ②对该数据结构进行操作的一组过程。 ③对局部于管程的数据设置初始值的语句。此外,还须为管程赋予一个名字。 ★管程的特性 (1)模块化。管程是一个基本程序单位,可以单独编译。 (2)抽象数据类型。管程中不仅有数据,而且有对数据的操作。 (3)信息掩蔽。管程中的数据结构只能被管程中的过程访问。 ★管程的特性实现管程关键问题 (1)互斥:管程必须能有效地实现互斥。管程是被动成分,而进程是主动成分。当进程需要访问 管程中的临界资源的时候,可调用管程中的有关入口过程。但当几个进程荐需调用某一管程的同一 个或不同的入口过程时,仅允许一个进程调用进入管程,而其他调用者必须等待。 (2)同步:在管程中必须设置两个同步操作原语w
本文档为【2014计算机考研学科联考408《计算机操作系统》考点精讲与复习指导】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_405946
暂无简介~
格式:pdf
大小:3MB
软件:PDF阅读器
页数:40
分类:
上传时间:2013-10-07
浏览量:60