操作系统原理离线作业
- 格式:doc
- 大小:233.50 KB
- 文档页数:13
东北农业大学网络教育学院操作系统及windows基础网上作业题第一章操作系统引论一、选择题1.(D)不是基本的操作系统A.批处理操作系统B.分时操作系统C.实时操作系统D.网络操作系统2.(C)不是分时系统的基本特征:A.同时性B.独立性C.实时性D.交互性3.在计算机系统中,操作系统是( B)A. 一般应用软件B.核心系统软件C. 用户应用软件D.系统支撑软件4.以下哪一个不是设计操作系统的主要目标(C)A.方便性 B. 有效性 C. 成本低D. 可扩充性5.最早出现的操作系统是( B)A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统6. 允许多个用户以交互使用计算机的操作系统是( B)A.分时系统B.单道批处理系统C.多道批处理系统D.实时系统7. 操作系统是一组( C)A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序8. 现代操作系统的两个基本特征是( C)和资源共享.A.多道程序设计B.中断处理C.程序的并发执行D.实现分时与实时处理9. ( D)不是操作系统关心的主要问题A.管理计算机裸机B.设计,提供用户程序与计算机硬件系统的界面C, 管理计算机系统资源D.高级程序设计语言的编译器10.引入多道程序的目的是(D)A.为了充分利用主存储器B.增强系统的交互能力B.提高实时响应速度D.充分利用CPU,减少CPU的等待时间11.多道程序设计是指( A)A.有多个程序同时进入CPU运行B.有多个程序同时进入主存并行运行C.程序段执行不是顺序的D.同一个程序可以对应多个不同的进程12.从总体上说,采用多道程序设计技术可以( C)单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要( ).A.增加,减少B.增加,延长C.减少,延长D.减少,减少13.在分时系统中,时间片一定,( B),响应时间越长。
A.内存越多B.用户数越多C.后备队列D.用户数越少14.批处理系统的主要缺点是( B )A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是15. 在下列性质中,哪一个不是分时系统的特征( A )A.交互性B.多路性C.成批性D.独立性16. 实时操作系统追求的目标是( C)A.高吞吐率B.充分利用内存C.快速响应D.减少系统开销17.以下( C)项功能不是操作系统具备的主要功能.A.内存管理B.中断处理C.文档编辑D.CPU调度18.操作系统负责为方便用户管理计算机系统的(C )A.程序B.文档资料C.资源D.进程19.操作系统的基本职能是( A)A.控制和管理系统内各种资源,有效地组织多道程序的运行B.提供用户界面,方便用户使用C.提供方便的可视化编辑程序D.提供功能强大的网络管理工具20. 未配置操作系统的计算机系统中最主要的矛盾是(C)A.硬件价格昂贵与消费水平之间的矛盾 B.输入输出无法匹配CPU运行速度的矛盾C.软硬件发展不匹配的矛盾 D.操作复杂与操作人员技术水平之间的矛盾二、填空题1.操作系统为用户提供三种类型的使用接口,它们是(命令界面)、(系统调用界面)和图形用户界面。
不保证全对哟选择题:1.AD2.B3.AC4.C5.C6.B7.AB8.BC9.B 10.B 11.ABCD 12.ABC 13.ABC 14.B 15.A简答题:1.(1).就绪状态:当进程已分配到除CPU以外的所有必要的资源后,只要能再获得处理机,便能立即执行,把进程这时的状态称为就绪状态。
执行状态:指进程已获得处理机,其程序正在执行。
在单处理机系统中,只能有一个进程正在执行状态。
阻塞状态:进程因发生某事件而暂停执行时的状态。
通常将处于阻塞状态的进程排成一个队列,称为阻塞队列。
(2).处于就绪状态的进程,在进程调度程序为之分配了处理机之后,便由就绪状态转变为执行状态。
正在执行的进程也称为当前进程。
如果因时间片已完而被暂停执行时,该进程将由执行状态转变为就绪状态;如果因发生某事件而使进程的执行受阻,使之无法继续执行,该进程将由执行状态转变为阻塞状态。
2.(1.) 引入设备独立性,可使应用程序独立于具体的物理设备,显著改善资源的利用率及可适应性;还可以使用户独立于设备的类型.(2) 要实现设备独立性,必须由设备独立软件完成,包括执行所有设备的公有操作软件提供统一的接口,其中逻辑设备到物理设备的映射是由逻辑设备表LUT完成的。
论述题1. 当在系统中实现了多道程序后,完全可以利用其中的一道程序来模拟脱机输入时的外转控制机的功能,把低速I/O设备上的数据传送到高速磁盘上;再用另一道程序来模拟脱机输出时的外转控制机的功能,即把数据从磁盘传送到低速输出设备上。
2.区别。
程序是静态的,而进程是动态的。
进程既是程序的执行过程,因而进程是有生命期的,有诞生,亦有消亡。
因此,程序的存在是永久的,而进程的存在是暂时的,动态地产生和消亡。
进程具有创建其他进程的功能,被创建的进程称为子进程,创建者称为父进程,从而构成进程家族。
操作系统原理操作系统是计算机系统中最重要的软件之一,它作为计算机与用户之间的桥梁,承担着管理、调度和协调计算机资源的重要任务。
本文将介绍操作系统的原理及其相关概念,以帮助读者更好地理解操作系统的工作原理。
一、操作系统的定义和作用操作系统是一种控制和管理计算机硬件与软件资源的软件系统,它负责协助用户使用计算机,并管理计算机的各项资源。
操作系统的主要作用包括以下几个方面:1. 资源管理:操作系统负责管理计算机的硬件资源,包括处理器、内存、磁盘、输入输出设备等,以及对这些资源的分配和调度。
2. 进程管理:操作系统通过进程管理,实现对各个程序的并发执行和协同工作,有效地利用计算机的处理能力。
3. 内存管理:操作系统负责管理计算机的内存资源,包括内存的分配、回收和保护,以提供给程序足够的内存空间。
4. 文件系统:操作系统通过文件系统对外提供了一个统一的文件访问接口,方便用户进行文件的管理和存取。
5. 设备管理:操作系统负责管理计算机的输入输出设备,包括设备的分配、调度和中断处理,以满足多个用户并发访问设备的需求。
二、操作系统的基本原理操作系统的工作原理可以分为以下几个基本原理:1. 并发:操作系统通过实现进程管理和线程管理,使得多个程序可以同时执行,提高了计算机系统的资源利用率和响应速度。
2. 共享:操作系统通过共享机制,实现了不同进程之间的资源共享,提高了计算机系统的效率和灵活性。
3. 虚拟:操作系统通过虚拟机制,为用户提供了一个与物理设备相似的、更方便、更安全的计算环境。
4. 异步:操作系统通过中断机制和事件驱动机制,实现了对不同程序的协调和响应,提高了计算机系统的灵活性和可靠性。
5. 持久性:操作系统通过文件系统和存储管理,实现了数据的持久存储和管理,保证了计算机系统的数据安全性和可靠性。
三、操作系统的分类根据不同的标准,操作系统可以分为以下几类:1. 批处理操作系统:批处理操作系统主要用于处理大规模的批量作业,通过一次性输入多个作业,按顺序执行,提高了计算机系统的资源利用率。
您的本次作业分数为:87分 单选题1. 操作系统是一种系统软件,它﹎﹎﹎﹎。
A 控制程序的执行B 管理计算机系统的资源C 方便用户使用计算机D 管理计算机系统的资源和控制程序的执行正确答案:D单选题2.实现不同的作业处理方式(如:批处理、分时处理、实时处理等),主要是基于操作系统对 管理采用了不同的策略。
A 处理机B 存储器C 设备D 文件正确答案:A单选题3.多道程序设计系统中,让多个计算问题同时装入计算机系统的主存储器﹎﹎﹎。
A 并发执行B 顺序执行C 并行执行D 同时执行正确答案:A单选题4. 有一类操作系统的系统响应时间的重要性超过系统资源的利用率,它被广泛地应用于卫星控制、导弹发射、飞机飞行控制、飞机订票业务等领域是﹎﹎﹎﹎。
A 分时操作系统B 实时操作系统C 批处理系统D 网络操作系统正确答案:B单选题5.分时系统中,当用户数目为100时,为保证响应不超过2秒;此时的时间片最大应为﹎﹎﹎﹎。
A 10msB 20msC 50msD 100msE 200ms正确答案:B单选题6.在设计批处理系统时,首先要考虑的是﹎﹎﹎。
A 灵活性和可适应性B 交互性和响应时间C 周转时间和系统吞吐量D 实时性和可靠性正确答案:C单选题7.在设计分时操作系统时,首先要考虑的是﹎﹎﹎。
A 灵活性和可适应性B 交互性和响应时间C 周转时间和系统吞吐量D 实时性和可靠性正确答案:B单选题8.批处理系统的主要缺点是﹎﹎﹎﹎。
A CPU的利用率不高B 失去了交互性C 不具备并行性D 以上都不是正确答案:B单选题9. 实时操作系统对可靠性和安全性要求极高,它﹎﹎﹎。
A 十分注重系统资源的利用率B 不强调响应速度C 不强求系统资源的利用率D 不必向用户反馈信息正确答案:C单选题10.分时系统的响应时间(及时性)主要是根据﹎﹎﹎确定的。
A 时间片大小B 用户数目C 用户数目D 用户所能接受的等待时间E 控制对象所能接受的时延正确答案:D单选题11.从静态角度看,进程由程序、数据和﹎﹎﹎﹎三部分组成。
浙江大学远程教育学院《操作系统原理》课程作业姓名:学号:年级:学习中心:—————————————————————————————一、单选题7进程P0和P1的共享变量定义及其初值为boolean flag[2];int turn=0;flag[0]=FALSE;flag[1]=FALSE;若进程P0和P1访问临界资源的类C代码实现如下:void P0() //P0进程{ while(TURE){flag[0]=TRUE; turn = 1;while (flag[1] && turn == 1) ;临界区;flag[0] = FALSE;}}void P1() //P1进程{ while(TURE){flag[1]=TRUE; turn = 0;while (flag[0] && turn == 0) ;临界区;flag[1] = FALSE;}}则并发执行进程P0和P1时产生的情况是:A.不能保证进程互斥进入临界区、会出现“饥饿”现象B.不能保证进程互斥进入临界区、不会出现“饥饿”现象C.能保证进程互斥进入临界区、会出现“饥饿”现象D.能保证进程互斥进入临界区、不会出现“饥饿”现象【答案】D2.有两个进程P1和P2描述如下:shared data:int counter = 6;P1 :Computing;counter=counter+1;P2 :Printing;counter=counter-2;两个进程并发执行,运行完成后,counter的值不可能为。
A. 4B. 5C. 6D. 7【答案】C3.某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为210字节,页表项大小为2字节,逻辑地址结构为:页目录号页号页内偏移量逻辑地址空间大小为216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是A.64 B.128 C.256 D.512【答案】B4.在动态分区系统中,有如下空闲块:空闲块块大小(KB)块的基址1 80 602 75 1503 55 2504 90 350此时,某进程P请求50KB内存,系统从第1个空闲块开始查找,结果把第4个空闲块分配给了P进程,请问是用哪一种分区分配算法实现这一方案?A.首次适应B. 最佳适应C. 最差适应D. 下次适应【答案】C5.在一页式存储管理系统中,页表内容如下所示。
操作系统原理第三次作业(第4、5章)-1问答题1.用户在使用配置UNIX/Linux 操作系统的计算机时不能将用户软盘随便插进和拿出,试从UNIX/Linux子文件系统的使用原理说明它需要一定的操作的依据和操作的步骤。
UNIX系统只有一个安装UNIX操作系统的根设备的文件系统常驻系统,在硬盘上的其它盘区和软盘上的文件系统被安装前UNIX OS不知道,系统要使用其它文件系统,必须先用mount命令将其安装到系统,被安装的子文件系统的根安装到根设备树形目录的某一节点上。
子文件系统在安装时将该子系统的管理块(superblock)和有关目录信息拷贝到系统缓冲区和活动索引节点表,管理块中存放该子文件系统所对应盘区的管理信息,如即将分配的空闲块号和空闲索引节点号等。
子文件系统安装后进行文件读写增删,文件创建和删除等操作,其变化要记录在系统缓冲区中管理块和活动索引节点表中。
子文件系统使用完毕后要使用umount拆卸命令拆卸安装上去的文件系统,在拆卸时系统将内存系统缓冲区中的管理块和活动索引节点表信息拷贝到将拆卸的子文件系统盘中,保证信息的完整性。
软盘的子文件系统,它需按规定使用,步骤如下:(1)插入软盘(2)使用安装命令安装软盘文件系统(3)读/写盘中文件(4)使用拆卸命令拆卸软盘文件系统(5)取出软盘如使用软盘时随便插进和拿出软盘,就可能造成软盘信息的丢失2. 什么是文件共享?试述UNIX系统中文件共享的实现方法和命令的使用。
文件共享是允许不同的用户使用不同的名字名存取同一文件。
UNIX的文件共享方式有二种:(1)基于索引节点的共享方式--文件硬连接UNIX系统将文件控制块FCB中文件名和文件说明分开。
文件说明为索引节点,各文件索引节点集中存放在索引节点区。
而文件名与索引节点号构成目录,同一级目录构成目录文件,在文件区存放。
为了共享文件,只是在二个不同子目录下取了不同的文件名,但它们具有相同的索引节点号。
大工17秋《操作系统原理》在线作业1一、介绍本文档旨在解答大工17秋《操作系统原理》在线作业1的问题。
二、问题回答1. 什么是操作系统?操作系统是一种控制和管理计算机硬件与软件资源的软件系统。
它提供了用户与计算机系统之间的接口,以及对资源的分配和调度功能。
2. 操作系统的主要功能有哪些?主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户接口等。
3. 进程管理是指什么?进程管理是指操作系统对正在运行的程序进行控制、分配和调度的过程。
它包括进程的创建、删除、暂停、恢复等操作。
4. 内存管理的作用是什么?内存管理负责管理计算机的内存资源,确保每个程序能够按需加载到内存中并正确运行。
它涉及内存的分配、回收、分页等操作。
5. 文件系统管理的功能是什么?文件系统管理负责对计算机中的文件进行组织、存储和访问。
它提供了文件的创建、删除、修改、查找等操作,并负责文件的权限管理和安全保护。
6. 设备管理的作用是什么?设备管理负责控制和管理计算机的硬件设备,包括输入设备、输出设备和存储设备等。
它提供了对设备的分配、调度和控制功能,确保各个设备的正常运行。
7. 用户接口的目的是什么?用户接口是用户与操作系统之间进行交互的接口。
它提供了一种用户友好的方式,使用户能够轻松地使用和操作计算机系统。
三、总结本文简要介绍了操作系统的定义和主要功能,包括进程管理、内存管理、文件系统管理、设备管理和用户接口。
这些功能共同构成了一个完整的操作系统,为用户提供了方便、安全和高效的计算机使用环境。
以上是对大工17秋《操作系统原理》在线作业1的问题回答。
如有不明之处,请留言进一步交流。
17秋18春学期《操作系统原理》在线作业一、单项选择题(共 20 道试题,共 40 分。
)1. 文件系统采纳多级目录结构能够()A. 节省存储空间B. 解决命名冲突C. 缩短文件传送时刻D. 减少系统开销正确答案:B2. 在下述存储治理技术中,只有()可提供虚拟存储基础A. 动态分区法B. 互换技术C. 静态分页法D. 动态分页正确答案:D3. 以下关于进程的描述哪项是错误的A. 各进程之间的地址是彼此独立的B. 进程操纵块PCB是在系统挪用进程时随机生成的C. 进程是静态的D. 进程同程序相较具有并发和异步执行特点正确答案:C4. 程序执行时下一条执行指令的地址放在()寄放器中A. IRB. PSWC. PC正确答案:C5. 一个进程从内存中换出到外存时,该进程被称作为()A. 被阻塞B. 被终止C. 唤醒D. 被挂起正确答案:D6. 在分页存储治理系统中,从页号到物理块号的地址映射是通过()实现的A. 段表B. 页表C. PCBD. JCB正确答案:B7. 在UNIX系统进程调度中,当计算的进程优先数越大时其优先级将()A. 越大B. 越小正确答案:B8. 在文件治理中,利用链式结构能够实现()A. 磁盘驱动操纵B. 磁盘空间分派与回收C. 文件目录查找D. 页面置换正确答案:B9. 在时刻片轮转(RR)法中,若是时刻片太长,该算法会退化为()算法。
A. 短进程优先(SPN)B. 时刻片轮转(RR)C. 先来先效劳(FCFS)D. 优先级法(PS)正确答案:C10. 当为一个新创建的进程分派资源和成立了PCB后,进程将进入()B. 阻塞态C. 就绪态D. 退出态正确答案:C11. 在系统中增加cache能够减缓()之间的速度不匹配性。
A. 硬盘与内存B. 内存与处置器C. 内存与I/O设备D. 硬盘与I/O设备正确答案:B12. 中断治理程序不包括以下哪项功能A. 确信发生中断的特性B. 将操纵权切换处处置程序C. 执行具体的处置进程D. 将操纵权切换到原执行程序正确答案:C13. 在时刻片轮转(RR)法中,若是时刻片太长,该算法会退化为()算法。
操作系统原理第二次离线作业(第3章)-1应用题1.在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面访问顺序为4,3,2,1,4,3,5,4,3,2, l,5,当分配给该作业的物理块数M为4时,试试写出页面访问的过程,并计算访问中所发生的缺页次数和缺页率?解:FIFO置换算法用FIFO置换算法产生缺页次数 10 次缺页率83%2.某采用页式存储管理的系统,假如系统分配给一个作业的物理块数为4,作业执行时依次访问的页为: 2,3,2,1,5,2,4,5,3,2,5,2。
采用LRU页面置换算法时,计算出程序访问过程中所发生的缺页过程和缺页次数。
解:LRU算法问答题1.试述在设有快表的分页存贮管理系统的地址变换机构和地址变换过程。
在CPU给出有效地址(逻辑地址)后,系统将有效地址分离为页号和页内地址。
系统将页号与页表长度进行比较,如果页号大于页表寄存器中的页表长度,则访问越界,产生越界中断。
地址变换机构又自动地将页号送入高速缓存,确定所需要的页是否在快表中。
若是,则直接读出该页所对应的物理块号,送入物理地址寄存器;与此同时,将有效地址(逻辑地址)寄存器中页内地址直接装入物理地址寄存器的块内地址字段中,这样便完成了从逻辑地址到物理地址的变换。
若在快表中未找到对应的页表项,则根据页表寄存器中的页表始址和页号计算出该页在页表项中的位置,通过查找页表,得到该页的物理块号,将此物理块号装入物理地址寄存器中,与有效地址寄存器中页内地址组合成物理地址;同时,把从页表中读出的页表项存入快表中的一个寄存器单元中,以取代一个旧的页表项。
2.试述动态分区、分页和分段三种存储管理方案中如何实现信息的存储保护。
1. 越界保护在动态分区的保护的常用方法是由系统提供硬件:一对界限寄存器。
这可以是上界限寄存器、下界限寄存器,或者是基址寄存器、限长寄存器。
基址寄存器存放起始地址,作为重定位(地址映射)使用;限长寄存器存放程序长度,作为存贮保护使用。
XXX远程与XXX《操作系统》课程设计离线作业XXX远程与XXX《操作系统》课程设计研究中心:专业:年级:年春/秋季学号:学生:题目:页面置换算法OPT算法1.谈谈你对本课程研究过程中的心得体会与建议?在这次课程设计中,我不仅了解了操作系统的基础理论和重要算法,还熟悉了进程同步与互斥。
操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
在实际的操作系统操作过程中,经常会遇到生产者-消费者问题,即某个模块负责产生数据,这些数据由另一个模块来负责处理。
该问题还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。
研究操作系统重要在于实践,很多理论、算法比较抽象,自己动手后会更了解算法。
在使用C语言来实现功能时,不像以往用的其他语言,它比较简练,更容易理解,实用性很强。
2.《操作系统》课程设计,从以下5个题目中任选其一作答。
题目四:进程同步与互斥生产者与消费者问题设计思路:在这次设计中,定义的多个缓冲区不是环形循环的,也不需要按序访问。
其中生产者可以把产品放到某一个空缓冲区中,消费者只能消费被指定生产者生产的产品。
本设计在测试用例文件中指定了所有生产和消费的需求,并规定当共享缓冲区的数据满足了所有有关它的消费需求后,此共享才可以作为空闲空间允许新的生产者使用。
本设计在为生产者分配缓冲区时各生产者之间必须互斥,此后各个生产者的具体生产活动可以并发。
而消费者之间只有在对同一个产品进行消费时才需要互斥,它们在消费过程结束时需要判断该消费者对象是否已经消费完毕并释放缓冲区的空间。
流程(原理)图:源代码:includeincludeincludeincludeincludeincludedefine MAX_BUFFER_NUM 10define INTE_PER_SEC 1000define MAX_THREAD_NUM 64定义一个结构,记录在测试文件中指定的每一个线程的参数struct ThreadInfoint serial。
浙江大学远程教育学院《操作系统原理》课程作业姓名:学号:年级:学习中心:—————————————————————————————一、单选题6.采用段式存储管理的系统中,若地址用32位表示,其中20位表示段号,则允许每段的最大长度是A. 224 B. 212 C. 210 D. 2327.在一段式存储管理系统中,某段表的内容如下:段号段首址段长0 100K 35K1 560K 20K2 260K 15K3 670K 32K若逻辑地址为(2, 158),则它对应的物理地址为_____。
A. 100K+158B. 260K+158C. 560K+158D. 670K+1588.一个分段存储管理系统中,地址长度为32位,其中段长占8位,则最大段长是A. 28字节B. 216字节C. 224字节D. 232字节9.有一请求分页式存储管理系统,页面大小为每页100字节,有一个50×50的整型数组按行为主序连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下:int A[50][50];for (int i = 0; i < 50; i++)for (int j = 0; j < 50; j++)A[i,j] = 0;若在程执行时内存只有一个存储块用来存放数组信息,试问该程序执行时产生次缺页中断。
A.1 B. 50 C. 100 D. 250010.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:页装入时间上次引用时间 R M0 126 279 0 01 230 260 1 02 120 272 1 13 160 280 1 1采用FIFO算法将淘汰页;A. 0B. 1C. 2D. 311.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:页装入时间上次引用时间 R M0 126 279 0 01 230 260 1 02 120 272 1 13 160 280 1 1采用NRU算法将淘汰页;A. 0B. 1C. 2D. 312.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:页装入时间上次引用时间 R M0 126 279 0 01 230 260 1 02 120 272 1 13 160 280 1 1采用LRU算法将淘汰页;A. 0B. 1C. 2D. 313.一台计算机有4个页框,装入时间、上次引用时间、和每个页的访问位R和修改位M,如下所示:页装入时间上次引用时间 R M0 126 279 0 01 230 260 1 02 120 272 1 13 160 280 1 1采用第二次机会算法将淘汰______页;A. 0B. 1C. 2D. 3二、综合题1.4在所列的两种设置中,哪些功能需要操作系统提供支持? (a)手持设备(b)实时系统。
a. 批处理程序b. 虚拟存储器c. 分时1.17列出下列操作系统的基本特点:a.批处理b.交互式c.分时d.实时e.网络f.并行式g.分布式h.集群式i.手持式2.3讨论向操作系统传递参数的三个主要的方法。
2.12采用微内核方法来设计系统的主要优点是什么?在微内核中如何使客户程序和系统服务相互作用?微内核方法的缺点是什么?3.2 问:描述一下内核在两个进程间进行上下文功换的动作.3.4 如下所示的程序,说明LINE A可能会输出什么?#include <stdio.h>#include <unistd.h>#include <sys/types.h>int value=8;int main(){pid_t pid;/* fork a child process */pid = fork();if (pid == 0) { /* child process */value +=15;}else { /* parent process *//* parent will wait for the child to complete */wait(NULL);printf(" Parent :value= %d\n",value);/*LINE A*/exit(0);}}4.4在多线程程序中,以下哪些程序状态组成是被线程共享的?a.寄存值b.堆内存c.全局变量d.栈内存4.7由图4.11给出的程序使用了Pthread的应用程序编程接口(API),在程序的第c行和第p行分别会输出什么?#include <pthread.h>#include <stdio.h>int value=0;void *runner(void *param); /* the thread */int main(int argc, char *argv[]){int pid;pthread_t tid;pthread_attr_t attr;pid = fork();if (pid == 0) {/* child process */pthread_attr_init(&attr);pthread_create(&tid, &attr, runner, NULL);pthread_join(tid, NULL);printf(“CHILD: value = %d”, value); /* LINE C*/}else if (pid > 0) {/* parent process */wait(NULL);printf(“PARENT: value = %d”, value); /* LINE P */}}void *runner(void *param) {value=10;pthread_exit(0);}5.4考虑下列进程集,进程占用的CPU区间长度以毫秒来计算:进程区间时间优先级P1 10 3P2 1 1P3 2 3P4 1 4P5 5 2假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。
a.画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。
b.每个进程在每种调度算法下的周转时间是多少?c.每个进程在每种调度算法下的等待时间是多少?d.哪一种调度算法的平均等待时间对所有进程而言最小?5.5下面哪些算法会引起饥饿a.先来先服务b.最短作业优先调度c.轮转法调度d.优先级调度5.7考虑一个运行10个I/O约束(型)任务和一个CPU约束(型)任务的系统。
假设,I/O 约束任务每进行1毫秒的CPU计算发射一次I/O操作,但每个I/O操作的完成需要 10毫秒。
同时,假设上下文切换要0.1毫秒,所有的进程都是长进程。
对一个RR调度来说,以下情况时CPU的利用率是多少:a.时间片是1毫秒b.时间片是10毫秒6.01在生产者和消费者问题中,信号量mutex,empty,full的作用是什么?如果对调生产者进程中的两个wait操作和两个signal操作,则可能发生什么情况?6.02 一组合作进程,执行顺序如下图。
请用wait、signal操作实现进程间的同步操作。
6.03在生产者和消费者问题中,多个生产者进程(Producer Process)和多个消费者进程(Consumer Process)共享一个大小为8的缓冲区,他们的信号量和共享变量设置如下:int nextc=0, nextp=0, buf[8];semaphore full; empty; mutex;生产者进程和消费者进程问题的算法描述如下:Producer Process: Consumer Process:int itemp; int itemc;while(1){ while(1){1 itemp = rand(); // Generate a number 1 wait(full);2 wait(empty); 2 wait(mutex);3 wait(mutex); 3 itemc=buf[nextc];4 buf[nextp]=itemp; 4 nextc=(nextc+1)%8;5 nextp=(nextp+1)%8; 5 signal(mutex);6 signal(mutex); 6 signal(empty);7 signal(full); 7 cout << itemc << endl;} }(1)生产者进程和消费者进程的临界区是哪些?(2)信号量full、empty和mutex的初值是多少?(3)如果对调生产者进程中的两个P操作即第2行和第3行,以及对调消费者进程中的两个P 操作即第1行和第2行,如下所示。
可能发生什么情况?Producer Process Consumer Process……1 itemp = rand(); // Generate a number 1 wait(mutex);2 wait(mutex); 2 wait(full);3 wait(empty); 3 itemc=buf[nextc];……(4)上面的生产者和消费者同步算法有一个缺点,在有空缓冲区时,当消费者进程正在临界区时,生产者进程必须等待,反之亦然。
您如何可以解决这个问题,以提高生产者和消费者进程之间并发?写出新的生产者进程和消费者进程的同步算法。
6.04有2个合作的进程P1、P2 。
他们从一台输入设备读入数据, P1进程读入数据a,P2进程读入数据b。
输入设备是一台独享设备。
两个进程做如下计算:P1: x = a + bP2: y = a * b计算完成后结果的x、y由进程P1输出。
用信号量实现P1、P2同步算法。
7.1假设有如下图所示的交通死锁情况:(1)说明产生死锁的4个必要条件在此处成立。
(2)给出一个避免死锁的简单规则。
7.11设有一系统在某时刻的资源分配情况如下:进程号已分配资源最大请求资源剩余资源A B C D A B C D A B C DP0 0 0 1 2 0 0 1 2 1 5 2 0P1 1 0 0 0 1 7 5 0P2 1 3 5 4 2 3 5 6P3 0 6 3 2 0 6 5 2P4 0 0 1 4 0 6 5 6请问:(1)系统中各进程尚需资源数各是多少?(2)当前系统安全吗?(3)如果此时进程P1提出资源请求(0,4,2,0),系统能分配给它吗?8.3某系统有五个固定分区,其长度依次为100K, 500K, 200K, 300K, 600K。
今有四个进程,对内存的需求分别是212K, 417K, 112K, 426K。