操作系统第二章习题答案3教学内容
操作系统课后习题答案-汤子瀛(txt版)
3. OS 具有哪几大特征?它的最基本特征是什么?
a. 并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism).
b. 其中最基本特征是并发和共享.
4. 内存管理有哪些主要功能?它们的主要任务是什么?
b. 产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;
c. 必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件.
第四章:
1. 何谓静态链接及装入时动态链接和运行时的动态链接?
a. 静态链接是指事先进行链接形成一个完整的装入模块,以后不再拆开的链接方---式;
b. 装入时动态链接是指目标模块在装入内存时,边装入边链接的链接方式;
操作系统课后习题
第一章:
1. 设计现代OS 的主要目标是什么?
方便性,有效性,可扩充性和开放性.
2. 何谓脱机I/O 和联机I/O?
a. 脱机输入输出方式(Off-Line I/O)是为了解决人机矛盾及CPU 和I/O 设备之间速度不匹配而提出的.它减少了CPU 的空闲等待时间,提高了I/O 速度.具体内容是将用户程序和数据在一台外围机的控制下,预先从低速输入设备输入到磁带上,当CPU 需要这些程序和数据时,在直接从磁带机高速输入到内存,从而大大加快了程序的输入过程,减少了CPU 等待输入的时间,这就是脱机输入技术;当程序运行完毕或告一段落,CPU 需要输出时,无需直接把计算结果送至低速输出设备,而是高速把结果输出到磁带上,然后在外围机的控制下,把磁带上的计算结果由相应的输出设备输出,这就是脱机输出技术.
6. 设备管理有哪些主要功能?其主要任务是什么?
操作系统学习指导与习题(含答案)
三种基本状态可经一定的触发条件而转换。
进程是资源分配的基本单位,同时进程也可作为独立运行的基本单位,用户可以从进程
的观点来研究操作系统。但由于系统资源数量的有限,必然导致诸进程间竞争资源。用户进
程和系统进程之间、同一用户作业的内部进程之间、不同用户各作业的进程之间、各系统进
程之间都存在资源竞争问题。竞争资源的进程间存在着两种关系:(1)资源共享。虽然诸进
变迁、进程的组成、进程控制块的内容及作用);进程的控制(包括进程的建立、进程的撤消、
进程的阻塞、进程唤醒等);原语的含义、作用及内容;临界资源、临界区的基本概念;进
程互斥与同步的基本概念;P、V 操作的控制机理;进程间的通信;常用进程调度算法;死
锁的基本概念;产生死锁的原因和预防死锁产生的具体措施等。
计算机激光照排系统
A. 1
B. 2
C. 3
D. 4
10. 若操作系统看作是计算机资源的管理者,则下列不属于操作系统管理的资源的是
__________。
A. 程序
B. 内存
C. CPU
D. 中断
11. 操作系统的功能是进行文件管理、处理器管理、作业管理、设备管理和(
)管
理。
A. 存储器
B. 进程
C. 系统
户有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间。 紧挨着硬
件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处理机、
存储器、输入/输出设备、数据与文档资源、用户作业等,并向用户提供若干服务,通过这
些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操作环境。
于低级通信方式,该方式以控制进程并发执行为主要目的,而利用通信原语进行高级通信则
计算机操作系统(习题集)第二章 答案
计算机操作系统(习题集)第二章答案计算机操作系统(习题集)第二章答案第二章进程管理一、单项选择题1、在单一处理机上执行程序,多道程序的执行是在(b)进行的。
a.同一时刻b.同一时间间隔内c.某一紧固时刻d.某一紧固时间间隔内2、引入多道程序技术后,处理机的利用率(c)。
a.减少了b.有所改善c.大大提高d.没变化,只是程序的继续执行便利了3、顺序程序和并发程序的执行相比,(c)。
a.基本相同c.并发程序继续执行总体上继续执行时间慢b.有点不同d.顺序程序执行总体上执行时间快4、单一处理机上,将继续执行时间存有重合的几个程序称作(c)。
a.顺序程序b.多道程序c.并发程序d.并行程序5、进程和程序的本质区别就是(d)。
a.存储在内存和外存b.顺序和非顺序继续执行机器指令c.分时使用和独占使用计算机资源d.动态和静态特征6、进程就是程序在mammalian环境中的继续执行过程,它就是系统展开资源分配和调度的一个基本单位。
进程具备[1a]、[2d]、调度性、异步性和结构性等基本特征。
进程就是一次继续执行过程,具备生命期彰显了进程的[1]特征。
进程由程序段、[3b]、[4c]共同组成,其中[4]就是进程在系统中存有的唯一标识。
供选择的答案:[1][2]:a、动态性b、静态性c、共行性d、并发性e、可执行性f、易用性[3]:a、过程b、数据c、进程标识符d、函数[4]:a、fcbb、fifoc、pcbd、jcb7、进程执行时的间断性,决定了进程可能具有多种状态。
进程的基本状态有三种,在分时系统中,当一个进程拥有的时间片到时,则该进程即由[1d]进入[2a]。
如果出现因某种原因使得处理机空闲时,则需要从就绪队列中选择一进程,并将处理机分配给它,此时该进程进入[3d],这个过程是由[4c]来完成。
供选择的答案:[1][2][3]:a、准备就绪状态b、静止状态c、阻塞状态d、运转状态[4]:a、进程控制程序b、资源分配程序c、进程调度程序d、处理机分配程序8、为了叙述进程的动态变化过程,使用了一个与进程二者联系的(c),根据它而认知进程的存有。
参考答案 操作系统教程 (陈向群 杨芙清 著) 北京大学出版社 课后答案
我们发展操作系统的目标就是:充分利用硬件,提供更好的服务。 13.请作一个调查,看看各种计算机的应用领域都在使用什么样的操作系统,他们分别是 什么类型的操作系统,调查的内容应该涵概现代操作系统的主要类别. 14.现有一下应用计算机的场合,请为其选择适当的操作系统。1)航天航空,核变研究; 2)国家统计局数据处理中心;3)学校学生上机学习编程 4)高炉炉温控制;5)民航定 票系统,6)发送电子邮件(在两个地区之间) 答:1)航天航空,核变研究:嵌入式操作系统
第三章 用户接口与作业管理 1.阐述程序,作业,作业步和进程之间的联系和区别。 答:
(1)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 (2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行” 2.一个具有分时兼批处理功能的操作系统应该怎样调度和管理作业?为什么? 品
计算机系统由硬件子系统和软件子系统组成。 计算机系统的构成包括:如图 1.2 计算机硬件系统的构成:如图 1.4 2.从功能以及程序涉设计的角度说明计算机系统中软件系统是如何构成的? 答:分为系统软件,支撑软件和应用软件三层。 3.什么是操作系统?请举例说明操作系统在计算机系统中的重要地位。 答:操作系统是计算机系统中的一个系统软件,是一些程序模块的集合。 它们能以尽量有效、合理的方式组织和管理计算机的软硬件资源,合理的组织计算机的工 作流程,控制程序的执行并向用户提供各种服务功能,使得用户能够灵活、方便、有效的 使用计算机,使整个计算机系统能安全高效地运行 4.请举一个实际的例子来说明操作系统的功能。 答:你能用用操作系统管理很多资源 5.为什么说“操作系统是控制硬件的软件”的说法不确切? 答:操作系统不仅能够控制硬件,也可以控制各种软件资源。 6.操作系统的基本特征是什么?说明他们之间的关系。 答:1.并发性 2.共享性
(完整版)操作系统第二章课后答案
第二章进程管理2. 试画出下面4条语句的前趋图:S2: b:=z+1;S3: c:=a-b;S4: w:=c+1;3.程序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的进程之间,形成了相互制约的关系,从而也就使得进程在执行期间出现间断性。
4. 程序并发执行时为什么会失去封闭性和可再现性?因为程序并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态是由多个程序来改变,致使程序的运行失去了封闭性。
而程序一旦失去了封闭性也会导致其再失去可再现性。
5. 在操作系统中为什么要引入进程概念?它会产生什么样的影响?为了使程序在多道程序环境下能并发执行,并能对并发执行的程序加以控制和描述,从而在操作系统中引入了进程概念。
影响: 使程序的并发执行得以实行。
6. 试从动态性,并发性和独立性上比较进程和程序?a. 动态性是进程最基本的特性,可表现为由创建而产生,由调度而执行,因得不到资源而暂停执行,以及由撤销而消亡,因而进程由一定的生命期;而程序只是一组有序指令的集合,是静态实体。
b. 并发性是进程的重要特征,同时也是OS的重要特征。
引入进程的目的正是为了使其程序能和其它建立了进程的程序并发执行,而程序本身是不能并发执行的。
c. 独立性是指进程实体是一个能独立运行的基本单位,同时也是系统中独立获得资源和独立调度的基本单位。
而对于未建立任何进程的程序,都不能作为一个独立的单位来运行。
7. 试说明PCB的作用?为什么说PCB是进程存在的唯一标志?a. PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的用于描述进程情况及控制进程运行所需的全部信息。
因而它的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能和其它进程并发执行的进程。
b. 在进程的整个生命周期中,系统总是通过其PCB对进程进行控制,系统是根据进程的PCB而不是任何别的什么而感知到该进程的存在的,所以说,PCB是进程存在的唯一标志。
操作系统第二章复习题答案
操作系统第二章复习题答案操作系统第二章复习题答案第一节:操作系统概述操作系统是计算机系统中的核心软件之一,它负责管理和控制计算机硬件资源,并提供用户与计算机之间的接口。
操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理等。
第二节:进程管理1. 进程是指正在执行中的程序。
它包括程序计数器、寄存器集合和栈等信息。
进程的状态包括运行态、就绪态和阻塞态。
2. 进程调度是指根据一定的策略选择下一个执行的进程。
常见的调度算法有先来先服务调度算法、短作业优先调度算法和时间片轮转调度算法等。
3. 进程同步是指协调多个进程的执行顺序,避免出现竞态条件和死锁等问题。
常见的进程同步机制有互斥锁、信号量和条件变量等。
第三节:内存管理1. 内存管理是指操作系统对内存资源的分配和回收。
常见的内存管理方式有分区管理和页式管理。
2. 分区管理将内存划分为多个固定大小的分区,每个分区只能分配给一个进程。
常见的分区分配算法有首次适应算法、最佳适应算法和最坏适应算法等。
3. 页式管理将内存和进程的地址空间划分为固定大小的页和页框,实现了虚拟内存的概念。
常见的页式管理算法有局部页面置换算法和全局页面置换算法等。
第四节:文件系统管理1. 文件系统管理是指操作系统对文件的组织和访问控制。
文件是计算机中存储数据的基本单位,它包括文件名、文件属性和文件数据等。
2. 文件系统通过目录结构来组织文件,常见的目录结构有单级目录结构、树状目录结构和索引节点结构等。
3. 文件系统提供了文件的读、写和删除等操作,同时还提供了文件保护和文件共享等功能。
第五节:设备管理1. 设备管理是指操作系统对计算机硬件设备的管理和控制。
常见的设备管理方式有设备驱动程序和设备控制块等。
2. 设备驱动程序是操作系统与硬件设备之间的接口,它负责将操作系统的请求转化为硬件设备可以理解的指令。
3. 设备控制块是操作系统对每个设备的描述,它包括设备类型、设备状态和设备队列等信息。
《计算机操作系统教程》第三版答案
第一章操作系统概述课后习题1. 硬件将处理机划分为两种状态,即管态和目态,这样做给操作系统设计带来什么好处 ? 答:便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
2. 何为特权指令?举例说明之。
如果允许用户执行特权指令,会带来什么后果?答:只能在态下才能执行的指令称为特权指令。
如开关中断、置程序状态寄存器等。
如果允许用户执行特权指令,它将不仅影响当前运行的程序,而且还有可能影响操作系统的正常运行,甚至整个系统。
3. 中断向量在机器中的存储位置是由硬件确定的,还是由软件确定的 ? 答:中断向量在机器中的位置是由硬件确定的。
例如,在 INTEL 80x86 CPU 中,内存空间0x00000——0x003ff为中断向量空间。
4. 中断向量的内容是由操作系统程序确定的还是由用户程序确定的?答:中断向量的内容是由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
5. 中断向量内的处理机状态位应当标明是管态还是目态 ? 为什么? 答:应当标明是管态。
该状态由系统初试化程序设置,这样才能保证中断发生后进入操作系统规定的中断处理程序。
6. 中断和程序并发之间的关系是什么?答:中断是程序并发的必要条件。
如果没有中断,操作系统不能获得系统控制权,无法按调度算法对处机进行重新分配,一个程序将一直运行到结束而不会被打断。
7. 说明“栈”和“堆”的差别.答:栈是一块按后进先出(FIFO)规则访问的存储区域,用来实现中断嵌套和子程序调用的参数和返回断点。
操作系统课后部分习题及答案
第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
计算机操作系统(第四版)课后习题答案第二章
计算机操作系统(第四版)课后习题答案第二章第二章1. 什么是前趨圖?為什么要引入前趨圖?答:前趨圖(Precedence Graph)是一個有向無循環圖,記為DAG(Directed Acyclic Graph),用于描述進程之間執行的前后關系。
2. 畫出下面四條詫句的前趨圖:S1=a:=x+y;S2=b:=z+1;S3=c:=a-b;S4=w:=c+1;答:其前趨圖為:3. 為什么程序并發執行會產生間斷性特征?程序在并發執行時,由于它們共享系統資源,以及為完成同一項任務而相互合作,致使在這些并發執行的進程之間,形成了相互制約的關系,從而也就使得進程在執行期間出現間斷性。
4. 程序并發執行時為什么會失去封閉性和可再現性?因為程序并發執行時,是多個程序共享系統中的各種資源,因而這些資源的狀態是由多個程序來改變,致使程序的運行失去了封閉性。
而程序一旦失去了封閉性也會導致其再失去可再現性。
GAGGAGAGGAFFFFAFAF5. 在操作系統中為什么要引入進程概念?它會產生什么樣的影響?為了使程序在多道程序環境下能并發執行,并能對并發執行的程序加以控制和描述,從而在操作系統中引入了進程概念。
影響: 使程序的并發執行得以實行。
6. 試從動態性,并發性和獨立性上比較進程和程序?a. 動態性是進程最基本的特性,可表現為由創建而產生,由調度而執行,因得不到資源而暫停執行,以及由撤銷而消亡,因而進程由一定的生命期;而程序只是一組有序指令的集合,是靜態實體。
b. 并發性是進程的重要特征,同時也是OS的重要特征。
引入進程的目的正是為了使其程序能和其它建立了進程的程序并發執行,而程序本身是不能并發執行的。
c. 獨立性是指進程實體是一個能獨立運行的基本單位,同時也是系統中獨立獲得資源和獨立調度的基本單位。
而對于未建立任何進程的程序,都不能作為一個獨立的單位來運行。
7. 試說明PCB的作用?為什么說PCB是進程存在的唯一標志?a. PCB是進程實體的一部分,是操作系統中最重要的記錄型數據結構。
操作系统习题与解答(含答案)
操作系统习题与解答(含答案)第⼀章操作系统引论⼀、选择题1.在计算机系统中配置操作系统的主要⽬的是(),操作系统的主要功能是管理计算机系统中的(),其中包括()管理和()管理,以及设备管理和⽂件管理。
这⾥的()管理主要是对进程进⾏管理。
(1)A.增强计算机系统的功能;B.为了使⽤系统的资源;C.提⾼系统的运⾏速度;D.提⾼系统使⽤效率,合理地组织系统的⼯作流程,以提⾼系统吞吐量。
(2)A.程序和数据;B.进程;C.资源;D.作业;E.任务。
(3)(4)A.存储器;B.虚拟存储器;C.运算器;D.处理机;E.控制器。
2.操作系统有多种类型:(1)允许多个⽤户以交互⽅式使⽤计算机的操作系统,称为();(2)允许多⽤户将若⼲个作业提交给计算机系统集中处理的操作系统称为();(3)在()的控制下,计算机系统能及时处理由过程控制反馈的数据,并做出响应。
A.批处理操作系统;B.分时操作系统;C.实时操作系统;D.微机操作系统;E.多处理机操作系统。
3.在下列性质中,哪⼀个不是分时系统的特征。
()A.交互性B.多路性C.成批性D.独占性4.实时操作系统追求的⽬标是()。
A.⾼吞吐率B.充分利⽤内存C.快速响应D.减少系统开销5. 现代操作系统的两个基本特征是()和资源共享A.多道程序设计B.中断处理C.程序的并发执⾏D.实现分时与实时处理6.引⼊多道程序的⽬的在于()。
A.有利于代码共享,减少主、辅存信息交换量。
B.提⾼实时响应速度。
C.充分利⽤CPU,减少CPU等待时间D.充分利⽤存储器7.操作系统是⼀组().A.⽂件管理程序B.中断处理程序C.资源管理程序D.设备管理程序8.()不是操作系统关⼼的主要问题.A.管理计算机裸机B.设计、提供⽤户程序与计算机硬件系统的界⾯C.管理计算机系统资源D.⾼级程序设计语⾔的编译器9.⽤户在⼀次计算机过程中,或者⼀次事物处理中,要求计算机完成所做的⼯作的集合,这是指().A.进程B.程序C.作业D.系统调⽤10.订购机票系统处理各⾃各个终端的服务请求,处理后通过终端回答⽤户,所以它是⼀个()。
操作系统第二章练习题与答案
C.DCT D.FCB5.一个进程被唤醒,意味着该进程 D 。
A.重新占有CPU B.优先级变为最大C.移至等待队列之首 D.变为就绪状态6.由各作业JCB形成的队列称为 C 。
A.就绪作业队列 B.阻塞作业队列C.后备作业队列 D.运行作业队列7.既考虑作业等待时间,又考虑作业执行时间的作业调度算法是 A 。
A.响应比高者优先B.短作业优先C.优先级调度D.先来先服务8.作业调度程序从处于 D 状态的队列中选取适当的作业投入运行。
A.就绪 B.提交C.等待 D.后备9. A 是指从作业提交系统到作业完成的时间间隔。
A.周转时间 B.响应时间C.等待时间 D.运行时间10.计算机系统在执行 C 时,会自动从目态变换到管态。
A.P操作 B.V操作C.系统调用 D.I/O指令三、问答1.在多道程序设计系统中,如何理解“内存中的多个程序的执行过程交织在一起,大家都在走走停停”这样一个现象?答:在多道程序设计系统中,内存中存放多个程序,它们以交替的方式使用CPU。
因此,从宏观上看,这些程序都开始了自己的工作。
但由于CPU只有一个,在任何时刻CPU只能执行一个进程程序。
所以这些进程程序的执行过程是交织在一起的。
也就是说,从微观上看,每一个进程一会儿在向前走,一会儿又停步不前,处于一种“走走停停”的状态之中。
2.什么是“原语”、“特权指令”、“系统调用命令”和“访管指令”?它们之间有无一定的联系?答:特权指令和访管指令都是CPU指令系统中的指令,只是前者是一些只能在管态下执行的指令,后者是一条只能在目态下执行的指令。
原语和系统调用命令都是操作系统中的功能程序,只是前者执行时不能被其他程序所打断,后者没有这个要求。
操作系统中有些系统调用命令是以原语的形式出现的,例如创建进程就是一条原语式的系统调用命令。
但并不是所有系统调用命令都是原语。
因为如果那样的话,整个系统的并发性就不可能得到充分地发挥。
3.操作系统是如何处理源程序中出现的系统调用命令的?答:编译程序总是把源程序中的系统调用命令改写成为一条访管指令和相应的参数。
操作系统第四版课后习题答案
操作系统第四版课后习题答案操作系统第四版课后习题答案在学习操作系统的过程中,课后习题是巩固知识的重要环节。
本文将为大家提供操作系统第四版课后习题的答案,帮助大家更好地理解和掌握相关知识。
第一章引论1. 操作系统的定义是什么?答:操作系统是计算机系统中的一个软件,它管理和控制计算机硬件资源,为用户和应用程序提供一个简单、一致的接口。
2. 操作系统的主要功能有哪些?答:操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户接口等。
3. 解释并区分多道程序和多任务操作系统。
答:多道程序操作系统是指能够同时运行多个程序的操作系统,通过时间片轮转的方式实现程序的并发执行。
而多任务操作系统是指能够同时运行多个任务的操作系统,任务之间可以是并行执行的。
第二章进程管理1. 进程和程序的区别是什么?答:进程是程序在执行过程中的实体,包括程序计数器、寄存器和栈等,而程序是存储在磁盘上的可执行文件。
2. 什么是进程控制块(PCB)?答:进程控制块是操作系统中用来管理和控制进程的数据结构,包括进程的标识符、状态、优先级、程序计数器和寄存器等信息。
3. 进程的状态有哪些?答:进程的状态包括就绪状态、运行状态和阻塞状态。
第三章内存管理1. 什么是虚拟内存?答:虚拟内存是一种扩展内存的技术,将磁盘空间作为辅助内存来扩展物理内存的容量。
2. 什么是页面置换算法?答:页面置换算法是用于虚拟内存管理中的一种算法,当物理内存不足时,根据一定的策略选择一个页面将其从内存中置换出去,以便为新的页面腾出空间。
3. 什么是内存分配算法?答:内存分配算法是用于管理和分配内存的一种算法,包括连续分配、非连续分配和分段分页等。
第四章文件系统管理1. 文件系统的作用是什么?答:文件系统是操作系统中用于管理和组织文件的一种机制,它提供了对文件的创建、读写、删除等操作。
2. 什么是文件控制块(FCB)?答:文件控制块是操作系统中用于管理文件的数据结构,包括文件的属性、位置、大小和权限等信息。
(完整版)操作系统第二章作业答案
第二章作业1.操作系统中为什么要引入进程的概念?为了实现并发进程中的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?答:为了从变化角度动态地分析研究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。
为了防止操作系统及其关键的数据结构如:PCB等,受到用户程序破坏,将处理机分为核心态和用户态。
对进程进行创建、撤销以及在某些进程状态之间的转换控制。
2.试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。
答:分为两种情况:(1):运行状态就绪状态:根据进程的自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。
(2):运行状态→阻塞状态:系统会调用进程调度程序重新选择一个进程投入运行。
3.现代操作系统一般都提供多任务的环境,是回答以下问题。
为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?答:系统必须建立PCB。
为支持进程的状态变迁,系统至少应该供哪些进程控制原语?答:阻塞、唤醒、挂起和激活原语。
当进程的状态变迁时,相应的数据结构发生变化吗?答:会根据状态的变迁发生相应的变化。
例如:将进程PCB中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就绪队列中。
4.什么是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。
答:PCB:描述进程本身的特征、状态、调度信息以及对资源占有情况等的数据结构,是进程存在的唯一标识。
进程控制块所包含的内容:①进程信息描述;②CPU信息状态;③进程调度信息;④进程控制和资源占用信息。
5.假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费的时间是10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?解:P=(10*10)/[(300+10)*10]=3.2%6.试述线程的特点及其与进程之间的关系。
操作系统 第二章习题答案
2.1解答:a.(1)只有1个作业的情况周转时间= N*T ;吞吐率= T/周转时间= 1/N ;处理机使用率= 1/2 。
(2)有2个作业的情况作业1的周转时间= N*T,作业2的周转时间= (N+1/2)*T ;吞吐率= 2*T / [(N+1/2)*T] = 2 / (N+1/2) ;处理机使用率= N / (N+1/2) 。
(3)有4个作业的情况作业1的周转时间= (2N – 1)*T,作业2的周转时间= (2N–1/2)*T ,作业3的周转时间= (2N)*T,作业4的周转时间= (2N+1/2)*T;吞吐率= 4*T / [(2N+1/2)*T] = 4 / (2N+1/2) ;处理机使用率= (2N) / (2N+1/2) 。
b.(1)只有1个作业的情况周转时间= N*T ;吞吐率= T/周转时间= 1/N ;处理机使用率= 1/2 。
(2)有2个作业的情况作业1的周转时间= N*T,作业2的周转时间= (N+1/2)*T ;吞吐率= 2*T / [(N+1/2)*T] = 2 / (N+1/2) ;处理机使用率= N / (N+1/2) 。
(3)有4个作业的情况作业1的周转时间= (10/4)*N*T – (5/4)*T,作业2的周转时间= (10/4)*N*T – T ,作业3的周转时间= (10/4)*N*T – (1/2)*T,作业4的周转时间= (10/4)*N*T ;吞吐率= 4*T / [ (10/4)*N*T ] = 8 / (5N ) ;处理机使用率= (2*N*T) / [(10/4)*N*T ] = 4 / 5 。
2.3分时系统关注于周转时间,利用时间分片的方式给所有进程一个短期的处理器访问时间。
多道程序批处理系统关注于吞吐量,较少做上下文切换,因此每个进程有更多的处理器访问时间。
2.5系统通过统计页面未被触及的平均秒数来判断系统的内存使用情况。
减少活动作业的个数会使得该值上升,反之下降。
操作系统概念课后习题答案
操作系统概念课后习题答案操作系统概念课后习题答案第一章:引论1.操作系统的定义:操作系统是计算机系统中的一个软件层,它管理和控制计算机硬件资源,为用户和应用程序提供接口和服务。
2.操作系统的功能:处理器管理、存储器管理、设备管理、文件管理和用户界面等。
第二章:进程管理1.进程的概念:进程是一个正在执行的程序的实例,它由代码、数据和执行环境组成。
2.进程状态:就绪、运行和阻塞。
3.进程调度算法:先来先服务、最短作业优先、时间片轮转和优先级调度等。
第三章:线程管理1.线程的概念:线程是进程的一个执行单元,一个进程可以包含多个线程。
2.线程与进程的区别:线程共享相同的地质空间和文件描述符,而进程拥有独立的地质空间和文件描述符。
3.线程模型:用户级线程模型和内核级线程模型。
第四章:内存管理1.内存管理的目标:实现内存的分配与回收、内存的保护和共享。
2.内存分配的概念:连续分配、非连续分配和虚拟内存分配。
3.地质转换:逻辑地质到物理地质的转换过程,包括分段、分页和段页式等。
第五章:存储器管理1.存储器的层次结构:主存储器、辅助存储器和高速缓存。
2.页面置换算法:最佳置换算法、先进先出算法、最近最久未使用算法和时钟置换算法等。
3.虚拟内存的概念:将存储器抽象成一组连续的地质空间,实现大容量存储和地质共享。
第六章:设备管理1.设备管理的功能:设备分配、设备驱动程序和设备中断处理等。
2.设备分配算法:先来先服务、最短作业优先和轮转法等。
3.磁盘调度算法:先来先服务、最短寻道时间优先和扫描算法等。
第七章:文件管理1.文件的概念:文件是命名的、有序的数据集合,它是操作系统中最基本的数据组织方式。
2.文件系统的组织结构:层次式文件系统、索引式文件系统和线性文件系统等。
3.文件共享与保护:文件锁机制、权限控制和访问控制列表等。
第八章:I/O系统1.I/O系统的组成部分:I/O设备、I/O控制器和设备驱动程序等。
2.I/O操作的方式:程序控制I/O和中断驱动I/O。
第二章-操作系统进程(练习题答案)教学教材
第二章进程管理1.操作系统主要是对计算机系统全部 (1) 进行管理,以方便用户、提高计算机使用效率的一种系统软件。
它的主要功能有:处理机管理、存储管理、文件管理、 (2) 管理和设备管理等。
Windows和Unix是最常用的两类操作系统。
前者是一个具有图形界面的窗口式的 (3) 系统软件,后者是一个基本上采用 (4) 语言编制而成的的系统软件。
在 (5) 操作系统控制下,计算机能及时处理由过程控制反馈的信息并作出响应。
供选答案:(1): A. 应用软件 B. 系统软硬件C. 资源D. 设备(2): A. 数据 B. 作业C. 中断D. I/O(3): A. 分时 B. 多任务C. 多用户D. 实时(4): A. PASCAL B. 宏C. 汇编D. C(5): A. 网络 B. 分时C. 批处理D. 实时答案:CBBDD2.操作系统是对计算机资源进行的 (1) 系统软件,是 (2) 的接口。
在处理机管理中,进程是一个重要的概念,它由程序块、 (3) 和数据块三部分组成,它有3种基本状态,不可能发生的状态转换是 (4) 。
虚拟存储器的作用是允许程序直接访问比内存更大的地址空间,它通常使用 (5) 作为它的一个主要组成部分。
供选答案:(1): A. 输入和输出 B. 键盘操作C. 管理和控制D. 汇编和执行(2): A. 软件和硬件 B. 主机和外设C. 高级语言和机器语言D. 用户和计算机(3): A. 进程控制块 B. 作业控制块C. 文件控制块D. 设备控制块(4): A. 运行态转换为就绪态 B. 就绪态转换为运行态C. 运行态转换为等待态D. 等待态转换为运行态(5): A. 软盘 B. 硬盘C. CDROMD. 寄存器答案:CDADB3.在计算机系统中,允许多个程序同时进入内存并运行,这种方法称为 D。
A. Spodling技术B. 虚拟存储技术C. 缓冲技术D. 多道程序设计技术4.分时系统追求的目标是 C。
操作系统第二章习题答案3
第2章操作系统用户界面Page 362.1 什么是作业?什么是作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。
它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
而且,在批处理系统中,作业是抢占内存的基本单位。
也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。
作业由不同的顺序相连的作业步组成。
作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。
例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。
2.2 作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
2.3 作业的输入方式有哪几种?各有什么特点?答:作业的输入方式有5种:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。
(3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。
(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。
在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
(5)网络输入方式:网络输入方式以上述几种输入方式为基础。
当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式2.4 试述 SPOOLING 系统的工作原理。
操作系统第二版第二章课后习题答案
第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念?它与程序的差别和关系是怎样的?答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。
进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
2.PCB的作用是什么?它是怎样描述进程的动态性质的?答:PCB是进程组成中最关键的部分。
每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。
4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量容。
试回答:①什么事件引起每次显著的状态变迁?②下述状态变迁因果关系能否发生?为什么?(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。
阻塞→就绪:阻塞态进程所等待的事件发生了。
运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2,不可以。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1,可以。
某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
操作系统原理答案
操作系统原理答案(总20页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March第2章习题答案2-9.(1)x<=3 运行顺序为 Px,P3,P5,P6,P9T=(x+(x+3)+(x+3+5)+(x+3+5+6)+(x+3+5+6+9))/5=x+(2)3<x<=5 运行顺序为 P3,Px,P5,P6,P9T=(3+(3+x)+(3+x+5)+(3+x+5+6)+(3+x+5+6+9))/5=+(3)5<x<=6 T=+(4)6<x<=9 T=+(5)9<x T=+2-12.计算采用FCFS、SJN、RHN的平均周转时间和平均带权周转时间:各作业的周转时间Ti和平均周转时间T:T1= T2= T4=各个作业的平均带权周转时间W计算如下:W=(2/2+++=(1+++6)/4=2) SJN 作业运行顺序:1,3,4,2T1= T2==3T3= T4=各个作业的平均带权周转时间W计算如下:W=(2/2+3/+1/+/4=3) HRN 作业运行顺序:1,3,2,4先选择作业1 从。
当作业1完成时,究竟选谁运行,只有通过计算,选择响应比高者运行:作业2的响应比=( +/=作业3的响应比=(+ /=作业4还未到,只能选作业3运行。
作业3运行到结束,再计算剩余的作业2和4:作业2的响应比=(()+)/=作业4的响应比=( /=2 选作业2运行。
作业2到完成。
最后运行作业4。
运行到,全部结束。
各个作业的周转时间计算如下:t1=2 t2== t3= t4==各个作业的平均周转时间计算如下:T==(2++1+/4=各个作业的平均带权周转时间计算如下:W=(2/2++1/+/4=2-13.已知作业A,B,C,D,E需要的运行时间分别为10,6,2,4,8分钟,优先级分别为3,5,2,1,4。
操作系统课后习题答案第1到2章
操作系统课后习题答案第1到2章第一章习题1.什么是计算机系统?计算机系统是怎样构成的?(p.1)计算机系统是一种可以按用户的要求接收和存储信息、自动进行数据处理并输出结果信息的系统。
计算机系统包括硬件子系统和软件子系统。
2.什么是操作系统?请说明操作系统在计算机系统中的作用和地位。
(p.2)操作系统是计算机系统中的一个系统软件,该软件由若干程序模块组成,它的作用是有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使得用户能够灵活、方便地使用计算机,并使整个计算机系统能高效地运行。
操作系统是计算机系统中的一个极为重要的部分,是系统软件中首要和必不可少的部分。
3.操作系统管理计算机系统的哪些资源?(p.5)操作系统管理计算机系统的硬件资源和软件资源,前者包括中央处理器、内存、外存及其他外部设备、文件和数据;后者包括各种系统软件、支撑软件和应用软件。
4.请从资源管理的角度说明操作系统的主要功能。
(p.5)从资源管理的角度看,操作系统的主要功能是提供一些机制去协调程序间的竞争、对资源进行合理使用、施加保护,以及采取虚拟技术来“扩充”资源等。
5.操作系统有哪些基本特征?(p p.3~4)操作系统的主要特征有以下3各方面:⑴并发性指在计算机系统中同时存在若干个运行着的程序,从宏观上看,这些程序在同时镶嵌推进。
⑵共享性指操作系统程序与多个用户程序共用系统中的各种资源。
⑶随机性操作系统是在一种随机的环境下运行的,操作系统不能对所运行的程序的行为以及硬件设备的情况作出任何事先的假定。
6.请叙述各类操作系统的工作方式及特点。
⑴批处理操作系统的工作方式是用户将作业交给系统操作员,后者在收到作业后成批输入到计算机中,形成一个连续的、自动转接的作业流,系统自动、依次执行每个作业。
最后由操作员将执行完毕的作业结果交给用户。
该操作系统的特点是成批处理,用户不能干预自己作业的远行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章操作系统用户界面Page 362.1 什么是作业?什么是作业步?答:把在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次全部工作称为一个作业,从系统的角度看,作业则是一个比程序更广的概念。
它由程序、数据和作业说明书组成,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
而且,在批处理系统中,作业是抢占内存的基本单位。
也就是说,批处理系统以作业为单位把程序和数据调入内存以便执行。
作业由不同的顺序相连的作业步组成。
作业步是在一个作业的处理过程中,计算机所做的相对独立的工作。
例如,编辑输入是一个作业步,它产生源程序文件;编译也是一个作业步,它产生目标代码文件。
2.2 作业由哪几部分组成?各有什么功能?答:作业由三部分组成:程序、数据和作业说明书。
程序和数据完成用户所要求的业务处理工作,系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。
2.3 作业的输入方式有哪几种?各有什么特点?答:作业的输入方式有5种:(1)联机输入方式:用户和系统通过交互式会话来输入作业。
(2)脱机输入方式:利用低档个人计算机作为外围处理机进行输入处理,存储在后援存储器上,然后将此后援存储器连接到高速外围设备上和主机相连,从而在较短的时间内完成作业的输入工作。
(3)直接耦合方式:直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来,从而省去了在脱机输入中那种依靠人工干预来传递后援存储器的过程。
(4)SPOOLING系统:SPOOLING又可译作外围设备同时联机操作。
在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
(5)网络输入方式:网络输入方式以上述几种输入方式为基础。
当用户需要把在计算机网络中某一台主机上输入的信息传送到同一网中另一台主机上进行操作或执行时,就构成了网络输入方式2.4 试述 SPOOLING 系统的工作原理。
答:在SPOOLING系统中,多台外围设备通过通道或DMA器件和主机与外存连接起来。
作业的输入输出过程由主机中的操作系统控制。
操作系统中的输入程序包含两个独立的过程,一个过程负责从外部设备把信息读入缓冲区;另一个是写过程, 负责把缓冲区的信息送到外存输入井中。
在系统输入模块收到作业输入请求信号后,输入管理模块中的读过程负责将信息从输入装置读入缓冲区。
当缓冲区满时,由写过程将信息从缓冲区写到外存输入井中。
读过程和写过程反复循环,直到一个作业输入完毕。
当读过程读到一个硬件结束标志之后,系统再次驱动写过程把最后一批信息写入外存并调用中断处理程序结束该次输入。
然后,系统为该作业建立作业控制块JCB,从而使输入井中的作业进入作业等待队列,等待作业调度程序选中后进入内存。
2.5 操作系统为用户提供哪些接口?它们的区别是什么?答:操作系统为用户提供两个接口界面。
一个是系统为用户提供的各种命令接口界面。
用户利用这些操作命令来组织和控制作业的执行或管理计算机系统。
另一个接口是系统调用。
编程人员使用系统调用来请求操作系统提供服务。
操作系统的命令控制界面就是用来组织和控制作业运行的。
2.6 作业控制方式有哪几种?调查你周围的计算机的作业控制方式。
答:作业控制的主要方式有两种:联机和脱机方式。
脱机控制方式利用作业控制语言来编写表示用户控制意图的作业控制程序,也就是作业说明书。
作业控制语言的语句就是作业控制命令。
不同的批处理系统提供不同的作业控制语言。
联机控制方式不要求用户填写作业说明书,系统只为用户提供一组键盘或其他操作方式的命令。
用户使用系统提供的操作命令和系统会话,交互地控制程序执行和管理计算机系统。
2.7 什么是系统调用?系统调用与一般用户程序有什么区别?与库函数和实用程序有什么区别?答:系统调用是操作系统提供给编程人员的唯一接口。
编程人员利用系统调用,在源程序一级动态请求和释放系统资源,调用系统中已有的系统功能来完成那些与机器硬件部分相关的工作以及控制程序的执行速度等。
因此,系统调用像一个黑箱子那样,对用户屏蔽了操作系统的具体动作而只提供有关的功能。
区别:系统调用是在核心层执行,调用它们需要一个类似于硬件中断处理的中断处理机制来提供系统服务。
2.8 简述系统调用的实现过程。
答:用户在程序中使用系统调用,给出系统调用名和函数后,即产生一条相应的陷入指令,通过陷入处理机制调用服务,引起处理机中断,然后保护处理机现场,取系统调用功能号并寻找子程序入口,通过入口地址表来调用系统子程序,然后返回用户程序继续执行。
2.9 为什么说分时系统没有作业的概念?答:因为在分时系统中,每个用户得到的时间片有限,用户的程序和数据信息直接输入到内存工作区中和其他程序一起抢占系统资源投入运行,而不必进入外存输入井等待作业调度程序选择。
因此,分时系统没有作业控制表,也没有作业调度程序。
2.10 Linux操作系统为用户提供哪些接口?试举例说明。
答:操作系统为用户提供两种接口,即面向操作命令的借口Shell 和面向编程用户的接口,即系统调用。
常见的Shell命令如:login,logout,vi,emacs,cp,rm,ls,cc,link,adduser,chowm,ch mod,service,pgrep等;常见的系统调用如:read,write,openg,close,creat,mount,fork,wait,exit,socke t等。
2.11 编写一个简单的 Shell 程序,完成一个已有数据文件的复制和打印。
答: # ..\xt\02\cplp.sh# copy filecat copy.c > copy.bak# print filecat copy.c > /dev/lp2.12 用Linux文件读写的相关系统调用,编写一个copy程序。
答:// \home\os\xt\02\copy.c// usage copy src dst#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <stdio.h>#define BUFSIZE 8192int main(int argc,char* argv[]) {printf("argv[0] : %s\n",argv[0]);printf("argv[1] : %s\n",argv[1]);printf("argv[2] : %s\n",argv[2]);if (argc!=3) {printf("\nusage : copy src dst \n");return -1;}int src,dst;char buf[BUFSIZE];int n;src = open(argv[1],O_RDONLY);dst = open(argv[2],O_RDWR | O_CREAT | O_TRUNC,S_IRUSR | S_IWUSR | S_IXUSR);while ((n=read(src,buf,BUFSIZE)) > 0 ) {if (write(dst,buf,n)!=n)printf("write error !");}if (n<0)printf("read error !");close(src);close(dst);printf("\nSuccess !!!!\n");exit(0);}2.13 略第3章进程管理Page 8.33.10 设在书 3.6节中所描述的生产者-消费者问题中,其缓冲部分为m个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度,以及生产者和消费者可对缓冲区同时操作。
重新描述发送过程deposit(data)和接收过程remove(data)。
答:1:设第i块缓冲区的公用信号量为mutex[i],保证生产者进程和消费者进程对同一块缓冲区操作的互斥,初始值为1。
2:设信号量 avail 为生产者进程的私有信号量,初始值为m。
3: 设信号量 full 为消费者进程的私有信号量,初始值为0。
Deposit(data)BeginP(avail)选择一个空缓冲区 buf[i]P(mutex[i])buf[i] ← dataV(full)V(Mutex[i])EndRemove(data)BeginP(full)选择一个满缓冲区 buf[i]P(mutex[i])Data ← buf[i]V(avail)V(Mutex[i])End3.11 两进程PA,PB通过两FIFO缓冲区队列连接(如图),每个缓冲区长度等于传送消息长度。
进程PA,PB之间的通信满足如下条件:(1) 至少有一个空缓冲区存在时,相应的发送进程才能发送一个消息。
(2) 当缓冲队列中至少存在一个非空缓冲区时,相应的接收进程才能接收一个消息。
(3) 接受与发送进程可以同时操作缓冲区队列。
试描述发送过程send(i,data)和接收过程receive(i,data)。
这里i代表缓冲队列。
答:1:定义数组 buf[0](图中上面的缓冲区),buf[1](图中下面的缓冲区)2:设 bufempty[0],buffull[1] 为PA的私有信号量,初始值分别为n,03:设 bufempty[1],buffull[0] 为PB的私有信号量,初始值分别为n,0send(i,data)beginP(bufempty[i])按FIFO方式选择一个空缓冲区 buf[i][j]Buf[i][j] ← dataV(buffull[i]);Endremove(i,data)beginP(buffull[i])按FIFO方式选择一个满缓冲区 buf[i][j]Buf[i][j] ← dataV(bufempty[i]);End3.14 设有5个哲学家,共享一张放有五把椅子的桌子,每人分得一把椅子。
但是,桌子上总共只有5支筷子,在每人两边分开各放一支。
哲学家们在肚子饥饿时才试图分两次从两边拾起筷子就餐。
条件:(1) 只有拿到两支筷子时,哲学家才能吃饭。
(2) 如果筷子已在他人手上,则该哲学家必须等待到他人吃完之后才能拿到筷子。
(3) 任一哲学家在自己未拿到两支筷子吃饭之前,决不放下自己手中的筷子。
试:(1) 描述一个保证不会出现两个邻座同时要求吃饭的通信算法。