设备去模拟共享设备,从而使独占设备成为可共享的、快速I/O的设备。实现虚拟分配的最有名的技术是SPOOLing技术,即假脱机技术。
23、 设备驱动程序是什么?为什么要有设备驱动程序?用户进程怎样使用驱动程序?
答:设备驱动进程(I/O进程,进程是并发环境下程序的一次执行,详细说明见教材第6章117页)与设备控制器之间的通信程序称为设备驱动程序。
设备驱动程序是控制设备动作的核心模块,如设备的打开、关闭、读、写等,用来控制设备上数据的传输。它直接与硬件密切相关,处理用户进程发出的I/O请求。
用户进程使用设备驱动程序时,设备驱动程序的处理过程为:将用户进程抽象的I/O要求转换为具体的要求,检查I/O请求的合法性,读出和检查设备的状态,传送必要的参数,设置设备工作方式,启动I/O设备。
24、 UNIX系统中将设备分为块设备和字符设备,它们各有什么特点?
答:字符设备是以撟址麛为单位进行输入、输出的设备,即这类设备每输入或输出一个字符就要中断一次主机CPU请求进行处理,故称为慢速设备。
块设备是以撟址?閿为单位进行输入输出的设备,在不同的系统或系统的不同版本中,块的大小定义不同。但在一个具体的系统中,所有的块一旦选定都是一样大小,便于管理和控制,传送效率较高。 25、 什么叫通道技术?通道的作用是什么?
答:通道是一个独立于CPU的专管输入/输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。 通道方式进一步减轻了CPU的工作负担,增加了计算机系统的并行工作程度。
26、SPOOLing的含义是什么?试述SPOOLing系统的特点、功能以及控制过程。
答:SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
SPOOLing技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。
SPOOLing系统由专门负责I/O的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。
参考教材108页第五章输入输出设备管理部分。
第7章 进程及处理机管理 学习重点
(1)操作系统“核心”功能和特点 (2)程序的顺序执行与并发执行
(3)进程的定义,进程的五个基本特征,进程控制块,程序与进程的对比,进程与线程 (4)进程的描述;进程的基本状态及转換(就绪、执行、等待)
(5)进程调度算法(先来先服务、RR轮转法、多级反馈轮转法和优先数法)
(6)进程通信:同步与互斥、临界区、原语(加锁/开锁原语、信号量及P-V操作)、消息缓冲 (7)什么是死锁?产生死锁的四个必要条件(互斥使用、保持和等待、非剥夺性、循环等待和处理) 教学要求:
(1)牢固掌握进程的概念。
(2)熟练掌握操作系统核心功能、核心形式。 (3)掌握顺序执行与并发执行的比较。
(4)熟练掌握进程的五个基本特征,掌握进程与程序的主要区别。理解进程与线程的关系。 (5)掌握进程的基本状态:执行态、就绪态、等待态。在什么条件下发生状态转换?
(6)理解进程的一般组成,应深入理解进程控制块的作用。每个进程有惟一的进程控制块。 (7)理解常用的进程调度算法。
(8)掌握进程同步与互斥的比较,简单理解为同步是伙伴,互斥是竞争。 (9)理解信号量概念,P、V操作执行的动作。
(10)掌握死锁的概念、死锁的必要条件、解决死锁的基本方法。 习题
1、什么是进程?
答:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。(在Windows NT等采用微内核结构的现代操作系统中,进程的功能发生了变化:它只是资源分配的单位,而不再是调度运行的单位,其调度运行的基本单位是线程。)
2、进程的互斥和同步有什么异同点?
答:同步与互斥特点比较见教材127页表6-4。 同步 进程-进程 时间次序上受到某种限制 相互清楚对方的存在及其作用,交换信息 往往指有几个进程共同完成一个任务 举例:生产与消费之间,发送与接收之间,作者与读者之间,供者与用者之间。
3、一个进程入睡时其断点落在何处?它被唤醒后从何处继续原来的执行?
答:一个进程入睡是指该进程由于缺乏资源不能占用CPU,进入等待状态。一个进程由程序、数据集合和进程控制块(PCB)组成。PCB是进程存在的唯一标志。PCB中包括如下内容:进程标志号、进程状态(执行/就绪/等待)、进程标志、进程优先数、程序地址、现场保护区(通常被保护的信息有程序计数器、程序状态字、各个工作寄存器等)、通信机构、其他信息等。
处于睡眠状态的进程,它的断点在它的PCB中的现场保护区中保护起来。保存程序运行的CPU现场,以便在将来的某一时刻恢复并继续原来的运行。它被唤醒后,把它从等待进程队列中摘下,将进程状态改为就绪,然后将它插入到就绪队列中;等它占用CPU进入执行状态时,从断点处继续执行。
4、什么是临界区?
答:每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。
5、试说明进程互斥、同步和通信三者之间的关系。
答:进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于资源共享与进程合作,这种进程间的制约称为可能。为了保证进程的正确运行以及相互合作的进程之间交换信息,需要进程之间的通信。
进程之间的制约关系体现为:进程的同步和互斥。
进程同步:它主要源于进程合作,是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。
进程互斥:它主要源于资源共享,是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。
互斥 进程-资源-进程 竞争到某一物理资源时不允许其他进程工作 不一定清楚其他进程情况 往往指多个任务多个进程间通讯制约,故更广泛 举例:交通十字路口,单轨火车的拨道岔。
进程通信是指进程间的信息交换。PV操作作为进程的同步与互斥工具因信息交换量少,效率太低,称为低级通信。而高级通信则以较高的效率传送大批数据。
6、考虑一个理发店,只有一个理发师,只有n张可供顾客等待理发的椅子,如果没有顾客,则理发师睡觉;如果有一顾客进入理发店发现理发师在睡觉,则把他叫醒,写一个程序协调理发师和顾客之间的关系。 答:考虑一下理发师(barber)重复的下列活动:(1)睡觉;(2)为顾客理发; 顾客(customers)重复的下列活动:(3)在椅子上等候;(4)理发;离开;
显然,理发师在(1)处要考察是否有顾客等候理发,如果没有,理发师睡觉;在(2)处理发师等待最先进入理发店的顾客唤醒,开始理发。
顾客在(3)处先看是否有座位,没有则离开;等候理发的顾客在(4)处被理发师唤醒(最先理发的顾客要唤醒理发师);理发结束后离开。
在这两个活动中,从资源的角度来看,理发师是顾客争用的资源,用信号量barber表示,初值为0;除此以外,顾客还要争用n张椅子,信号量customers表示等候理发的顾客数,初值为0;最后设置信号灯变量mutex用于这两个活动对资源barber、customers的互斥,初值为1。详细算法见教材131页。
7、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问: (1)为描述读者的动作,应编写几个程序,设置几个进程? (2)试用PV操作描述读者进程之间的同步关系。
答:读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。
算法的信号量有三个:seats——表示阅览室是否有座位(初值为100,代表阅览室的空座位数);readers——表示阅览室里的读者数,初值为0;用于互斥的mutex,初值为1。 读者进入阅览室的动作描述getin: while(TRUE){
P (seats); /*没有座位则离开*/ P(mutex) /*进入临界区*/ 填写登记表; 进入阅览室读书;
V(mutex) /*离开临界区*/ V(readers) }
读者离开阅览室的动作描述getout: while(TRUE){
P(readers) /*阅览室是否有人读书*/ P(mutex) /*进入临界区*/ 消掉登记; 离开阅览室;
V(mutex) /*离开临界区*/ V(seats) /*释放一个座位资源*/ }
8、进程之间有哪些基本的通信方式?它们分别有什么特点?适用于哪些场合?
答:进程通信根据交换信息量的多少分为高级通信和低级通信。低级通信一般只传送一个或几个字节的信息,以达到控制进程执行速度的作用(如PV操作);高级通信则要传送大量数据,目的不是为了控制进程的执行速度,而是为了交换信息。
高级进程通信方式有很多种,大致可归并为三类:共享存储器、管道文件和消息传递。
共享存储器:在内存种分配一片空间作为共享存储区。需要进行通信的进程把它附加到自己的地址空间中,不需要时则把它取消。
管道文件:它是连接两个命令的一个打开文件。一个命令向该文件中写入数据,为写者;另一个命令从该文件中读出数据,为读者。
消息传递:它以消息为单位在进程间进行数据交换。具体说明见教材133页的“消息缓冲”。
9、 程序的并发执行是现代操作系统的基本特征之一,为了更好地描述这一特征而引入了进程这一概念。 10、 进程存在的标志是进程控制块PCB。
11、 进程的静态实体由程序,数据集合和进程控制块PCB三部分组成。 12、 用于进程控制的原语主要有建立原语、撤消原语,挂起原语和激活原语。 13、 进程被创建后,最初处于就绪状态,然后经进程调度程序选中后进入执行 状态。 14、 进程创建工作主要完成的是创建进程控制块(PCB),并把它挂到就绪队列中。 15、 如果系统中有n个进程,则在就绪队列中进程的个数最多为n-1。 16、 进程的同步和互斥反映了进程间直接制约和间接制约的关系。
17、 死锁产生的四个必要条件是互斥使用,保持和等待,非剥夺性和循环等待四种。 18、 操作系统中信号量的值与相应资源的使用情况有关,它的值仅能由P、V操作来改变。 19、 进程至少有三种基本状态:执行态,就绪态和等待态。
20、 每执行一次P操作,信号量的数值S减1。若S3 0,则该进程继续执行;若S<0,则该进程等待 。 21、 每执行一次V操作,信号量的数值S加1。若S>0 ,则该进程继续执行;否则,从对应的等待队列中移出一个进程并将就绪状态赋予该进程。
22、 利用信号量实现进程的互斥,应为临界区设置一个信号量mutex,其初值为1,表示该资源尚未使用,临界区应置于P(mutex)和V(mutex)原语之间。
23、 Windows NT是采用微内核结构的操作系统,它的进程的功能发生了变化,它只是资源分配的单位,不是调度运行的单位,后者的功能由线程完成。
24、 通常,线程的定义是是进程中执行运算的最小单位。在现代操作系统中,资源的分配单位是进程,而处理机的调度单位是线程,一个进程可以有多个线程。
25、 计算机系统一般都设计有两种运行状态:用户态和核心态。
26、 操作系统中,可以并行工作的基本单位是[1],[1]也是系统核心调度及资源分配的基本单位,它是由[2]组成的,它与程序的主要区别是[3]。 供选择的答案:
[1]: A.作业 B. 函数 C. 进程 D.过程
[2]: A.程序、数据和PCB B. 程序、数据和标识符 C.程序、标识符和PCB D. 数据、标识符和PCB
[3]:A.程序有状态,而它没有 B. 它有状态,而程序没有 C.程序可占用资源,而它不可 D.它可占用资源,而程序不可 27、 下列进程状态的转换中,哪一个是不正确的( )。 A.就绪?执行 B. 执行?就绪 C.就绪?等待 D. 等待?就绪
28、 下列各项步骤中,哪一个不是创建进程所必须的步骤( )。
A. 建立一个进程控制块PCB B. 由CPU调度程序为进程调度CPU C.为进程分配内存等必要的资源 D.将PCB链入进程就绪队列 29、 在下列特性中,哪一个不是进程的特性( )。 A.异步性 B. 并发性 C. 静态性 D. 动态性
30、 在操作系统中,对信号量S的P原语操作定义中,使进程进入相应等待队列等待的条件是( )。 A.S>0 B. S=0 C. S<0 D. S≠0
31、 为了对紧急进程或重要进程进行调度,调度算法应采用( )。 A.先进先出调度算法 B. 优先数法 C.最短作业优先调度 D. 定时轮转法
32、 进程就是可与其他程序共行执行的程序段的一次执行过程,它是系统进行资源分配和调度的一个基本单位。进程具有[1]、[2]、调度性、异步性和结构性5个基本特征。进程是一次执行过程,具有生命期体现了进程的[1]特征。进程由程序段、[3]、[4]组成,其中[4]是进程在系统中存在的唯一标识。 供选择的答案:
[1][2] A、动态性 B、静态性 C、共行性 D、并发性 E、可执行性 F、易用性
[3] A、过程 B、数据 C、进程标识符 D、函数 [4] A、FCB B、FIFO C、PCB D、JCB
33、 进程执行时的间断性,决定了进程可能具有多种状态。进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1]进入[2]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3],这个过程是由[4]来完成。 供选择的答案:
[1][2][3] A、就绪状态 B、静止状态 C、等待状态 D、执行状态 [4] A、进程控制程序 B、资源分配程序 C、进程调度程序 D、处理机分配程序
34、 为了描述进程的动态变化过程,采用了一个与进程相联系的( )系统,根据它而感知进程的存在。 A.进程状态字 B. 进程优先数 C.进程控制块 D. 进程起始地址 35、 已经获得除( )以外的所有运行所需资源的进程处于就绪状态。 A.存储器 B. 打印机 C.CPU D. 磁盘空间
36、 进程调度的关键问题是选择合理的( ),并恰当地进行代码转换。 A.时间片间隔 B. 调度算法 C.CPU速度 D. 内存空间
37、 采用时间片轮转法进行进程调度是为了( )。 A. 多个终端都能得到系统的及时响应 B. 先来先服务
C. 优先级较高的进程得到及时响应 D.需要CPU最短的进程先做
38、 在一段时间内,只允许一个进程访问的资源称为( )。 A.共享资源 B. 临界区 C.临界资源 D. 共享区 39、 进程是( )。
A.与程序等效的概念 B. 并发环境中程序的执行过程 C.一个系统软件 D. 存放在内存中的程序 40、 进程具有并发性和( )两大重要属性。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库计算机操作系统总复习题(4)在线全文阅读。
相关推荐: