1. 进程实体由三部分组成,它们是:程序、__数据集____和___进程控制块(PCB)_______。 2. 存储管理具有四个功能,它们分别是:存储空间的分配和回收、_地址变换与重定
位____、存储共享与保护、__主存扩充____。
3. 荷兰著名的计算机科学家Dijkstra,于1965年提出了一个信号量和P、V操作的同
步机构。在P、V操作中会用到进程控制原语,其中在P操作中用到了__阻塞_____原语,在V操作中用到了___唤醒___原语。 二、
是非题(请用T表示真,用F表示假)
1. 批处理系统不允许用户随时干预自己程序的运行。······················( T ) 2. 引入线程的操作系统中,资源分配的对象是线程。······················( F ) 3. 多道程序设计可以缩短系统中各作业的执行时间。······················( F ) 4. 缺页中断率只和主存容量有关,主存容量大缺页中断次数少,反之,缺页中断次
数多。···············································( F )
三、选择题 (单选,每空2分,共计10分)
1、在下列文件结构中,不便于文件增删记录的是(① )
①连续文件 ②串联文件 ③索引文件 ④Hash文件 2、静态分页存储管理方案的主要特点是( ① )
①不要求将作业装入到内存的连续区域 ② 不要求将作业装入内存 ③ 不要求将作业全部装入内存 ④ 不要求将作业进行地址重定位 3、若有4个进程共享同一资源,每次最多允许3个进程进入该共享资源程序段,则控制该共享资源的信号量值的变化范围是( ② )
①3,2,1,0 ②3,2,1,0,-1 ③4,3,2,1,0 ④2,1,0,-1,-2
四、简答题
1.请简述磁盘空间管理中的成组链接法(Linked List)的磁盘分配思想。
答:当核心分配一个磁盘块时,把超块中的空闲块号表中的下一个空闲块分配出去,如果此空闲块是空闲块号表中最后一块,则先将此块中所纪录的下一组空闲块号读入超块中的空闲块号表中,再将该块分配。
2.某系统的进程状态转换如图所示,请指出A,B,C各代表什么状态,1,2,3,4是进程状态转换的原因,请分别指出一种可能的原因。 解:
A: 运行态
B:就绪态 C:等待态(阻塞态)
1:资源满足且被调度程序选中 2:时间片用完
3:等待事件发生 4:等待的事件已发生
五、推算题
1.设正在处理器上执行的一个进程的页表如下。页表的虚页号和物理块号是十进制数,起始页号(块号)均为0;所有的地址均是存储器字节地址,页的大小为1024字节;状态位表示该页是否在内存,1—在,0—不在;访问位可作为页面淘汰的依据,1—对应页最近刚访问过,0—对应页最近未访问过;修改位作为淘汰页面时写回磁盘的依据;一个进程固定占4块内存,页面淘汰算法采用最近未用置换算法(NRU算法)。
(1) 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的
过程
(2) 下列虚地址对应什么物理地址:(1)3996; (2) 6042; 虚页号 状态位 访问位 修改位 物理块号 0 1 1 0 4 1 0 0 0 --- 2 0 0 0 --- 3 1 0 1 2 4 1 0 0 0 5 0 0 0 --- 6 1 1 1 3
1) 答:根据虚地址的页号查快表,如果快表中有此页号,读出快表中此页对应的页框号,
并与虚地址的页内偏移地址结合形成物理地址。如果快表中没有相应的页号,则查页表。如果该页在页表中的状态为1,说明该页在主存,从页表中读出该页对应的页框号,形成物理地址,同时将此页表项登记到快表中。如果该页在页表中的状态为0,说明该页不在内存,产生缺页中断。系统处理缺页中断时,查看是否有空闲的页框。若有则直接将该页装入空闲的页框;若没有,则按NRU算法淘汰一页再装入内存;然后在页表中填上它所占用的页框号并修改状态位,继续进行地址转换过程。 2) 3996/1024=3….924 该页在内存
故3996的物理地址=2*1024+924=2972
6042/1024=5….922 该页不在内存,淘汰第四页 故6042物理地址=0*1024+922=922 2.1、如果一个作业在执行过程中,按下列的页号依次访问: 1,2,3,4,2,1,5,6,2,1,2,3,7,1,3,2,1,2,3,1
作业固定占用四块主存空间,问在请调式下分别采用OPT调度算法、先进先出调度算法和最近最少用调度算法时,各产生多少次缺页中断?写出在两种调度算法下产生缺页中断时淘汰的页面号和在主存的页面号。
访问次序 1 2 3 4 2 1 5 6 2 1 2 3 7 1 3 2 1 2 3 1 主 存 页 号 淘汰 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 7 7 7 7 7 7 7 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 4 4 4 5 6 6 6 6 6 6 1 1 1 1 1 1 1 4 5 6 OPT共7次缺页中断
访问次序 1 2 3 4 2 1 5 6 2 1 2 3 7 1 3 2 1 2 3 1 主 存 页 号 淘汰 1 1 1 1 1 1 5 5 5 5 5 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 6 6 6 6 6 7 7 7 7 7 7 7 7 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 5 6 FIFO 共十次缺页中断
访问次序 1 2 3 4 2 1 5 6 2 1 2 3 7 1 3 2 1 2 3 1 主 存 页 号 淘汰 4 2 1 5 6 2 1 2 3 7 1 3 2 1 2 3 1 3 3 4 2 1 5 6 2 1 2 3 7 1 3 2 1 2 3 2 2 2 3 4 2 1 5 6 6 1 2 3 7 1 3 3 1 2 1 1 1 1 1 3 4 2 1 5 5 6 1 2 2 7 7 7 7 7 3 4 5 6 LRU 共八次缺页中断
六、 算法题
1.某高校计算机机房允许学生自由上机,该机房共有150台机器,每台机器限一人使用。学生进入和离开机房时,都必须在机房门口的一个机器上刷卡注册或者注销,假定每次只允许一个人注册或注销。
(1) 试问:应编制几个程序和设置几个进程?程序和进程的对应关系如何?
(2) 若要用P、V操作编写上机学生进程的同步程序,如何设置信号量,并编写相
应的程序。
【解】 1)(3分)答:编写一个程序,设置若干个进程。每当来一个学生,执行一次程序,从而建立一个进程。程序和进程之间是1:N的关系。 2)(7分) semaphore s,sp ;
s.value=1 ;/*s用来对注册或注销进行互斥*/ sp.value=150;/*sp用来表示当前空闲的机器数*/ cobegin
repeat Student; coend
process Student
{ P(&sp); P(&s); 刷卡注册; V(&s); 上机学习; P(&s); 刷卡注销; V(&s); V(&sp); }
2、设有两个进程P0、P1 ,利用两个信息M0、M1进行通信,如附图1所示。其中M0有3个格
子,M1有2个格子。初始状态下,M0装满了信件,M1为空。进程P0每次从M0中取出一条消息,经过加工后放入M1的空格子中;P1从M1的格子中取出一条消息,经过加工后再放入M0的空格子中。试用P、V操作写出进程P0、P1并发执行的程序。
解:需设置4个信号量,S0、S1分别表示信箱M0、M1中的消息数;S2、S3分别表示M0、M1中的空格子数。信号量的初值如下:
S0=3;S1=0;S2=0;S3=2 Process P0 {
P(S0); 从M0中取出一消息x;
V(S2); 加工X
P(S3); 将消息X放入M1;
V(S1); } Process P1 {
P(S1); 从M1中取出一消息Y; V(S3); 加工Y
P(S2); 将消息Y放入M0;
V(S0); }
因篇幅问题不能全部显示,请点此查看更多更全内容