操作系统期末复习(大题)

1. 进程调度

7ce7cd2183ec45fda88caf78a271f2ed.png

fabf0d58e9c84438af29c5868212f650.png

73df190060b34407adf0799f3167df6a.png

dfeacb04e9fc422b91d7d99a247e63d1.png ecef0263699d49c7b91393f36e55c5d2.png

3b8ec78f40154c5fb3e998664de9cbc1.png

周转时间=作业完成时刻-作业到达时刻

带权周转时间=周转时间/服务时间

平均周转时间=各个作业周转时间之和/作业个数

操作系统:周转时间和其他时间_系统为作业提供的时间-CSDN博客

 2. 进程调度

bc0b3552695c4bcd90cbc2737a91d8e5.png

1f970329d97c4bfea660b81b4eda3767.png

3. 调度算法

73c8638a2d6642f5a67d48e41a749971.png

154d2cb0af164f3a957f665c78bfe46f.png

4. 临界区互斥访问问题

bfce4a04f80945849086a3bd26d84129.png eb9af9ac69e948018c6adecda2ed0903.png

034c68d872de45d797308add0453bbaf.png 即证明是否满足互斥(忙则等待),空闲让进,有限等待

分析:

互斥:当flag[i],flag[j]同时置为true时,且同时进入第一层while()循环,双方都满足循环条件,则双方都能进入第一层while()循环,而if语句里面的turn==j,turn==j不能同时满足,这个时候只有编号为turn的进程因为不能满足if语句条件从而能够进入临界区。

b0f0a563d7514de2b6ba9097c9e745b8.png

5. 信号量机制(p/v操作)

04c0b6776cfd4935b0406a54f4e7849b.png

659da912f8674c72a415a06241f363ea.png

e38550255e7342d291fcdbdab995f210.png 个人习惯用p/v操作,实际上完全等价。wait==p; signal==v;

Semaphor max=n+1;		//表示理发店可以容纳的人数
Semaphor chair=n;		//空闲椅子数
Semaphor barber=1;		//表示理发椅空闲
Semaphor ready=0;		//表示客人准备就绪
Semaphor finished=0;	//表示一次理发结束
Customer:
	while(1){
		P(max);
		P(chair);
		P(barber);
		V(chair);
		V(ready);
		...barberd...
		P(finished);
		V(barber);
		V(max);
	}
Barber:
	while(1){
		P(ready);
		...barbering...
		V(finished);
	}

6. 经典同步互斥问题之抽烟者问题

抽烟者问题:假设一个系统有三个抽烟者进程和一个供应进程。每个抽烟者不停地卷烟并抽掉。但是要卷起并抽掉一个烟,抽烟者需要有三种材料:烟草、纸和胶水。一个抽烟者有纸,另一个有烟草,第三个有胶水。供应进程无限供应所有三种材料,供应者每次将两种材料放到桌子上,拥有剩下那种材料的抽烟者卷一根烟并抽掉,并给供应者一个信号告诉完成了。供应者就会放另外的两种材料在桌子上,这种过程一直重复。写个程序同步供应者与抽烟者。

cfd0077deadd4e9b9f91d3070b1b1922.png

Semaphor smoker[3];		//初始0
Semaphor material[3];	//初始0
Semaphor agent;			//初始1
int turn;				//初始0

Agent:
	while(1){
		P(agent);
		V(smoker[turn]);
		V(material[(turn+1)%3]);
		V(material[(turn+2)%3]);
		turn=(turn+1)%3;
	}
Smoker i:
	while(1){
		P(smoker[i]);
		P(material[(i+1)%3]);
		P(material[(i+2)%3]);
		...smoking...
		V(agent);		
	}

 7. 进程同步问题

一组合作进程,执行顺序如图所示。请用P、V操作实现进程间的同步操作。
5bb48f9fa1a041f78c61e9edbaa9fcfa.png
6227c6fb273c4d88826863fabfbb74e9.png
 

8. 死锁问题(什么时候会发生死锁)

48557044d0674972a727d16a69c48ee1.png

70bc0fe41e3345baa388ef8662b4cdc4.png

9. 死锁问题

98a58e3c954d4802923f1bc5e9413fb7.png

看不懂...

27af3878ae9e486d8207f963afaa5cb8.png10. 银行家算法

ef451c1f89f645bab28024a4db0a2570.png a784a20a44f540d8a9029d1d34de1638.png

b:

安全序列不唯一 ,找到一个即可

比如也可以是:(P0,P3),(P1,P2,P4)       括号内无所谓顺序都可以

c:

安全序列:P0,(P2,P3),(P1,P4)。括号内无所谓顺序都可。

11. 动态分区分配算法

be04f2430ece4c2ca819c7ee0fe41aa9.png

5ad9454387284157ab51d95055dc2301.png 

分配内存后,原分区大小会变化。

最佳适应,每次分区后,都要重新按分区从小到大排序,然后依次检索合适的分区

最差适应,每次分区后,都要重新按分区从大到小排序,然后依次检索合适的分区

其中最佳适应算法的内存利用率最高

12. 内存有效访问时间问题

6751a84914ea43569c4194e940180e82.png

a:存在内存中的页表访问一次,然后再根据页表查询物理块号后再次访问访问一页内存

2*200ns=400ns

b:0.75*200+0.25*(200+200)=250ns

