面试qq公司遇到的2个操作系统题目求解

林初茵 2013-03-20 04:25:08
1 若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许( )个进程参于竞争,而不会发生死锁。
A、5 B、2 C、3 D、4

2 假定我们有3个程序,每个程序花费80%的时间进行I/O,20%的时间使用CPU,每个程序的启动时间和其需要使用CPU进行计算机的分钟数如表所示

程序编号 启动时间 需要CPU时间(分钟)
1 00:00(零点零分) 3.5
2 00:10 2
3 00:15 1.5

请问在多线程/进程环境下 系统总响应时间
A 22.5 B 23.5 C 24.5 D 25.5
...全文
7996 46 打赏 收藏 转发到动态 举报
写回复
用AI写文章
46 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨曦呢 2013-04-08
  • 打赏
  • 举报
回复
看最后的时间max(17.5,10+10,15+7.5)=22.5
晨曦呢 2013-04-08
  • 打赏
  • 举报
回复
引用 12 楼 KnownAll 的回复:
第一题A的吧,其他答案要是可以的话,理论上确实可以无限多个啊。 第二题22.5A, 题目 需要时间 启动时间 结束时间 a 17.5 00.00 17.5 b 10 00.10 20 c 7.5 00.15 ……
15+7.5=22.5
一刀切 2013-04-08
  • 打赏
  • 举报
回复
引用 13 楼 xiezhongweiwei 的回复:
第二题应该选B。。。 0~10 10*0.8=8 10*0.2=2 A剩下1.5分钟CPU跑 10~15 有两个进程 CPU利用率为1-0.8*0.8=0.36 所以5*0.36/2=0.9(两个进程均分CPU时间)这样A剩下0.6,B剩下1.1 15开始,有3个进程 CPU利用率为1-0.8*0.8*0.8=0.488 所以A在 0.6*3/0.488=3……
我觉得你的理解是最靠谱的
asd100230520 2013-03-27
  • 打赏
  • 举报
回复
引用 7 楼 CKnightx 的回复:
第一题应该是4吧,5台,貌似就死锁了,都要争资源 第二个, A进程需要运行17.5分钟才能做完 B进程需要10分钟才能做完 C进程需要7.5分钟才能做完 在多线程环境下,17.5分钟,A和B就都做完了。 C是在15分钟后才开始做的,此时A已经完成,B还有2.5分钟的执行时间,而在C执行的7.5分钟期间,足够B的的执行时间。就是22.5分钟,选A了 ……
+1
liuxuejin 2013-03-26
  • 打赏
  • 举报
回复
mark 一下!不错啊
coder_geek 2013-03-25
  • 打赏
  • 举报
回复
第一:4. 第二:22.5 但觉得上述题目不够严谨。 PS:求楼主分享招聘信息,蠢蠢欲试
softneo 2013-03-25
  • 打赏
  • 举报
回复
冒看到版主进来。。。
biany2 2013-03-25
  • 打赏
  • 举报
回复
第二题很显然是问多线程啊 15分钟开始+7.5不就行了吗,你们那种算法别人看得懂吗
  • 打赏
  • 举报
回复
引用 34 楼 asaasaas 的回复:
引用 30 楼 wodeweilaibushimengy 的回复:引用 13 楼 xiezhongweiwei 的回复:第二题应该选B。。。 0~10 10*0.8=8 10*0.2=2 A剩下1.5分钟CPU跑 10~15 有两个进程 CPU利用率为1-0.8*0.8=0.36 所以5*0.36/2=0.9(两个进程均分CPU时间)这样A剩下0.6,B剩下1……
求解释!
tooh 2013-03-25
  • 打赏
  • 举报
回复
引用 1 楼 icechenbing 的回复:
第一道题很基础,我记得大学操作系统的书上有讲。(哲学家就餐问题) 答案应该是4.
哭了 你这么一说 我才想起来
asaasaas 2013-03-25
  • 打赏
  • 举报
