操作系统思考题答案
更新时间:2023-12-05 09:29:01 阅读量: 教育文库 文档下载
- 操作系统的主要功能有哪些推荐度:
- 相关推荐
操作系统部分思考题及简答题
【思考题】 1.如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个? 解:我们考虑在微机的操作系统中:
系统的调度管理进程至少是在运行状态。当有N个用户进程启动后,那么我们可以说用户的进程最多有一个在运行状态,最少有0个? 有了这个条件,我们不难推出就绪进程和等待进程可能的数量。
如果我们讨论的多CPU平台的使用的操作系统,就是另外一种情况了。 所以我想题目应该给出一个系统的运行环境。
2. 有没有这样的状态转换,为什么? 等待—运行; 就绪—等待 解:
进程状态转换:
在进程运行过程中,由于进程自身进展情况及外界环境的变化, 这三种基本状态可以依据一定的条件相互转换 就绪—运行 调度程序选择一个新的进程运行
运行—就绪 运行进程用完了时间片,运行进程被中断,因一高优先级进程处于就绪状态 运行—等待 当一进程必须等待时
? OS尚未完成服务
? 对一资源的访问尚不能进行 ? 初始化I/O 且必须等待结果 ? 等待某一进程提供输入 (IPC)
等待—就绪 当所等待的事件发生时 观察下面答案就明确了――>
运行 ? ? ? 就绪 ? 等待 进程的状态及其转换
1
操作系统部分思考题及简答题
3. 一个状态转换的发生,是否一定导致另一个转换发生,列出所有的可能
解:一般情况下,当一个状态发生转换,系统调度会将当前进程置入相应状态队列,再从相应的队列中唤醒相关进程…
4. 举3个日常生活中类似进程的例子 医院看病的过程:
等待医院开门――挂号――看病――划价――付钱――医院关门
5.要不要对缓冲区(临界资源)进行互斥操作?
解:对于是“只读”的临界资源,我们可以认为不需要互斥操作。但,一定有一个对“只读”临界资源进行维护的“写”操作,那么必须要考虑 缓冲区 的互斥操作。
2
操作系统部分思考题及简答题
6 . 用P.V操作解决下图之同步问题:
get copy put f
s t g get
复制一个记录: Cobegin get; copy; put; Coend
f s t g
初始状态 3,4,...,m 2 2 (1,2) g,c,p 4,5,...,m 3 3 (1,2,3) ?
设信息长度为m
3
操作系统部分思考题及简答题
f[1..m] of array
Smutex,Sempty,Sfull:=1,1,0; //(f,s,t,g均为单缓冲区,不需要互斥量Smutex,Tmutex) Tmutex,Tempty,Tfull:=1,1,0 Int x,y =1,1;
//设有m个记录长度,一次get一个记录 Process get {。。。
wait(Sempty); wait (f);
wait(Smutex); //wait(s); 和copy互斥 get 过程,f[x]? s (x号记录) ; x++;
signal(Smutex); //signal(s); signal(f); signal(Sfull); 。。。 }
process copy {…
wait(Sfull); wait(Tempty);
wait(Smutex); //和get 互斥 wait(Tmutex); //和 put 互斥
copy 过程, s?t (y号记录) y++;
signal(Tmutex); signal(Smutex); signal (Tfull); signal (Sempty); …}
process put {…
wait (Tfull); wait (g);
wait(Tmutex); //和 copy 互斥
put 过程 t?g[y] (y号记录); signal (Tmutex); signal (g);
signal (Tempty); …}
4
操作系统部分思考题及简答题
解决下面的问题,首先你要掌握P(wait)、V(signal)操作和互斥信号量的概念。
【作业】
1. 推广例子中的消息缓冲问题。
消息缓冲区为k个,有1个发送进程, n个接收进程,每个接收进程对发送来的消息都必须取一次,若有m个发送进程呢? 解: :)这是一个典型的题目,在我们设计网络上的“聊天室”时所必须要解决的问题。 为了便于理解,我们也可以把这个问题先类比成一个读者优先的“读者写者”问题,即: 先考虑只有一个消息缓冲区(单缓冲区)
1. 当消息缓冲区空时,n个读者(接收进程)等待,一个写者(发送进程)允许写入 2.当消息缓冲区满时,n个读者进行阅读(接收),此时和写者进程 互斥,直到所有读者
阅读完毕。
释放 读写互斥量 和 缓冲区。
『注意』这里我们不能简单的按照例子中的那样,将readcount 简单的计数。可以用下
面的方法:为了保证n个读者(接收进程)都必须读一次,我们可以用n bit 二进制位来作为 n个读者(接收进程)是否接收的标志(0-未读,1-已读),直到所有的位翻转成1后,释放 读写互斥量(Wmutex) 和 缓冲区。
在具体写代码时,我们可以使用一个数组readcount[n] 来表示n bit
array readcount[1..n] ={0,…,0} //n个接收进程 已读标志 Wmutex = 1; // 允许发送进程写数据到 临界缓冲区 Rmutex = 1; // 允许接收进程 修改 已读标志
读者i(接收进程i): while (true) { P(Rmutex);
For(int j:=1;j<=n ;j++)
{ if (readcount[j] = = 1) break; }
if (j>n) P (RWmutex); //n bit全0,第一个读者(接收进程)启动,禁止接收 readcount [i]=1; V(Rmutex); 读(接收) P(Rmutex);
For(j:=1;j<=n ;j++)
{ if (readcount[j] = = 0) break; }
if (j>n) V (RWmutex); // n bit全1,所有读者(接收进程)都读过了,
// 释放写互斥信号量
V(Rmutex); };
5
正在阅读:
操作系统思考题答案12-05
答案 大学语文第3阶段测试题3a06-09
2014年张家口涿鹿县事业单位公开招聘工作人员简章05-27
人生感悟的经典诗句摘抄11-20
《曾国藩》读后感09-13
2017年广州市普通高中毕业班综合测试(一)文科试题及参考答案10-20
大学计算机基础第3章05-15
酶在代谢中的作用08-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 思考题
- 操作系统
- 答案
- 浙江省2017年高考地理11月选考科目考试试题(一) - 图文
- 人教版《岳阳楼记》原文及课下注释
- 中兴通迅分析报告
- 计科 李居胜(开题报告) -
- 幼儿卫生保健练习题
- 高考数学临门一脚
- 基于PCF8563时钟芯片的万年历制作
- 用友畅捷通T3安装和建账完整流程操作指导
- 培养小学生规范书写英语字母的探究
- 生理学讨论课二-学生版 - 图文
- 金工实习(铸造部分)
- 人教版六年级下册体育教案
- 1 土方工程
- 2016年山东省济南市槐荫区中考化学一模试卷
- VB - 数组与记录习题
- 浅谈对变电站综合自动化系统设计体会
- 2018山东临沂地理中考真题(word 重绘版) - 图文
- 浅谈培养七年级学生英语学习习惯
- 血培养操作指南
- 浅析当前农村财务管理存在的问题及建议