操作系统 计算题

合集下载

操作系统计算题

操作系统计算题

计算题:一、 生产消费者问题为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用S1 表示,初值为有界缓冲区的大小N ,另一个说明已用缓冲区的数目,用S2表示,初值 为0。

由于在此问题中有M 个生产者和N 个消费者,它们在执行生产活动和消费活动中要对有界缓冲区进行操作。

由于有界缓冲区是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex ,其初值为1。

二、 地址转换例1:若在一分页存储管理系统中,某作业的页表如下所示。

已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地址。

页号 块号0 21 32 13 6解:本题中,为了描述方便,设页号为P ,页内位移为W ,逻辑地址为A ,页面大小为L ,则:p=int(A/L)w=A mod L对于逻辑地址1011p=int(1011/1024)=0w=1011 mod 1024=1011查页表第0页在第二块,所以物理地址为3059。

对于逻辑地址2148p=int(2148/1024)=2w=2148 mod 1024=100查页表第2页在第1块,所以物理地址为1124。

对于逻辑地址3000p=int(3000/1024)=2w=3000 mod 1024=928查页表第2页在第1块, 所以物理地址为1796。

对于逻辑地址4000p=int(4000/1024)=3w=4000mod 1024=928查页表第3页在第6块, 所以物理地址为7072。

对于逻辑地址5012p=int(5012/1024)=4w=5012mod1024=916因页号超过页表长度,该逻辑地址非法。

例2:在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0, 1, 2页依次存放在物理块5, 10 ,11中,问相应的物理地址为多少?解:由题目所给给条件可知,本页式系统的逻辑地址结构为:逻辑地址2F6AH的二进制表示如下:由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示志号为B,所以物理地址为BF6AH.三、求文件最大长度例:设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块和盘块大小均为256字节,则可表示的单个文件的最大长度是多少?解答:本题的文件结构属混合索引分配方式。

操作系统计算题答案

操作系统计算题答案

1.设某进程所需要的服务时间t=k ⨯q,k 为时间的个数,q 为时间长度且为常数.当t 为一定值时,令q →0,则有k →∞.从而服务时间为t 的进程的响应时间T 是t 的连续函数.对应于时间片调度方式RR,先来先服务方式FCFS 和线性优先级调度方式SRR,其响应时间函数分别为:Trr(t)=()λμμ-⨯tTfc(t)=()λμ-1Tsr(t)=()()()'11λμμλμ-⨯---t其中'λ=()λ⨯-ab1=r λ⨯取(μλ,)=(50,100),分别改变r 的值,计算Trr(t),Tfc(t)和Tsr(t),并画出其时间变化图.2.对实时系统的频率单调调度算法,对于由3个周期组成的实时任务序列,设每个周期为Ti(i=1,2,3),其相应任务的执行时间为C i(i=1,2,3).计算说明当进程执行时间与周期比之和为0.7时,能否保证用户所要求的时限(32=1.266).3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计运行时间分别为2,4,6,8,10分钟,它们的优先数分别为1,2,3,4,5(数值小的优先级低),在使用最高优先级优先调度算法时,计算作业的平均周转时间.解答:1.对(,λμ)=(50,100)T rr (t)=t,T fc (t)=1/50,T sr (t)=1/50-(1-100t)/(100-50t) 0r →时,T sr (t)→1/100+t 1r →时, T sr (t)→2t 图象如下:只有T sr (t)受r 值影响,且r 值增大,T sr (t)的斜率增大,y 截距由1/100趋向0,服务时间也增加。

题目:4.假定某页式管理系统,主存为64KB,分成16块,块号为0,1,2,3,4, ,15,设某作业有4页,其页号为0,1,2,3,被分别装入主存的2,4,1,6块,试问:(1)该作业的总长度是多少字节?(按十进)(2)写出该作业每一页在主存中的起始地址.(3)若给出逻辑地址[0,100],[1,50],[2,0],[3,60],请计算出相应的内存地址.(方括号内的第一个元素为页号,第二个元素为页内地址).5.有一个虚存系统,某进程内存占了3页,开始时内存为空, 执行如下访问页号顺序后:1,2,3,4,1,2,5,1,2,3,4,5.(1).采用先进先出(FIFO)淘汰算法,缺页次数是多少?(2).采用最近最少使用(LRU)淘汰算法,缺页次数是多少?6.有一只铁笼子,每次只能放入一只动物,猎人向笼中放入老虎,农民向笼中放入羊,野生动物园等待取笼中的老虎,饭店等待取笼中的羊,试用P.V操作写出能同步执行的程序.解答:4.解:(1)每块长度=64KB/16=4KB于是由题目可知,每页也是4KB。

操作系统 复习 计算题

操作系统 复习 计算题

计算题:(很多重复的,看看同类型的怎么做就行了)(一)有一计算机系统采用如下图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。

如果盘块从0开始编号,每个盘块的大小为1KB。

(12分)⑴现要为文件分配两个盘块,试具体说明分配过程。

