操作系统大题
更新时间:2024-04-04 08:08:01 阅读量: 综合文库 文档下载
第一章:
1-1设有三道程序A,B,C,它们共同使用一个设备进行I/O操作,并按照A,B,C的优先次序执行,这三个程序的计算和I/O操作时间表如下表所示,假设调度时间可忽略不计,分别画出单道程序环境和多道程序环境下,它们的运行的时间关系图。并比较运行时间。(抢占和非抢占)。(单位ms)
程 作 操 序 A 30 40 10 B 60 30 10 C 20 40 20 计算 I/O 计算
1-2.一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序A先开始做,程序B后开始做。
程序A的运行轨迹是:计算50ms,打印100ms,再计算50ms,打印100ms,结束。 程序B的运行轨迹是:计算50ms,输入80ms,再计算100ms,结束。 试说明:
1.两道程序运行时,CPU有无空等待?若有,在哪段时间内等待? 2.程序A,B有无等待CPU的情况?若有,指出发生等待的时间 解:
解:1.有 100ms---150ms
2.程序A没有,程序B有,在180ms---200ms时程序B等待,由于此时程序A已经占用CPU。
第二章:
2-1 试画出下面四条语句的前驱图: S1: a∶=x+2 S2: b∶=a+4 S3: c∶=a+b
S4: d∶=x+b
解:前趋关系:S1-->S2,S1-->S3,S2-->S3,S2-->S4,S3-->S4。(PS:前趋图的线不能交叉。) S2 S4 S1 前趋图: S3
1. 设有8个程序段P1,P2,…,P8,它们在并发执行时有如下图所示的制约关系,试用信号量实现这些程序段之间的同步。
解:将上图转换为前趋关系
Var a,b,c,d,e,f,g,h,i,j,k;
Semaphore:=0,0,0,0,0,0,0,0,0,0,0; Begin Parbegin
Begin P1; signal(a); signal(b); signal(c); end; Begin P2; signal(d); signal(e); signal(f); end; Begin wait(a); wait(d); P3; signal(g); end;
Begin wait(b); wait(e); P4; signal(h); end; Begin wait(c); wait(f); P5; signal(i); end; Begin wait(g); P6; signal(j); end; Begin wait(i); P7; signal(k); end;
Begin wait(h); wait(j); wait(k); P8; end; Parend end
2-3以下为记录型信号量两个原子操作:
Wait(s) //申请资源 Signal(s) //释放资源
s.count:=s.count - 1; S.count:=s.count +1;
if s.count<0 If s.count<=0 //表示有阻塞队列
then begin Then begin
进程阻塞; 唤醒队首进程;
进程进入s.quene队列; 将该进程从s.quene队列中移出;
End; End;
2.一个生产者,一个消费者,公用n个环形缓冲区(可能考小题)
伊利牛奶厂生产很多牛奶,放在永辉超市多个分店销售,小明可以从任一间超市买到牛奶,同样,只有当厂商把牛奶放在某一分店时,小明才可以从分店中买到牛奶。
分析:与情况一不同,情况二有N个分店(即N个缓冲区形成一个环形缓冲区),所以要利用指针,要求厂商必须按一定的顺序将商品依次放到每一个分店中。 缓冲区对的指向则通过模运算得到。
解:定义两个同步信号量
Empty:表示缓冲区是否为空,初值为n(缓冲区的数量). Full:表示缓冲区是否为满,初值为0.
设缓冲区编号0--(n-1),定义两个指针in和out。
In:指示下一个可投放产品的缓冲区,每为生产者生产并投放一个产品,指针+1, in=(in+1)mod n. ----取模运算
Out:指示下一个可获取产品的缓冲区,每当消费者取走一个产品,指针+1, out=(out+1)mod n. ----取模运算 生产者进程
消费者进程
While(true){
While(true){
生产一个产品;
P(full);
P(empty);
从缓冲区中取产品;
产品送往缓冲区(Buffer);
out=(out+1)mod n.
in=(in+1)mod n.
V(empty);
V(full);
消费产品;
}
3.一组生产者,一组消费者,公用N个环形缓冲区(可能考小题)
有伊利、蒙牛、光明等多家生产厂家,消费者也不只小明一人,有很多消费者,不同厂家把产品放在永辉超市不同分店中销售,不同的消费者可以去不同大的分店中购买。当某一个分店已放满某个厂家的商品时,下一个厂家只能把商品放在下一家分店中。
分析:
生产者和消费者之间是同步关系。
各个生产者之间、各个消费者之间是互斥关系,互斥访问缓冲区。
解:定义4个信号量:
Empty:表示缓冲区是否为空,初值为n(缓冲区的数量). Full:表示缓冲区是否为满,初值为0. Mutex1:生产者之间的互斥信号量,初值为1 Mutex2:消费者之间的互斥信号量,初值为1.
设缓冲区编号0--(n-1),定义两个指针in和out。
In:指示下一个可投放产品的缓冲区,每为生产者生产并投放一个产品,指针+1, in=(in+1)mod n. ----取模运算
Out:指示下一个可获取产品的缓冲区,每当消费者取走一个产品,指针+1,
正在阅读:
操作系统大题04-04
结构最快画图01-01
汇鑫街道农村清产核资实施方案03-09
钻床的自动化改造及进给系统设计毕业说明书有CAD图05-11
2018-2024年中国植脂末行业市场行情动态报告(目录) - 图文04-17
最新2016年湘教版三年级上册音乐教案06-01
古诗欣赏03-18
对海尔企业文化的几点思考05-27
2010年公务员行政能力测试真题及解析05-31
罚款通知单格式02-23
- 《江苏省环境水质(地表水)自动监测预警系统运行管理办法(试行)》
- 安乐死合法化辩论赛立论稿(浙大新生赛)
- 公共科目模拟试卷公务员考试资料
- 我国固定资产投资FAI对GDP的影响
- 大学生创新创业训练计划项目申请书大创项目申报表
- 完美版—单片机控制步进电机
- 2013资阳中考化学试题
- 18.两位数减一位数退位(397道)
- 工程量计算规则
- 二年级操行评语(下)
- 第3章 流程控制语句
- 浅基桥墩加固技术
- 课题研究的主要方法
- 5100软件说明书 - 图文
- 车间技术员年终总结
- 关于印发《中铁建工集团开展项目管理实验室活动方案》的通知
- 经典诵读结题报告
- 地下水动力学习题答案
- 2018年全国各地高考数学模拟试题平面解析几何试题汇编(含答案解
- 街道办事处主任2018年度述职述廉报告
- 操作系统
- 三年级英语兴趣小组活动教案
- 2018-2019冀教版小学五年级上册数学教案(全册)
- 英语(只供参考)
- 2010年全省高中学业水平考试命题评价报告历史试卷评析
- 201709考试批次《经济法》(结课作业)
- 项目评估期末复习
- HyperMesh 10.0 学习笔记—Teelon - 图文
- 教务处廉政风险点排查及防控措施一览表
- 2018年尔雅《诗经》导读课后习题及答案
- 人伤考题三
- 晋商成功之道
- 扩展语句练习题
- K3金蝶里的现金流量表操作手册
- 2014-2015电工技术重修试卷(1)
- 名师堂学校2012秋初一数学半期复习指导
- Oracle SQL:经典查询练手第四篇
- 英国民族性格对《泰晤士报》的影响
- 常州市企业技术难题需求信息汇编
- 在市委政协工作会议上的讲话
- 甲醇泄漏应急预案