回复
引用 30 楼 wodeweilaibushimengy 的回复:
引用 13 楼 xiezhongweiwei 的回复:第二题应该选B。。。 0~10 10*0.8=8 10*0.2=2 A剩下1.5分钟CPU跑 10~15 有两个进程 CPU利用率为1-0.8*0.8=0.36 所以5*0.36/2=0.9(两个进程均分CPU时间)这样A剩下0.6,B剩下1.1 15开始,有3个进程 CPU利用率为1-0.8*0.8*0……
(1-0.8)+(0.8*0.2)=0.36
weichuanlong123 2013-03-25
  • 打赏
  • 举报
回复
引用 39 楼 ssz_stone 的回复:
引用 26 楼 JEROMEVLX 的回复:1、D 2、A 就是操作系统科上讲的,腾讯牛B,这都考 其实越基础的东西才是越难的东西。很多自认为或技术真正不错的人 都输在了基础题上。
假如是做底层的人很容易答对这些题,问题是我们很多人都是web开发,并发,算法之类的关我们鸟事···,不会很正常。
weichuanlong123 2013-03-25
  • 打赏
  • 举报
回复
面霸····
VIP Stone 2013-03-25
  • 打赏
  • 举报
回复
引用 26 楼 JEROMEVLX 的回复:
1、D 2、A 就是操作系统科上讲的,腾讯牛B,这都考
其实越基础的东西才是越难的东西。很多自认为或技术真正不错的人 都输在了基础题上。
sxl200852 2013-03-24
  • 打赏
  • 举报
回复
引用 5 楼 jinder22 的回复:
那为什么不是2个 2个共同申请1个机器难道不会死锁么?
因为在这里临界资源是那5台绘图仪而不是其中的某一台绘图仪。如若有进程申请,有就分配没有就让其等待!
  • 打赏
  • 举报
回复
引用 13 楼 xiezhongweiwei 的回复:
第二题应该选B。。。 0~10 10*0.8=8 10*0.2=2 A剩下1.5分钟CPU跑 10~15 有两个进程 CPU利用率为1-0.8*0.8=0.36 所以5*0.36/2=0.9(两个进程均分CPU时间)这样A剩下0.6,B剩下1.1 15开始,有3个进程 CPU利用率为1-0.8*0.8*0.8=0.488 所以A在 0.6*3/0.488=3……
CPU利用率,在两个进程的时候,为什么要1-0.8*0.8=0.36这样算,0.2*0.2为什么不行
月盡天明 2013-03-22
  • 打赏
  • 举报
回复
引用 11 楼 jinder22 的回复:
校园招聘的题目阿
敢问LZ是哪个高校的???
pl___ 2013-03-22
  • 打赏
  • 举报
回复
第一题没有正确答案, 参见任意一本关于数据库或者事务的书. 第二题的描述根本就有问题, io瓶颈只和设备有关,和程序无关. 在本题中,运行的瓶颈在io上, 而且没有io闲置时间. 所以 总时间== io时间== cpu时间*5== (3.5+2+1.5)*5== 30 而如果3个程序的3个io是3个不同的硬件. 那么 总时间= max(0+3.5*5, 10+2*5, 15+1.5*5)== 22.5 如果程序中cpu与io有强的依赖关系需要另外分析,但是题目中没有给出依赖关系. 总之 这个题至少有3种理解方法,是出题者 语死早 的具体表现.
  • 打赏
  • 举报
回复
引用 30 楼 wodeweilaibushimengy 的回复:
引用 13 楼 xiezhongweiwei 的回复:第二题应该选B。。。 0~10 10*0.8=8 10*0.2=2 A剩下1.5分钟CPU跑 10~15 有两个进程 CPU利用率为1-0.8*0.8=0.36 所以5*0.36/2=0.9(两个进程均分CPU时间)这样A剩下0.6,B剩下1.1 15开始,有3个进程 CPU利用率为1-0.8*0.8*0……
多线程环境a
wangyd324 2013-03-21
  • 打赏
  • 举报
回复
D B
加载更多回复(25)

64,636

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