⑵若要释放磁盘的第300块,应如何处理?0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15123456(二)在分页存储管理方式中,地址空间共32位。

问:可访问的内存空间的大小是多少?如果用12位表示页内地址,则系统的一个物理块有多大?一个进程最多能分多少个页?(8分)1、假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘的空闲状态(14分)(1)、请说明在上述条件如何进行磁盘块空闲状态的管理。

(2)、设某单面磁盘的旋转速度为每分钟6000转,每个磁道有100个扇区,相临磁道间的平均移动的时间为1ms。

若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动,磁道号的请求队列为50,90,30,120对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这个扇区点共需要多少时间?需要给出计算过程。

(二)在请求分页式存储管理方式中,假定系统为某进程分配了四个物理块,页的引用顺序为:7,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,且采用固定分配局部算法,则若采用最佳置换算法、先进先出页面置换算法、LRU置换算法时分别产生多少次缺页中断?(6分)(一)假定有一个进程A,它的工作流程图如下所示,如果系统中进程只有三种状态(就绪、执行、阻塞),且进程被进程调度选中后就可投入运行,时间片q=200ms,请顺序列出其从开始到结束所经历的状态转化过程,并注明原因。

(6分)开始磁盘I/O请求磁带I/O请求打印请求结束计算250ms 计算50ms 计算200ms 计算150ms(二)设有一分页存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048字节,内存总共有8个存储块,试问逻辑地址至少应为多少位?内存空间多大?(6分)(三)有一计算机系统采用如下图所示的位示图(行号、列号都从0开始编号)来管理空闲盘块。

国开期末考试《操作系统》机考试题及答案(第8套)

国开期末考试《操作系统》机考试题及答案(第8套)

国开期末考试《操作系统》机考试题及答案(第8套)一、选择题(每题2分,共20分)1. 下列哪个不是操作系统的五大功能?A. 进程管理B. 存储管理C. 文件管理D. 网络管理E. 作业管理2. 进程的三个基本状态是____、____和____。

A. 运行、就绪、挂起B. 运行、就绪、终止C. 运行、阻塞、挂起D. 运行、阻塞、终止3. 在操作系统中,用于实现进程同步和互斥的机制是____。

A. 信号量B. 临界区C. 互斥锁D. 以上都是4. 下列哪种分配方式可用于内存分配?A. 固定分配B. 可变分配C. 虚拟内存D. 以上都是5. 下列哪个不属于文件系统的功能?A. 文件存储B. 文件检索C. 文件传输D. 文件保护二、填空题(每题2分,共20分)1. 操作系统的目标是____、____、____和____。

2. 进程可以分为三种类型:____、____和____。

3. 进程的三个基本状态是____、____和____。

4. 操作系统的五大功能模块包括:____、____、____、____和____。

5. 虚拟存储器是实现____和____的技术。

三、简答题(每题10分,共30分)1. 简述进程和线程的区别。

2. 简述操作系统的调度策略。

3. 简述文件系统的组织结构。

四、计算题(每题10分,共20分)1. 一个计算机系统有10个进程,每个进程的平均运行时间分别为:5分钟、8分钟、10分钟、12分钟、15分钟、18分钟、20分钟、22分钟、25分钟和27分钟。

假设系统采用最短作业优先调度策略,求系统的平均作业响应时间。

2. 假设一个计算机系统的内存容量为4GB,页大小为4KB,采用分页虚拟存储器管理方式。

求系统的虚拟地址空间大小、物理地址空间大小和缺页中断次数。

五、综合题(25分)假设你是一家操作系统的开发人员,请根据以下需求,设计一个简单的操作系统:1. 支持多道程序设计,能够同时运行多个进程。

操作系统期末考试题和答案

操作系统期末考试题和答案

操作系统期末考试题和答案一、选择题(每题2分,共20分)1. 在操作系统中,进程和程序的主要区别是()。

A. 程序是静态的,进程是动态的B. 程序是动态的,进程是静态的C. 程序是操作系统的一部分,进程是用户的一部分D. 程序是用户的一部分,进程是操作系统的一部分答案:A2. 下列关于死锁的描述中,错误的是()。

A. 死锁是指两个或多个进程在执行过程中,因争夺资源而造成的一种僵局B. 死锁产生的原因是系统资源不足C. 死锁的四个必要条件是互斥、占有和等待、不可剥夺和循环等待D. 死锁可以预防,但无法避免答案:D3. 在分页存储管理中,页表的作用是()。

A. 将逻辑地址转换为物理地址B. 将物理地址转换为逻辑地址C. 存储进程的执行状态D. 存储进程的资源分配情况答案:A4. 虚拟内存技术的主要目的是()。

A. 提高CPU的利用率B. 提高内存的利用率C. 提高I/O设备的利用率D. 提高磁盘的利用率答案:B5. 在操作系统中,文件的逻辑结构通常采用()。

A. 顺序结构B. 链接结构C. 索引结构D. 树形结构答案:A6. 操作系统中,文件的物理结构通常采用()。