41c30af18f1445b9a4abbf34bf5e1b1b.png

 13. 考虑缺页情况下的内存有效访问时间

7ad424940fd24c3895fea354dee20463.png

0f721e5b23f84d7fbe43d17533e62d90.png 2c308dca69f548798817c13a305015dd.png

14. 计算有效访问时间b1561541bb4d4bf8b287f3eeb70a0516.png

 分页设备的理解:将磁盘上的文件或是进程传输到内存,或者将内存上的页帧换回磁盘。当要运行一个进程时,需要个这个进程建立一个页面映射表(页表),并开始给这个进程分配内存块。这些功能在此处就是由这个分页设备完成的。就是一个将磁盘上的文件以块的方式拷贝到内存。当发生缺页时,同样需要这个传输设备将进行页面置换。

每秒传输100万字,一页1000个字,可一算出传输一页需要的时间为t=1000/1000000=1ms=1000us

ff93992cb07d4decb807d60ac678ca6a.png

f7893a0533244212ae85f17f14f3f7a0.png

15. 基本分段存储管理

 段表有段号,物理地址需要显示的给出的段号

18630915290b46979283a93b5d52cf53.png

58f88b65341e4d54afa74be8600140d9.png 

16. 根据有效访问时间求缺页率

3bdcf51366eb4383a3bd861df1e0ecba.png

 70c9963750b244f5bc7fab46f3e8154e.png

 

页表放在寄存器中,不考虑查询页表所花费的时间,同时这里的缺页处理包括了包括了访存时间

 

考试的大题内容

银行家算法
页面置换算法
逻辑地址->物理地址
信号量机制/pv操作
内存有效访问时间
进程调度算法

 

  • 12
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 操作系统原理 课程试卷(一)答案共4页 学院   专业        成绩      年级   学号      姓名     日期     考试形式: 闭卷 时间: 120分钟 一、 填空题(20分,每空1分) 1、进程通信的常用方式有 直接通信 和 间接通信 等。 2、如果P(S1)和P(S2)两个操作在一起,那么P操作的顺序至关重要,一个同步P操作与一个互斥P操作在一起时同步 P操作在互斥 P操作前。而两个V操作的次序无关紧要 。 3、P(S):表示申请一个资源 ; V(S)表示释放一个资源 。信号量的初值应该大于等于0 。 4、在请求式分页系统中,页框的分配中有一种方式称为固定分配。固定分配有两种不同的方式,分别是平均分配 和按比率分配 。 5、在请求式分页存储管理系统中,不能在计算机中实现的页面淘汰算法是最佳算法 ,选择淘汰不再使用或最远的将来才使用的页的算法是先进先出算法 ,选择淘汰在主存驻留时间最长的页的算法是最近最少使用 。 6、将作业地址空间中的逻辑地址转换为主存中的物理地址的过程称为 地址转换。 7、访问磁盘时间由三部分组成 寻道时间 、 旋转延迟时间 和 传输时间 。 8、I/O设备的控制方式有 轮询 、 中断 和 DMA 等。 二、 判断题(20分,每题4分,请说明正确与否的理由) 1、分布式系统就是紧偶合系统。 错。 分布式系统是松散偶合系统。 2、在一个只有单个CPU的计算机中,进程不能并行操作。 错。 一个进程在利用CPU运行,另一个进程可以同时进行I/O操作,它们是并行的。 3、线程可以分为内核级(Kernel Thread)和用户级(User Thread)两种,操作系统不可以直接调度用户级的线程。 对。 4、有m个进程的操作系统出现死锁时, 死锁进程的个数为1α>0时此算法是什么算法? 2) 请问当α<β<0时此算法是什么算法? 答: 1) 先来先服务 2) 先来后服务 六、 一个程序P的用户空间为16K,存储管理采用请求式分页系统,每个页面大小为2K,存在以下的页表: 页框号 有效位 12 1 3 1 0 1 0 0 2 1 15 1 0 0 8 1 其中,有效位=1表示页面在内存;0表示页面不在内存。 请将虚地址0x060C,0x1502,0x1d71,0x2c27,0x4000转换为物理地址。 答: 0x060C:1548+12*2048=0x660C 0x1502:0x502 0x1d71:缺页 0x2c27:0x1427 0x4000:越界 七、 1目录文件采用链接式,每个磁盘块存放10个下级文件的描述,最多存放40个下级文件,若下级文件为目录文件,上级目录指向该目录文件的第一块,否则指向普通文件的文件控制块。普通文件采用二级索引形式,文件控制块中给出12个磁盘块地址,前10个磁盘块地址指出前10页的物理地址,第11个磁盘块地址指向一级索引表,一级索引表给出256个磁盘块地址,即指出该文件第10页至第265页的地址,第12个磁盘块地址指向二级索引表,二级索引表中指出256个一级索引表的地址。 (1) 该文件系统中的普通文件最大可有多少页? (2) 若要读文件/A/D/K/Q中的某一页, 最少要启动磁盘几次? 最多要启动磁盘几次? 答: (1)该文件系统中的普通文件最大可有:10+256+256*256=65802页 (2)若要读文件/A/D/K/Q中的某一页, 最少要启动磁盘1+1+1+1+1=5次,最多要启动磁盘4+4+4+4+2+1=19次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值