操作系统 - 大题题型总结

操作系统 - 大题题型总结_第1张图片


若有若干访问磁盘请求,他们请求的柱面依次为20,37,90,2,34,5,127,111,5
假设每移动一个柱面需要2毫秒时间,移动臂当前位于30号柱面,请分别计算下列算法完成的总寻道时间。
(1)先来先服务算法;
(2)最短寻道时间优先算法。
(3)扫描法


某虚拟存储器的用户编程空间共32个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号的物理块号的对照表如下:
页号 物理块号
0 5
1 10
2 4
3 7
试问:
(1)试述分页存储管理的地址变换过程。
(2)逻辑地址的有效位是多少? 15
(3)物理地址需要多少位? 14
(4)试将虚地址0A5C和093C变换为物理地址。
(0A5C)16=(2652)10
2652/1024 = 2…604
2 查表得4#块
物理地址:4*1024+604=4700
(4700)10 = (125C)16


||||||||||||
空闲管理如果采用bitmap来管理磁盘块的空间,0代表空闲,1代表使用。如目前磁盘的位图为:
11111101 11111110 01111111 01011010 11111111 00000100 00011111;
一块大小为4KB
如需存储新的 7000B 数据,上述数据为例,如何得知分配的是LBA编址的多少号块?(假设物理块结构不需要连续分配)
那如果是需要连续分配的物理块呢?试说明位示图原理和文件分配盘块的具体过程


考虑5个进程P1,P2,P3,P4,P5,见下表。规定进程的优先数越小,优先级越高。试描述在采用下述几种调度算法时各个进程运行过程,并计算采用每种算法时的进程平均周转时间。假设忽略进程的调度时间。
进程 创建时间 运行时间 优先数
P1 0 3 3
P2 2 6 5
P3 4 4 1
P4 6 5 2
P5 8 2 4
(1)先来先服务调度算法;
(2)时间片轮转调度算法(时间片为1ns);
(3)非剥夺式优先级调度等法;
(4)剥夺式优先级调度算法。


******
存放在某个磁盘上的文件系统,采用混合索引分配方式,设备目录表(FCB)中共有13个地址项,0-9为直接地址,10为一级索引,11为二级索引,12为三级索引。如果每个盘块的大小为512 Byte ,若盘块号需要用3个字节来描述,而每个盘块最多存放170个盘块地址。
(1)该文件系统允许文件的最大长度是多少?
(10+1170+ 1170^2 + 1*170^3)*512B
(2)将文件的字节偏移量4000、14000、140000转换为物理块号和块内偏移量。
(3)假设某个文件的设备目录表项(FCB)已在内存中,其它信息在外存,为了访问该文件的某个字节,最少需要几次访问硬盘,最多需要几次。
1 4


在一个采用页式虚拟存储管理的系统中,有一用户作业,内存分配采用固定分配策略,现分配给该作业的主存共768 Byte,页的大小为256 Byte。它依次要访问的字地址序列是:259,490,1243,1818,234,260,799,1006,1626,424,892,若该作业的第0页、第1页、第2页加载时已装入主存
问:按FIFO调度算法将产生多少次缺页中断?依次淘汰的页号为多少?缺页中断率为多少?
按LRU?
按OPT?
注意描述清楚


新冠疫情下,某医院检验室开展疫情检测。假设有3个工作人员,护士负责检测患者获取样本,并传送给检验师;检验师检验后,将结果传送给资料员;资料员将结果生成检验报告并打印。护士、检验师共用一个容量为m个单元的样本放置架;检验师和资料员共用一个容量为n个单元的结果放置架。请写出满足上述条件的并发程序。(6分)

解析: 这是两次生产者-消费者问题。护士进程为P,检验师进程为Q,资料员进程为R。P,Q,R共三个进程。其中,Q既是PQ中的消费者,又是QR中的生产者。1分. 信号量: full_pq:PQ缓冲区的可用信息数,初值为0; full_qr:QR缓冲区的可用信息数,初值为0;empty_pq: PQ缓冲区的可用空位数,初值为m;mpty_qr: QR缓冲区的可用空位数,初值为n;mutex_pq:PQ缓冲区的互斥信号量,初值为1;mutex_qr:QR缓冲区的互斥信号量,初值为1; 1分 算法:4分

semaphore full_pq=0,empty_pq=m,full_qr=0,empty_qr=n,mutex_pq=1,mutex_qr=1;
void p( )
{
while(1) 
{
P从输入设备上读入信息;
p(empty_pq);
	p(mutex_pq);
	P把信息放入缓冲区PQ;
	v(mutex_pq);
	v(full_pq);
   }
}
void q( )8888s
{
while(1) 
{
p(full_pq);
p(mutex_pq);
Q将信息从缓冲区PQ取出;
v(mutex_pq);
v(empty_pq);
Q将信息加工;
p(empty_qr);
		p(mutex_qr);
		Q将信息放入缓冲区QR;
		v(mutex_qr);
		v(full_qr);
   }
}
void r( )
{
while(1) 
{
p(full_qr);
	p(mutex_qr);
	R将信息从缓冲区QR取出;
	v(mutex_qr);
	v(empty_qr);
R打印;
   }
}

你可能感兴趣的:(小杂砸)