A. 顺序结构B. 链接结构C. 索引结构D. 树形结构答案:B7. 在操作系统中,文件的共享是指()。

A. 多个进程可以同时访问同一个文件B. 多个进程可以同时修改同一个文件C. 多个进程可以同时创建同一个文件D. 多个进程可以同时删除同一个文件答案:A8. 在操作系统中,文件的保护是指()。

A. 防止文件被非法访问B. 防止文件被非法修改C. 防止文件被非法删除D. 以上都是答案:D9. 在操作系统中,文件的组织方式通常采用()。

A. 顺序文件B. 随机文件C. 索引文件D. 以上都是答案:D10. 在操作系统中,文件的存取方式通常采用()。

A. 顺序存取B. 随机存取C. 直接存取D. 以上都是答案:D二、填空题(每题2分,共20分)1. 操作系统的主要功能包括______、______、文件管理、设备管理和______。

操作系统考试题及答案

操作系统考试题及答案

操作系统考试题及答案一、选择题1. 在操作系统中,进程和程序的主要区别是:- A. 进程是动态的,程序是静态的- B. 进程是静态的,程序是动态的- C. 进程和程序没有区别- D. 进程是程序的执行实例答案:D2. 下列哪个不是操作系统的主要特性?- A. 并发性- B. 共享性- C. 虚拟性- D. 独立性答案:D3. 在现代操作系统中,虚拟内存的实现主要依靠: - A. 硬盘- B. 内存- C. CPU- D. 网络答案:A二、简答题1. 简述操作系统的五大功能。

- 操作系统的五大功能包括:进程管理、存储管理、文件系统管理、设备管理以及用户接口。

2. 描述死锁的四个必要条件。

- 死锁的四个必要条件是:互斥条件、占有和等待条件、不可剥夺条件、循环等待条件。

三、计算题1. 假设一个系统有5个进程,它们的最大并发数为10。

如果每个进程平均需要3次CPU时间,每次CPU时间平均为20ms,计算系统的平均响应时间。

设系统响应时间总和为T,每个进程响应时间R = 3 * 20ms。

系统响应时间总和T = 5 * R = 5 * 3 * 20ms。

平均响应时间 = T / 5 = (5 * 3 * 20ms) / 5 = 60ms。

四、论述题1. 论述操作系统中进程调度的三种基本算法:先来先服务(FCFS)、短作业优先(SJF)和轮转调度(RR)。

- 先来先服务(FCFS):按照进程到达时间的先后顺序进行调度,不考虑进程的执行时间长短。

- 短作业优先(SJF):优先调度执行时间较短的进程,以减少平均等待时间,但可能导致长作业饥饿。

- 轮转调度(RR):将就绪队列中的进程按照时间片轮转调度,每个进程轮流获得CPU时间片,适用于实时要求不高的系统。

五、案例分析1. 假设一个操作系统需要处理大量的文件操作,分析文件系统的两种主要类型:文件分配表(FAT)和日志文件系统(JFS)。

- 文件分配表(FAT):通过一个表来记录文件在磁盘上的存储位置,简单易实现,但随着文件数量的增加,效率会降低。

操作系统计算题

计算题:一、 生产消费者问题为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的数目,用S1 表示,初值为有界缓冲区的大小N,另一个说明已用缓冲区的数目,用S2表示,初值 为0。

由于在此问题中有M 个生产者与N 个消费者,它们在执行生产活动与消费活动中要对有界缓冲区进行操作。

由于有界缓冲区就是一个临界资源,必须互斥使用,所以,另外还需要设置一个互斥信号量mutex,其初值为1。

二、 地址转换 例1:若在一分页存储管理系统中,某作业的页表如下所示。

已知页面大小为1024字节,试将逻辑地址1011,2148,3000,4000,5012转化为相应的物理地址。

页号 块号0 21 32 13 6解:本题中,为了描述方便,设页号为P,页内位移为W,逻辑地址为A,页面大小为L,则:p=int(A/L)w=A mod L对于逻辑地址1011p=int(1011/1024)=0w=1011 mod 1024=1011查页表第0页在第二块,所以物理地址为3059。

对于逻辑地址2148p=int(2148/1024)=2w=2148 mod 1024=100查页表第2页在第1块,所以物理地址为1124。

对于逻辑地址3000p=int(3000/1024)=2w=3000 mod 1024=928查页表第2页在第1块, 所以物理地址为1796。

对于逻辑地址4000p=int(4000/1024)=3w=4000mod 1024=928查页表第3页在第6块, 所以物理地址为7072。

对于逻辑地址5012p=int(5012/1024)=4w=5012mod1024=916因页号超过页表长度,该逻辑地址非法。

例2:在一分页存储管理系统中,逻辑地址长度为16位,页面大小为4096字节,现有一逻辑地址为2F6AH,且第0, 1, 2页依次存放在物理块5, 10 ,11中,问相应的物理地址为多少?解:由题目所给给条件可知,本页式系统的逻辑地址结构为:逻辑地址2F6AH的二进制表示如下:由此可知逻辑地址2F6AH的页号为2,该页存放在第11号物理块中,用十六进制表示志号为B,所以物理地址为BF6AH、三、求文件最大长度例:设文件索引节点中有7个地址项,其中4个地址项为直接地址索引,2个地址项就是一级间接地址索引,1个地址项就是二级间接地址索引,每个地址项大小为4字节,若磁盘索引块与盘块大小均为256字节,则可表示的单个文件的最大长度就是多少?解答:本题的文件结构属混合索引分配方式。

操作系统期末考试题及答案

操作系统期末考试题及答案一、选择题(每题2分,共20分)1. 在操作系统中,进程和线程的主要区别是:A. 进程有独立的内存空间,线程共享内存空间B. 进程和线程没有区别C. 进程和线程共享内存空间D. 线程有独立的内存空间,进程共享内存空间答案:A2. 以下哪个是操作系统的五大基本功能之一?A. 文件管理B. 网络通信C. 用户界面D. 数据加密答案:A3. 在分页存储管理中,页表的作用是:A. 存储进程的代码和数据B. 实现虚拟内存C. 存储页的物理地址D. 映射虚拟地址到物理地址答案:D4. 死锁的必要条件不包括:A. 互斥条件B. 请求和保持条件C. 不剥夺条件D. 循环等待条件答案:B5. 在操作系统中,文件系统的主要作用是:A. 管理进程B. 管理内存C. 管理设备D. 管理文件和目录答案:D(此处省略其他选择题)二、简答题(每题10分,共30分)1. 简述进程和程序的区别。

答案:进程是程序在执行时的状态,包括程序代码、数据、堆栈等,是资源分配的基本单位。

程序是静态的指令集合,是进程执行的指令集合,不包含执行状态信息。

2. 描述死锁的概念及其产生的原因。

答案:死锁是指在多进程系统中,两个或多个进程因争夺资源而造成的一种僵局,每个进程都在等待其他进程释放资源,而其他进程又在等待它释放资源,导致系统无法继续运行。

死锁产生的原因通常包括:互斥条件、请求和保持条件、不剥夺条件和循环等待条件。

3. 解释虚拟内存的概念及其工作原理。

答案:虚拟内存是一种内存管理技术,它允许计算机通过硬盘空间来扩展可用的内存。

操作系统将虚拟内存划分为多个页面,当物理内存不足时,可以将一些不常用的页面从物理内存移动到硬盘上,这个过程称为页面置换。

虚拟内存使得程序可以使用比物理内存更大的地址空间,提高了内存的使用效率。

三、计算题(每题15分,共30分)1. 假设有一个具有4个页面的程序,页面大小为4KB,程序的起始地址为0x1000,页面起始地址为0x0。

操作系统期末考试试题及答案

操作系统期末考试试题及答案一、选择题(每题2分,共20分)1. 在操作系统中,进程和程序的区别是什么?A. 进程是程序的执行实例B. 程序是进程的执行实例C. 进程和程序是同一个概念D. 进程是程序的存储介质答案:A2. 死锁的必要条件包括以下哪几个?A. 互斥条件、占有和等待、不可剥夺条件、循环等待条件B. 互斥条件、占有和等待、可剥夺条件、循环等待条件C. 互斥条件、释放和等待、不可剥夺条件、循环等待条件D. 互斥条件、占有和等待、可剥夺条件、非循环等待条件答案:A3. 虚拟内存技术允许计算机执行以下哪项操作?A. 运行比物理内存大的程序B. 存储更多的数据C. 加速程序的执行D. 减少程序的执行时间答案:A4. 在现代操作系统中,分页和分段的区别是什么?A. 分页是连续内存分配,分段是离散内存分配B. 分页是离散内存分配,分段是连续内存分配C. 分页和分段都是连续内存分配D. 分页和分段都是离散内存分配答案:B5. 操作系统中的文件系统的主要功能是什么?A. 存储和管理文件B. 管理进程C. 管理内存D. 管理输入输出设备答案:A...(此处省略其他选择题)二、简答题(每题10分,共30分)1. 简述操作系统的五大基本功能。

答案:操作系统的五大基本功能包括:进程管理、内存管理、文件系统管理、输入/输出设备管理和用户接口管理。

2. 解释什么是时间片轮转调度算法,并说明其优缺点。

答案:时间片轮转调度算法是一种CPU调度算法,它将CPU时间分配给每个进程,每个进程被分配一个固定的时间片。

当一个进程的时间片用完后,CPU将被分配给下一个进程。

优点包括公平性和响应时间的可预测性。

缺点是上下文切换的开销可能会影响性能。

3. 描述文件系统的层次结构,并解释每个层次的功能。

答案:文件系统的层次结构通常包括文件系统管理器、文件目录和文件。

文件系统管理器负责管理整个文件系统,文件目录用于组织文件,而文件则是存储数据的基本单元。

操作系统选综合练习

第一章作业一、计算题内存中有三个作业按照A---B---C的优先级次序执行,CPU计算和外设操作如下表所示:请给出多道程序运行的时间关系图,完成这三个程序共用去多少时间?分单通道和双通道讨论?比单道方式节约多少时间?(MS)二、简述题1、什么是操作系统?2、操作系统有哪些特征?3、如何理解操作系统的不确定性?4、操作系统有哪些分类?5、如何理解多道并发?6请简述操作系统的引导过程7、云操作系统如何理解?8、什么是多核计算机,什么是网络操作系统?第二章作业一、基本理论题1、进程,线程,管程之间的区别与联系?2、什么是原语?3、什么是进程调度?4、内核功能有哪些?5、信号量怎么理解?6、举例说明死锁?7、系统调用怎么理解?8、临界区,临界资源?9、进程创建的步骤?10、进程状态切换的原因有哪些?11、什么是挂起?12、如何理解多核与多线程?13、互斥与同步?14、死锁产生的原因与条件?15、什么是死锁定理?16、如何理解银行家算法?17、高级调度,中级调度,低级调度如何理解?18 、CPU 的核心态如何理解?二、算法题1、分析生产者与消费者模型中的互斥与同步关系,设计恰当的信号量,给出P-v 代码的实现2、设计恰当的信号量实现读者---写者模型中的互斥与同步,要求分别给出读优先,写优先,读写公平的代码设计3、哲学家进餐模型的互斥如何实现,请用两种不同的算法实现,分别给出代码设计4、桌子上有一只盘子最多可容纳两个水果每次只能放入或取出一个水果。

爸爸专向盘子中放苹果apple 妈妈专向盘子中放橘子orange两个儿子专等吃盘子中的橘子两个女儿专等吃盘子中苹果。

请用P, V操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

5、三个进程共用两个缓冲区S和T, GET负责送数据到S, COPY负责从S中复制数据,把复制好的数据送入到T中,PUT负责把T中的数据打印,要求S 和T 反复循环使用,请给出正确的P---v 代码设计三、计算题1、P 和Q 两个进程优先级相同,信号量S1=S2=0 并发执行后的X=? Y=? Z=?VOID P(VOID ) { Y=1;Y=9;Y+=3;V(S1); Z=Y+1;P(S2);Y+=Z;}VOID Q( VOID) { X=1;Y=8;Y+=5;P(S1);X+=Y;V(S2);Z+=X;}2、有三种类型的资源,5个进程,A资源的数量17, B的数量5个,C的数量20个, 在T 时刻系统状态如下所示:1、T时刻是否安全,若是给出安全序列2、T时刻P2请求(0,3,4)能否分配为什么?3、在(2)的基础上P4请求(2,0,1)能否分配为什么?4、在(3)的基础上P1请求(0,2,0)能否分配为什么?3、某系统有R1, R2, R3共三种资源,T0时刻P1, P2, P3, P4四个进程对资源的占用和需求情况如下所示:系统的可用资源(2,1,2)1、用向量或矩阵表达系统中各种资源总数和此时各个进程对资源的需求数量如果此时P1和P2都发出REQUEST(1,0,为了保证系统的安全性应该如何分配资源给这两个进程,说明原因2、如果(2)中两个请求立即得到满足后,系统此时是否处于死锁状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1. 这是一个从键盘输入到打印机输出的数据处理流图,其中键盘输入进程通过缓冲区 buf1 把输入数据传送给计算进程,计算进程把处理结果通过缓冲 buf2 传送给打印进程.buf1 和 buf2 为临界资源,试写出键盘输入进程,计算进程及打印进程间的同步算法.(10分)输入进程 → buf1 → 计算进程 → buf2 → 打印进程从键盘输入到打印机输出的数据传送过程,可以看作是由键盘输入进程到计算进程,以及由计算进程到打印输出进程这两个数据传送进程所组成.其中,对键盘输入进程而言,计算进程是消费者进程;而对打印输出进程而言,计算进程又是生产者进程.据此可将它们之间的同步问题描述如下: var:mutex1,mutex2,empty1,empty2,full1,full2:=1,1,1,1,0,0; IP:begin repeat P(empty); P(mutex1);input a charcter from keyboard; Add to buffer; V(mutex1); V(full); until false end CP:beginrepeat P(full); P(mutex1);Take a charactor form buffer1; Add to ch1; V(mutex1); V(empty1); P(empty2); P(mutex2);Take a charactor form ch1; Add to buffer2; V(mutex2); V(full2);until false end OP:begin repeat p(full2); P(mutex2);Take a charactor from buffer2; Add to printer controler; start printer; V(mutex2); V(empty2); until false end2.设在一个页面大小为 1K 的系统中,正在处理器上执行的一个进程的页表如图所示:起始页号和块号均为0.1.详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程.2.下列虚地址(十进制)对应与什么物理地址:5449,2221. 解: (10分)5449的物理地址为:329 2221的物理地址为:22213.设系统有三种类型的资源,数量为(4,2,2),系统中有进程A,B,C 按如下顺序请求资源: 进程A 申请(3,2,1)进程B 申请(1,0,1)进程A 申请(0,1,0)进程C 申请(2,0,0)请你给出一和防止死锁的资源剥夺分配策略,完成上述请求序列,并列出资源分配过程,指明哪些进程需要等待,哪些资源被剥夺.(10分)① 分配策略为:当进程Pi 申请ri 类资源时,检查ri 中有无可分配的资源:有则分配给Pi;否则将Pi 占有的资源全部释放而进入等待状态.(Pi 等待原占有的所有资源和新申请的资源)② 资源分配过程: 剩余资源 进程A:(3,2,1) (1,0,1) 进程B:(1,0,1) (0,0,0) 进程A:(0,1,0)(不满足) (3,2,1) A 的所有资源被剥夺,A 处于等待 进程C:(2,0,0) (1,2,1) C,B 完成之后,A 可完成.4.设公共汽车上,司机和售票员的活动分别是:司机: 启动车辆 售票员: 上乘客 正常行车 关车门 到站停车 售票 开车门 下乘客 在汽车不断地到站,停车,行使过程中,这两个活动有什么同步关系 并用 wait 和signal 原语操作实现它们的同步. 解:BEGIN integer stop,run;Stop:=0; Run:=0; COBEGIN Driver: BEGIN L1: wait(run); 启动车辆; 正常行车;到站停车; signal(stop); Goto L1; ENDConductor: BEGIN L2: 上乘客; 关车门; signal(run);售票; wait(stop); 开车门; 下乘客; Goto L2; END COEND END5,某虚拟存储器的用户编程空间共321KB,内存为16KB.假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:则逻辑地址0A5C(H)所对应的物理地址是什么逻辑地址0A5CH)所对应的二进制表示形式是:0000 1010 0101 1100 ,由于1K=210,下划线部分前的编码为000010,表示该逻辑地址对应的页号为3查页表,得到物理块号是4(十进制),即物理块地址为:0001 0010 0000 0000 ,拼接块内地址0000 0000 0101 1100,得0001 0010 0101 1100,即125C(H). 6,某段表内容如下:段号 0 1 2 3段首地址120K 760K 480K 370K段长度 40K 30K 20K 20K 一逻辑地址为(2,154)的实际物理地址为多少答:逻辑地址(2154)表示段号为2,即段首地址为480K,154为单元号,则实际物理地址为480K+154.10.系统运行有三个进程:输入进程,计算进程和打印进程,它们协同完成工作.输入进程和计算进程之间共用缓冲区buffer1,计算进程和打印进程之间共用缓冲区buffer2.输入进程接收外部数据放入buffer1中;计算进程从buffer1中取出数据进行计算,然后将结果放入buffer2;打印进程从buffer2取出数据打印输出.用算法描述这三个进程的工作情况,并用wait和signal原语实现其同步操作.(共8分)解:(共8分)解答:输入进程,计算进程和打印进程之间的同步问题描述如下:var:mutex1,mutex2,empty1,empty2, full1,full2:=1,1,1,1,0,0; InP:beginrepeatwait(empty1);wait(mutex1);input a data from keyboard;Add to buffer1;signal(mutex1);signal(full1);until falseendCalP:beginrepeat wait(full1);wait(mutex1);Take a data form buffer1;Add to ch1;signal(mutex1);signal(empty1);calculate ch1;wait (empty2);wait(mutex2);Take a data form ch1;Add to buffer2;signal (mutex2);signal (full2);until falseendOutP:beginrepeatwait(full2);wait(mutex2);Take a data from buffer2;Add to printer controler;signal(mutex2);signal(empty2);start printer;until falseend11.在一个请求分页系统中,有一个长度为 5 页的进程,假如系统为它分配 3 个物理块 ,并且此进程的页面走向为2,3,2,1,5,2,4,5,3,2,5,2.试用 FIFO 和 LRU 两种算法分别计算出程序访问过程中所发生的缺页次数.(10分)解:FIFO:2 3 2 1 5 2 4 5 3 2 5 2 第1页 2 2 2 5 5 5 3 3 3 第2页 3 3 3 2 2 2 5 5 第3页 1 1 1 4 4 4 2缺页中断次数 = 6 LUR:2 3 2 1 5 2 4 5 3 2 5 2 第1页 2 2 2 2 5 5 5 3 第2页 3 3 5 2 3 3 5第3页 1 1 4 4 2 2缺页中断次数 = 512. 进程 A1,A2,…,An 通过 K 个缓冲区向进程 B1,B2,…,Bm 不断地发送消息.发送和接收工作遵循如下规则:每个发送进程一次发送一个消息,写入缓冲区,缓冲区大小与消息长度一致;对每个消息,B1,B2,…,Bm 都需接收一次,读入各自的数据区内;K 个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待.试用 wait 和 signal 原语操作组织正确的发送和接收操作.(10分)解:BEGINInteger Mutex, Avail[n], Full[m];Integer I;Mutex:=1; FOR i:=1 TO m DOBEGINAvail[I] := k;Full[I] := 0;ENDPROCEDURE Send(K)Integer I;BEGIN14. 用整型信号量描述在哲学家进餐问题中,至多允许4个哲学家同时进餐的算法.(10分)解:public class diningphilosophers {semaphore [] fork = new semaphore [5] (1);semaphore room = new semaphore (4);int i;void philosopher (int i) {while (true)think();wait (room);wait (fork[i]); wait (fork [(i+1) % 5]);eat();signal (fork [(i+1) % 5]);signal (fork[i]);signal (room); }void main() {parbegin (philosopher (0),philosopher (1),philosopher (2) philosopher (3), philosopher (4)); } }16. Jruassic 公园有一个恐龙博物馆和一个公园.有m个旅客和n辆车,每辆车只能容纳一个旅客.旅客在博物馆逛了一会儿,然后排队乘坐旅行车.当一辆车可用时,它载入一个旅客,然后绕公园行驶任意长的时间.如果n辆车都已被旅客乘坐游玩,则想坐车的旅客需要等待;如果一辆车已经就绪,但没有旅客等待,那么这辆车等待.使用信号量同步m个旅客和n辆车的进程.(10分)解:visitors=m; cars=n; mutex=1;Pvi() Pci(){ repeat { repeatwait(cars); wait(visitors);wait(mutex); wait(mutex);get on; start; travell; run;get off; stop;signal(cars); signal(visitors); wait(mutex); wait(mutex);until false; until false;} }17.读者与写者问题 (reader -- writer problems ) (10分)在计算机体系中,对一个共享文件进行操作的进程可分为两类:读操作和写操作,它们分别被称为读者和写者.访问该文件时读者和写者,写者和写者间必须实现互斥.只有在没有读者访问文件时,写者才允许修改文件.或者写者在修改文件时不允许读者去读,否则会造成读出的文件内容不正确.试写出算法描述读者和写者的问题.解: 为了实现读者与写者的同步和互斥,我们设置一个信号量S,用于读者与写者之间或写者与读者之间的互斥,初值为"1".用一个变量rc 表示当前正在读的读者个数,当进程可以去读或读结束后都要改变rc 的值,因此rc 又成为若干读进程的共享变量,它们必须互斥地修改rc.故必须定义另一个用于互斥的信号量Sr,初值也是"1".读者--写者问题可描述如下:S, Sr:semaphore; int rc = 0; S=Sr=1; process Reader I (i=1,2,...,m) process Writer j (j=1,2,...,k)begin beginP(Sr); rc = rc+1; P(S);if (rc==1) P(S); Write file F; V(Sr); V(S);read file F; end P(Sr); rc = tc-1; if (rc==0) V(S); V(Sr);end18,若干个等待访问磁盘者依次要访问的磁道为20,44,40,4,80,12,76,假设每移动一个磁道需要3毫秒时间,移动臂当前位于40号柱面,请按下列算法分别写出访问序列并计算为完成上述各次访问总共花费的寻道时间.(1)先来先服务算法; (2)最短寻道时间优先算法.(3)扫描算法(当前磁头移动的方向为磁道递增)(10分)解:(1)磁道访问顺序为:20,44,40,4,80,12,76 寻道时间=(20+24+4+36+76+68+64)*3=292*3=876(2)磁道访问顺序为:40,44,20,12,4,76,80 寻道时间=(0+4+24+8+8+72+4)*3=120*3=360(3)磁道访问顺序为:40,44,76,80,20,12,4 寻道时间=(0+4+32+4+60+8+8)*3=116*3=34819,生产者和消费者问题 (10分)有一组生产者P1,P2,……,PM和一组消费者C1,C2,……,CK,他们通过由n个环形缓冲区构成的缓冲池进行通信,生产者把产品放入缓冲区,消费者从缓冲区取产品来消费.请用wait和signal原语实现他们的同步操作.解:生产者和消费者问题beginVarmutex,empty,full:semaphore:=1,n,0; buffer:array[0,…,n-1] of item; in,out:integer := 0,0;parbeginproducer: beginrepeatproduce next product ; wait (empty);wait (mutex);buffer(in):=nextp ;in := (in+1) mod n ;signal (full);signal (mutex);until false ;endconsumer: beginrepeatwait (full);wait (mutex);nextc := buffer(out);out := (out+1) mod n;signal (empty);signal (mutex);consume the item in nextc;until false ;endparend end20,请用信号量描述哲学家进餐问题.(15分)解:public void philosopher (int i) { while (true) {think();wait (fork[i]);wait (fork [(i+1) % 5]); eat();signal(fork [(i+1) % 5]); signal(fork[i]);} }21.今有三个并发进程R,M,P,它们共享了一个可循环使用的缓冲区B,缓冲区B共有N个单元.进程R负责从输入设备读信息,每读一个字符后,把它存放在缓冲区B的一个单元中;进程M负责处理读入的字符,若发现读入的字符中有空格符,则把它改成",";进程P负责把处理后的字符取出并打印输出.当缓冲区单元中的字符被进程P取出后,则又可用来存放下一次读入的字符.请用PV操作为同步机制写出它们能正确并发执行的程序. (10分)解:beginVar mutex,input,calculate,output: semaphore:=1,n,0,0; buffer:array[0,…,n-1] of item;in,mid,out:integer := 0,0,0;proR() { do {wait (input);wait (mutex);buffer(in):=input data;in := (in+1) mod n ; signal (calculate); signal (mutex); while true ; }proM() { do {wait (calculate); wait (mutex); buffer(middle):=calculate data ;mid := (mid+1) mod n ;signal (output);signal (mutex);} while true ; }proP() { do {wait (output);wait (mutex);buffer(out):=calculate data ;out := (out+1) mod n ;signal (input);signal (mutex);} while true ; }22.理发店里有一位理发师,一把理发椅子和五把供等候理发的顾客坐的椅子.如果没有顾客,理发师便在理发椅上睡觉.当一个顾客到来时,他必须先叫醒理发师,如果理发师正在理发时又有顾客来到,而如果有空椅子可坐,他们就坐下来等,如果没有空椅子,他就离开.这里的问题是为理发师和顾客各编写一段程序来描述他们行为,并用wait和signal原语操作实现其同步.(10分)解:#define CHAIRS 5 /*为等候的顾客准备椅子数*/ typedef int semaphore; /* 运用你的想像力*/ semphore customers=0; /*等候服务的顾客数*/ semaphore barbers=0 /*等候服务的理发师数*/ semaphore mutex=1; /*用于互斥*/int waiting=0; /*还没理发的等候顾客*/void barber (void) {while(TRUE) {wait(customers); /*如果顾客数是0,则睡觉*/wait(mutex); /*要求进程等候*/ waiting=waiting-1; /*等候顾客数减1*/signal(barbers); /*一个理发师现在开始理发*/ signal(mutex); /*释放等候*/cut_hair(); /*理发(非临界区操作)*/}void customers (void) {wait(mutex);if (waiting0 S的值表示可继续进入售票厅的人数S=0 表示售票厅中已有20名顾客(购票者)S<0 |S|的值为等待进入售票厅的人数(2) int S=20;COBEGIN PROCESS PI(I=1,2,……) begin进入售票厅; wait(S);购票;signal(S);退出;end;COEND(3)S的最大值为20 S的最小值为20-n28,假定系统有三个并发进程read, move和print共享缓冲器B1和B2.进程read负责从输入设备上读信息,每读出一个记录后把它存放到缓冲器B1中.进程move从缓冲器B1中取出一记录,加工后存入缓冲器B2.进程print将B2中的记录取出打印输出.缓冲器B1和B2每次只能存放一个记录.要求三个进程协调完成任务,使打印出来的与读入的记录的个数,次序完全一样.请用wait和signal 原语写出它们的并发程序.(10分)解:begin SR,SM1,SM2,SP: semaphore;B1,B2:record;SR:=1;SM1:=0;SM2:=1;SP:=0Cobeginprocess readX:record;begin R:(接收来自输入设备上一个记录) X:=接收的一个记录;waiut(SR);B1:=X;signal(SM1);goto R; end;Process moveY:record;BeginM:wait(SM1);Y:=B1;signal(SR)加工 Ywait(SM2);B2:=Y;signal(SP);goto M;end;Process printZ:record;BeginP:wait(SP);Z:=B2;signal(SM2)打印Zgoto P;end;coend;end;29,考虑下述页面走向:12,3,42,1,56,2,12,3,76,3,21,2,36当内存块数量分别为3时,试问FIFO,LRU,OPT 答:所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页.FIFO1,23,4,21,5,6,2,12,3,76,3,21,2,361 1 1 4 4 4 6 6 6 3 3 32 2 2 62 2 2 1 1 1 2 2 2 7 7 7 1 1 13 3 3 5 5 5 1 1 1 6 6 6 3 3发生缺页中断的次数为16在FIFO64,1,56之前调入的页面,分别为5,1,24,可见4为最先进入内存的,本次应换出,然后把页6LRU1,23,4,21,5,6,2,12,3,76,3,21,2,361 1 1 4 4 5 5 5 1 1 7 72 2 22 2 2 2 2 6 6 63 3 3 3 3 33 3 1 1 1 2 2 2 2 6 6 1 6发生缺页中断的次数为15在LRU65,2,16之前调入的页面,分别为5,1,22为最近一段时间内使用最少的,本次应换出,然后把页6调入内存.OPT 1,23,4,21,5,6,2,12,3,76,3,21,2,361 1 1 1 1 1 3 3 3 3 62 2 2 2 2 2 7 2 2 23 4 5 6 6 6 6 1 1发生缺页中断的次数为11在OPT61,2,56后面要调入的页面,分别为2,1,2…,可见5为最近一段时间内使用最少的,本次应换出,然后把页64,答:引入缓冲技术的主要目的是:(123)使得一次输入的信息能多次使。

相关文档
最新文档