操作系统计算题总结
《操作系统》习题解答
《操作系统》习题解答操作系统作为计算机系统的核心组成部分,对于计算机的正常运行和高效使用起着至关重要的作用。
在学习操作系统的过程中,我们会遇到各种各样的习题,下面就为大家解答一些常见的问题。
首先,我们来看一道关于进程管理的习题。
题目:假设系统中有三个进程 P1、P2 和 P3,它们的到达时间分别为 0、1 和 2,服务时间分别为 3、5 和 4,使用先来先服务(FCFS)调度算法,计算平均周转时间和平均带权周转时间。
解答:先来先服务调度算法按照进程到达的先后顺序进行调度。
P1 的周转时间=完成时间到达时间= 3 0 = 3P2 的周转时间= 8 1 = 7P3 的周转时间= 12 2 = 10平均周转时间=(3 + 7 + 10)/ 3 = 20 / 3P1 的带权周转时间=周转时间/服务时间= 3 / 3 = 1P2 的带权周转时间= 7 / 5 = 14P3 的带权周转时间= 10 / 4 = 25平均带权周转时间=(1 + 14 + 25)/ 3接下来,看一道关于内存管理的题目。
题目:在一个分页存储管理系统中,页面大小为 4KB,逻辑地址空间为 32 位,计算页表的长度。
解答:页面大小为 4KB = 2^12 B,逻辑地址空间为 32 位,所以逻辑地址空间的大小为 2^32 B。
页号的位数=逻辑地址的位数页内地址的位数= 32 12 = 20 位所以页表的长度为 2^20 页。
再来看一道关于文件系统的习题。
题目:某文件系统采用多级索引结构,若磁盘块的大小为 1KB,每个盘块号占 4 个字节,请问在二级索引时,文件最大长度是多少?解答:一级索引能索引的盘块数= 1KB / 4B = 256 个二级索引能索引的盘块数= 256 × 256 个文件最大长度=(256 + 256 × 256)× 1KB下面是一道关于设备管理的题目。
题目:假设磁盘转速为 7200 转/分钟,每个磁道有 320 个扇区,每个扇区 512 字节,计算磁盘的数据传输率。
操作系统计算题答案
1.设某进程所需要的服务时间t=k ⨯q,k 为时间的个数,q 为时间长度且为常数.当t 为一定值时,令q →0,则有k →∞.从而服务时间为t 的进程的响应时间T 是t 的连续函数.对应于时间片调度方式RR,先来先服务方式FCFS 和线性优先级调度方式SRR,其响应时间函数分别为:Trr(t)=()λμμ-⨯tTfc(t)=()λμ-1Tsr(t)=()()()'11λμμλμ-⨯---t其中'λ=()λ⨯-ab1=r λ⨯取(μλ,)=(50,100),分别改变r 的值,计算Trr(t),Tfc(t)和Tsr(t),并画出其时间变化图.2.对实时系统的频率单调调度算法,对于由3个周期组成的实时任务序列,设每个周期为Ti(i=1,2,3),其相应任务的执行时间为C i(i=1,2,3).计算说明当进程执行时间与周期比之和为0.7时,能否保证用户所要求的时限(32=1.266).3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计运行时间分别为2,4,6,8,10分钟,它们的优先数分别为1,2,3,4,5(数值小的优先级低),在使用最高优先级优先调度算法时,计算作业的平均周转时间.解答:1.对(,λμ)=(50,100)T rr (t)=t,T fc (t)=1/50,T sr (t)=1/50-(1-100t)/(100-50t) 0r →时,T sr (t)→1/100+t 1r →时, T sr (t)→2t 图象如下:只有T sr (t)受r 值影响,且r 值增大,T sr (t)的斜率增大,y 截距由1/100趋向0,服务时间也增加。
题目:4.假定某页式管理系统,主存为64KB,分成16块,块号为0,1,2,3,4,K K ,15,设某作业有4页,其页号为0,1,2,3,被分别装入主存的2,4,1,6块,试问:(1)该作业的总长度是多少字节?(按十进)(2)写出该作业每一页在主存中的起始地址.(3)若给出逻辑地址[0,100],[1,50],[2,0],[3,60],请计算出相应的内存地址.(方括号内的第一个元素为页号,第二个元素为页内地址).5.有一个虚存系统,某进程内存占了3页,开始时内存为空, 执行如下访问页号顺序后:1,2,3,4,1,2,5,1,2,3,4,5.(1).采用先进先出(FIFO)淘汰算法,缺页次数是多少?(2).采用最近最少使用(LRU)淘汰算法,缺页次数是多少?6.有一只铁笼子,每次只能放入一只动物,猎人向笼中放入老虎,农民向笼中放入羊,野生动物园等待取笼中的老虎,饭店等待取笼中的羊,试用P.V操作写出能同步执行的程序.解答:4.解:(1)每块长度=64KB/16=4KB于是由题目可知,每页也是4KB。
操作系统计算题总结
操作系统计算题总结1. 进程管理1.1 进程调度算法- 先来先服务(FCFS):按照进入队列的顺序进行调度。
- 短作业优先(SJF):选择估计运行时间最短的进程进行执行。
- 时间片轮转(RR):每个进程被分配一个固定长度的时间片,当时间片用完后,将该进程放到就绪队列末尾,并从头开始下一个进程。
1.2 死锁处理方法a) 鸵鸟策略: 忽视死锁问题并希望它自己解决。
b) 死锁检测与恢复: 使用资源分配图或银行家算法等方式检测死锁状态,并采取相应措施回滚以解除死锁。
c) 资源剥夺: 抢占某些资源使得其他线束释放所需资源, 并防止发生循环等待条件.2. 存储管理2.1 分页式存储管理:操作系统使用固定大小的页面和物理内存块来组织程序数据,在适当时划分虚拟地址空间为连续且同样大小的页面,当需要访问特定地址时通过查找页表来确定物理内存中的位置。
2.2 分段式存储管理:将程序划分为若干个逻辑上独立且相对较小的地址空间,每个地址空间称为一个段,段可以是代码、数据或堆栈等。
通过查找段表将逻辑地址转换成物理地址。
3. 文件系统3.1 文件组织方式- 连续分配:文件被连续地保存在磁盘上,并使用起始块和长度进行标识。
- 分配:文件由一系列不必顺序排列的块组成,在每个块中都有指向下一个相关联块的指针。
- 索引分配:建立索引区域用于记录所有已经占用了哪些磁盘快以及它们所属文件信息。
3.2 缓冲技术与缓冲替换算法a) 缓冲技术: 使用缓冲区暂时保存从外部设备读取到内存中待处理数据,提高IO效率并减少访问次数.b) 最近最久未使用(LRU)算法: 根据页面最后一次被访问离当前时间点最远程度选择淘汰页面.4. 设备管理4.1 中断机制- 硬件中断:由硬件设备发送给处理器的信号,用于通知操作系统某个事件已发生。
- 软件中断:通过软件指令触发的异常情况,例如除零错误或非法内存访问。
4.2 设备驱动程序a) 驱动程序: 操作系统提供与特定设备交互所需的接口和功能.b) 中断服务例程(ISR): 当一个中断被触发时执行相应任务并返回到原来进程.附件:- 示例代码文件法律名词及注释:1. 版权(Copyright): 法律保护创作物(如文学、艺术品等)产权之一种形式。
操作系统计算题答案
1.设某进程所需要的服务时间t=k ⨯q,k 为时间的个数,q 为时间长度且为常数.当t 为一定值时,令q →0,则有k →∞.从而服务时间为t 的进程的响应时间T 是t 的连续函数.对应于时间片调度方式RR,先来先服务方式FCFS 和线性优先级调度方式SRR,其响应时间函数分别为:Trr(t)=()λμμ-⨯tTfc(t)=()λμ-1Tsr(t)=()()()'11λμμλμ-⨯---t其中'λ=()λ⨯-ab1=r λ⨯取(μλ,)=(50,100),分别改变r 的值,计算Trr(t),Tfc(t)和Tsr(t),并画出其时间变化图.2.对实时系统的频率单调调度算法,对于由3个周期组成的实时任务序列,设每个周期为Ti(i=1,2,3),其相应任务的执行时间为C i(i=1,2,3).计算说明当进程执行时间与周期比之和为0.7时,能否保证用户所要求的时限(32=1.266).3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计运行时间分别为2,4,6,8,10分钟,它们的优先数分别为1,2,3,4,5(数值小的优先级低),在使用最高优先级优先调度算法时,计算作业的平均周转时间.解答:1.对(,λμ)=(50,100)T rr (t)=t,T fc (t)=1/50,T sr (t)=1/50-(1-100t)/(100-50t) 0r →时,T sr (t)→1/100+t 1r →时, T sr (t)→2t 图象如下:只有T sr (t)受r 值影响,且r 值增大,T sr (t)的斜率增大,y 截距由1/100趋向0,服务时间也增加。
题目:4.假定某页式管理系统,主存为64KB,分成16块,块号为0,1,2,3,4, ,15,设某作业有4页,其页号为0,1,2,3,被分别装入主存的2,4,1,6块,试问:(1)该作业的总长度是多少字节?(按十进)(2)写出该作业每一页在主存中的起始地址.(3)若给出逻辑地址[0,100],[1,50],[2,0],[3,60],请计算出相应的内存地址.(方括号内的第一个元素为页号,第二个元素为页内地址).5.有一个虚存系统,某进程内存占了3页,开始时内存为空, 执行如下访问页号顺序后:1,2,3,4,1,2,5,1,2,3,4,5.(1).采用先进先出(FIFO)淘汰算法,缺页次数是多少?(2).采用最近最少使用(LRU)淘汰算法,缺页次数是多少?6.有一只铁笼子,每次只能放入一只动物,猎人向笼中放入老虎,农民向笼中放入羊,野生动物园等待取笼中的老虎,饭店等待取笼中的羊,试用P.V操作写出能同步执行的程序.解答:4.解:(1)每块长度=64KB/16=4KB于是由题目可知,每页也是4KB。
计算机操作系统算法题(最全)
计算机操作系统算法题(最全)计算机操作系统算法题(最全)一、引言在计算机科学和操作系统领域,算法是一项重要的研究内容。
本文将介绍一些计算机操作系统中常见的算法题,从最基础的调度算法到更高级的分布式算法。
二、调度算法1. 先来先服务调度算法(FCFS)先来先服务调度算法是一种简单而常见的调度算法。
它根据作业到达的顺序进行调度,先到先服务。
该算法不具有抢占性,即一旦作业开始执行,就会一直执行直到完成。
2. 最短作业优先调度算法(SJF)最短作业优先调度算法通过预测作业执行时间,选择估计执行时间最短的作业进行调度。
这种算法能够最大限度地减少平均等待时间和响应时间。
3. 时间片轮转调度算法(RR)时间片轮转调度算法将CPU时间划分为固定长度的时间片,每个进程在一个时间片内执行,超过时间片的进程会被暂停,为其他进程让出CPU。
4. 优先级调度算法优先级调度算法根据作业的优先级进行调度。
每个进程被分配一个优先级,优先级高的进程优先获得CPU。
5. 多级反馈队列调度算法多级反馈队列调度算法将进程划分为多个队列,每个队列拥有不同的优先级。
进程首先进入最高优先级的队列,如果执行时间超过了一个时间片,则进入下一优先级队列,以此类推。
这种算法能够兼顾长作业和短作业的调度。
三、内存分配算法1. 静态分区分配算法静态分区分配算法将内存分为固定大小的若干区域,每个进程根据大小分配到相应的区域。
这种算法简单直观,但会造成内存碎片。
2. 动态分区分配算法动态分区分配算法根据进程大小动态分配内存空间,在进程调度时查找合适的内存分区进行分配。
常见的动态分区分配算法有首次适应算法、循环首次适应算法和最佳适应算法。
3. 页面置换算法页面置换算法用于解决虚拟内存系统中的页面置换问题。
常见的页面置换算法有FIFO算法、LRU算法和LFU算法。
四、磁盘调度算法1. 先来先服务磁盘调度算法先来先服务磁盘调度算法按照请求的顺序进行磁盘访问,存在时间片浪费的问题。
操作系统原理计算题及答案
一、某系统对主存采用页式管理,供用户使用的主存区域共640K字节,被分成160块,块号为0,1,2……159。
现有一作业的地址空间共占4页,其页号为0,1,2,,3,被分配到主存的第2,4,1,5块中,回答:(1)作业每一页的长度为多少字节?4K(2)写出该作业被装入主存时,其对应的页表。
逻辑页号主存块号0 21 42 13 5(3)把该作业的每一页在主存中的起始地址(用16进制表示)填在下表中页号起始地址123二、两个并发进程的程序如下:beginN:integer;N:=1;cobeginprocess AbeginL1:N:=N+1;go to L1;end;process BbeginL2:print(N);N:=0;go to L2;end;coend;end;请回答:(1)指出这两个并发进程的临界区。
进程A的临界区:N:=N+1进程B的临界区: N:=0(2)指出它们并发执行时可能出现的“与时间有关的错误”。
进程B执行了print(N)后被中断;在执行N:=0之前插入了进程A执行N:=N+1,则出现“与时间有关的错误”。
(3)用PV操作进行管理,写出使它们能正确并发执行的程序。
begin N:=integer; N:=1;s:=semaphore;s:=1cobeginprocess AbeginL1:p(s);n:=N+1;V(s);go to L1;end;process BbeginL2:p(s);end;Print(N);coend;N:=0;end;V(s);go to L2三.桌子有一个盘子,每次只能放入一个水果,爸爸专向盘中放苹果,妈妈专向盘中放桔子,女儿专等吃盘中的苹果,儿子专等吃盘中的桔子,试用P,V操作写出他们能正确同步的并发过程。
答案:解:设公用信号量S=1表示盘子,私用信号量S1=0表示苹果,私用信号量S2=0表示桔子。
他们能正确同步的并发过程如下:爸爸P1 妈妈P2 女儿P3 儿子P4P(S) P(S) P(S1) P(S2)放苹果放桔子取苹果取桔子V(S1) V(S2) V(S) V(S)四.假定一个阅览室可供50个人同时阅读。
操作系统计算题总结
操作系统计算题总结
操作系统计算题总结
1、引言
操作系统是计算机系统中最核心的软件之一,负责管理计算机的硬件资源,并为用户应用程序提供运行环境。
在学习操作系统的过程中,计算题是对理论知识的实际应用和验证,能够帮助我们深入理解操作系统的原理和机制。
本文将总结一些常见的操作系统计算题,以及解答思路和步骤。
2、进程管理
2.1 进程调度
- 先来先服务调度算法
- 短作业优先调度算法
- 最短剩余时间优先调度算法
- 时间片轮转调度算法
- 多级反馈队列调度算法
2.2 进程同步
- 互斥量实现进程同步
- 信号量实现进程同步
- 条件变量实现进程同步
- 读写锁实现进程同步
2.3 进程通信
- 管道实现进程通信
- 消息队列实现进程通信
- 共享内存实现进程通信
- 套接字实现进程通信
3、内存管理
3.1 页面置换算法
- 先进先出算法(FIFO)
- 最近最久未使用算法(LRU)- 时钟算法
3.2 分页和分段
- 分页内存管理
- 分段内存管理
- 分页和分段的组合
3.3 虚拟内存管理
- 页面置换算法
- 页面调度算法
- 页面替换算法
4、文件系统
4.1 文件组织
- 索引结构
- 目录结构
- 文件块组织
4.2 文件分配
- 连续分配
- 分配
- 索引分配
4.3 文件权限和保护
- 用户标识和权限位
- 文件保护和访问控制列表(ACL)附件:
该文档没有涉及到附件。
法律名词及注释:
无。
操作系统计算题总结
哲学家进餐问题子程序 基于 AND 信号量机制
6
主程序
哲学家进餐问题 Var chopstick:array[0,…,4] of semaphore:=1,1,1,1,1; begin parbegin philosopher0;…;philosopheri;…; philosopher4; parend end philosopheri begin repeat Think; Swait(chopstick[(i+1) mod 5],chopstick[i]); Eat; Ssignal(chopstick[(i+1)mod 5],chopstick[i]); until false end philosopheri var pmax:semaphore:=4; begin repeat wait(pmax); wait(chopstick[i]); wait(chopstick[(i+1) mod 5]); Eat; signal(chopstick[(i+1) mod 5]); signal(chopstick[i]); signal(pmax); Think; until false end
读者
写者
rcmutex:读者进程中用于 readercount 变量的互斥访问 wcmutex:写者进程中用于 writercount 变量的互斥访问
5
wmutex: 用于读者与写者、写者与写者之间的互斥访问 读者与第一个写者竞争 S 信号量。一旦读者获得 S 信号量,那么直到所有读者执行结束由 最后一个写者释放,而每个读者执行结束都释放,所以写者优先读者执行。 读者-写者问题 限定读者数 读者 写者问题(限定读者数 写者问题 限定读者数) Var RN:integer:=10; rmax,wmutex:semaphore:=RN,1; begin parbegin reader1;…;readeri;…;readerM; writer1;…;writerj;…;writerN; parend end readeri begin repeat Swait(rmax,1,1); =Swait(rmax,1,1,wmutex,1,0); Swait(wmutex,1,0); Perform read operation; Ssignal(rmax,1); until false; end writerj begin repeat Swait(wmutex,1,1, rmax,RN,0); Perform write operation Signal(wmutex); until false end
操作系统大题总结解答
操作系统⼤题总结解答处理机的执⾏模式与执⾏状态⼤多数处理器都⾄少⽀持两种执⾏模式,⼀种是同操作系统有关的模式,另⼀种则是同⽤户程序有关的模式。
较低特权的模式称为⽤户模式。
较⾼特权的模式称系统模式、控制模式或内核模式。
内核模式能执⾏所有的指令,访问所有的内存;⽤户模式则只能执⾏有限的指令,访问规定的内存处理器往往有⼀个或多个寄存器来保存处理器模式信息——程序状态字(PSW )为了防⽌操作系统及其关键数据(如PCB )遭到⽤户程序有意或⽆意的破坏,通常将处理机的执⾏状态分为两种:核⼼态与⽤户态核⼼态⼜称管态、系统态,是操作系统管理程序执⾏时机器所处的状态。
它具有较⾼的特权,能执⾏⼀切指令,能访问所有的寄存器和存储区。
⽤户态⼜称⽬态,是⽤户程序执⾏时机器所处的状态。
它具有较低的特权,只能执⾏规定的指令和只能访问指定的寄存器和存储区。
信号量练习2.某电话亭每⼀时刻最多只能容纳⼀个⼈打电话。
来打电话的⼈,如果看到电话亭空闲,则直接进⼊电话亭打电话;如果看到电话亭⾥正有⼈在打电话,则在外⾯排队等候,直到轮到⾃⼰,再进⼊电话亭打电话。
请⽤信号量来表达打电话的进程对电话机的互斥使⽤逻辑。
该电话亭每次只能容纳⼀个⼈打电话(进程)使⽤,所以是⼀个临界资源,资源量为1,各进程要互斥使⽤。
⽤信号量来表达资源的数量:semaphore mutex=1;(或empty=1) main( ) { CobeginPi ();//(i=1,2,3,4,……); Coend }练习3.某电话亭共有3台电话机,即能容纳3个⼈(3个进程)同时打电话。
来打电话的⼈,如果看到电话亭有空闲机⼦,则直接进⼊电话亭打电话;如果看到电话亭⼈满,则在外⾯排队等候,直到轮到⾃⼰再进⼊电话亭打电话。
请⽤信号量机制表达打电话的进程对电话机资源的使⽤限制。
⽤信号量来表达空闲的电话机数:资源量的初值为3(表⽰开始时有3台空机⼦可⽤) semaphore empty=3; main () { CobeginPi (); i=1,2,3,…… Coend }4.⽣产者-消费者问题⼀个说明空缓冲单元的数⽬,⽤empty 表⽰,其初值为有界缓冲区的⼤⼩n ,另⼀个说明满缓冲单元的数⽬,⽤full 表⽰,其初值为0。
操作系统计算题答案
操作系统计算题答案1.设某进程所需要的服务时间t=k ⨯q,k 为时间的个数,q 为时间长度且为常数.当t 为一定值时,令q →0,则有k →∞.从而服务时间为t 的进程的响应时间T 是t 的连续函数.对应于时间片调度方式RR,先来先服务方式FCFS 和线性优先级调度方式SRR,其响应时间函数分别为:T rr(t)=()λμμ-⨯t T fc(t)=()λμ-1 T sr (t)=()()()'11λμμλμ-⨯---t 其中'λ=()λ⨯-a b 1=r λ⨯ 取(μλ,)=(50,100),分别改变r 的值,计算T rr (t),T fc (t)和T sr(t),并画出其时间变化图.2.对实时系统的频率单调调度算法,对于由3个周期组成的实时任务序列,设每个周期为T i(i=1,2,3),其相应任务的执行时间为C i(i=1,2,3).计算说明当进程执行时间与周期比之和为0.7时,能否保证用户所要求的时限(32=1.266).3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计运行时间分别为2,4,6,8,10分钟,它们的优先数分别为1,2,3,4,5(数值小的优先级低),在使用最高优先级优先调度算法时,计算作业的平均周转时间.解答:1.对(,λμ)=(50,100) T rr (t)=t,T fc (t)=1/50,T sr (t)=1/50-(1-100t)/(100-50t)0r →时,T sr (t)→1/100+t1r →时, T sr (t)→2t 图象如下: ysr (t) 0 x 0 x 0 x 只有T sr (t)受r 值影响,且r 值增大,T sr (t)的斜率增大,y 截距由1/100趋向0,服务时间也增加。
题目:4.假定某页式管理系统,主存为64KB,分成16块,块号为0,1,2,3,4,K K ,15,设某作业有4页,其页号为0,1,2,3,被分别装入主存的2,4,1,6块,试问:(1)该作业的总长度是多少字节?(按十进)(2)写出该作业每一页在主存中的起始地址.(3)若给出逻辑地址[0,100],[1,50],[2,0],[3,60],请计算出相应的内存地址.(方括号内的第一个元素为页号,第二个元素为页内地址).5.有一个虚存系统,某进程内存占了3页,开始时内存为空, 执行如下访问页号顺序后:1,2,3,4,1,2,5,1,2,3,4,5.(1).采用先进先出(FIFO)淘汰算法,缺页次数是多少?(2).采用最近最少使用(LRU)淘汰算法,缺页次数是多少?6.有一只铁笼子,每次只能放入一只动物,猎人向笼中放入老虎,农民向笼中放入羊,野生动物园等待取笼中的老虎,饭店等待取笼中的羊,试用P.V操作写出能同步执行的程序.解答:4.解:(1)每块长度=64KB/16=4KB于是由题目可知,每页也是4KB。
操作系统例题汇总
操作系统例题汇总(总11页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March1.2例题精选例如何理解虚拟机的概念解:一台仅靠由硬件组成的计算机一般被称为裸机,不易使用。
操作系统为用户使用计算机提供了许多服务,从而把一台难于使用的裸机改造成了功能更强大、使用更方便的计算机系统,这种计算机系统称为虚拟机。
所谓虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物。
前者是实际存在的,而后者是虚的,只是用户的一种感觉。
在单CPU的计算机系统中能同时运行多道程序,好像每个程序都独享一个CPU,这就是虚拟。
在构造操作系统时,把操作系统分成若干层,每层完成特定的功能,从而形成一个虚拟机。
下层的虚拟机为上层的虚拟机提供服务,这样逐次扩充以完成操作系统的功能。
讨论“虚拟”的概念体现在操作系统的方方面面。
例如,虚拟存储器,使一台只有4MB内存的计算机可以运行总容量远远超过 4 MB的程序;虚拟外设,能够使多个用户同时访问该外设等。
例什么是多道程序设计,它的主要优点是什么解: 所谓多道程序设计是指把一个以上的程序存放在内存中,并且同时处于运行状态,这些程序共享CPU和其他计算机资源。
其主要优点是:(1)CPU的利用率高:在单道程序环境下,程序独占计算机资源,当程序等待I/O操作时CPU空闲,造成CPU资源的浪费。
在多道程序环境下,多个程序共享计算机资源,当某个程序等待 I/O操作时,CPU可以执行其他程序,这大大地提高了CPU的利用率。
(2)设备利用率高:在多道程序环境下,内存和外设也由多个程序共享,无疑也会提高内存和外设的利用率。
(3)系统吞吐量大:在多道程序环境下,资源的利用率大幅度提高,减少了程序的等待时间,提高了系统的吞吐量。
讨论多道程序在计算机中并发地运行是现代计算机系统的重要特征。
早期的单道批处理系统与人工操作相比自动化程度大大提高,但系统中仍有较多的空闲资源,系统的性能较差。
操作系统复习题计算题
复习题(1)用一个执行时间图描述在采用非抢占优先级算法时执行这些作业的情况;(2)对于上述算法,各个作业的周转时间是多少?平均周转时间是多少?(3)对于上述算法,各个作业的带权周转时间是多少?平均带权周转时间是多少二、有两个程序,A程序按顺序使用CPU 10S,使用设备甲5S,使用CPU 5S,使用设备乙10S,最后使用CPU 10S。
B程序按顺序使用设备甲10S,使用CPU 10S,使用设备乙5S,使用CPU 5S,使用设备乙10S。
在顺序环境下先执行A程序再执行B程序,CPU的利用率是多少?提示:CPU利用率=CPU运行时间/程序运行时间。
三、在单机系统中,系统中各个进程到达就绪队列的时刻、执行时间和优先级如下表所示。
假设进程的调度时间忽略不计。
请分别给出采用下面不同的进程调度算法时各个进程的调度次序,画出执行时间图,并计算平均周转时间、平均带权周转时间。
(1)先来先服务调度算法;(2)时间片轮换调度算法(时间片为1ms);(3)抢占式短进程优先调度算法;(4)抢占式优先级调度算法;(5)非抢占式优先级调度算法。
四、假设在单CPU条件下有下列要执行的作业:(1)用一个执行时间图描述在非抢占优先级算法时,执行这些作业的情况。
(2)用一个执行时间图描述在RR算法时(不考虑优先级),执行这些作业的情况(时间片为1单位)。
五、设系统中只有一台打印机,有三个用户的程序在执行过程中都要使用打印机输出计算结果。
设每个用户程序对应一个进程。
问:这三个进程间有什么样的制约关系?试用P 、V 操作写出这些进程使用打印机的算法。
六、有三个进程P1,P2和P3并发工作。
进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3。
回答:(1)若对资源分配不加限制,会发生什么情况?为什么? (2)为保证进程正确工作,应采用怎样的资源分配策略?为什么? 七、用信号灯及P 、V 操作来描述右图 1、说明进程的同步关系:2、设置信号灯,说明含义、初值。
操作系统复习题计算题
操作系统复习题计算题操作系统复习题计算题操作系统是计算机科学中的重要领域,它涉及到计算机硬件和软件的协调工作,以及对计算机资源的管理和分配。
在操作系统的学习过程中,我们经常会遇到一些复习题和计算题,下面就让我们来一起回顾和解答一些常见的操作系统复习题计算题。
1. 进程调度算法进程调度算法是操作系统中用于决定哪个进程可以执行的重要机制。
常见的进程调度算法有先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、轮转调度(RR)等。
现在让我们来计算一个简单的进程调度算法示例:假设有三个进程P1、P2、P3,它们的到达时间和服务时间如下表所示:进程到达时间服务时间P1 0 4P2 1 3P3 2 2如果采用先来先服务(FCFS)调度算法,请计算平均等待时间和平均周转时间。
解答:根据先来先服务(FCFS)调度算法,按照进程到达的顺序进行调度。
计算平均等待时间和平均周转时间的公式如下:平均等待时间 = (等待时间1 + 等待时间2 + 等待时间3) / 进程数平均周转时间 = (周转时间1 + 周转时间2 + 周转时间3) / 进程数其中,等待时间 = 周转时间 - 服务时间。
根据上述公式,我们可以计算出各个进程的等待时间和周转时间如下:进程到达时间服务时间等待时间周转时间P1 0 4 0 4P2 1 3 4 7P3 2 2 7 9因此,平均等待时间= (0 + 4 + 7) / 3 = 11 / 3 ≈ 3.67平均周转时间= (4 + 7 + 9) / 3 = 20 / 3 ≈ 6.672. 虚拟内存计算虚拟内存是操作系统中的重要概念,它通过将部分程序或数据存储在磁盘上,以扩展计算机的可用内存。
在虚拟内存的管理中,会涉及到页面置换算法和页面大小的选择。
下面让我们来计算一个虚拟内存的相关问题:假设一个系统有32位的虚拟地址空间,页面大小为4KB,物理内存大小为1GB。
请计算以下问题:a) 虚拟地址空间的大小是多少?b) 物理内存中可以容纳多少个页面?c) 虚拟地址空间中可以容纳多少个页面?d) 页面表中可以容纳多少个页表项?解答:a) 虚拟地址空间的大小 = 2^32 字节 = 4GB。
操作系统计算题答案剖析
1.设某进程所需要的服务时间t=k ⨯q,k 为时间的个数,q 为时间长度且为常数.当t 为一定值时,令q →0,则有k →∞.从而服务时间为t 的进程的响应时间T 是t 的连续函数.对应于时间片调度方式RR,先来先服务方式FCFS 和线性优先级调度方式SRR,其响应时间函数分别为:Trr(t)=()λμμ-⨯tTfc(t)=()λμ-1Tsr(t)=()()()'11λμμλμ-⨯---t其中'λ=()λ⨯-ab1=r λ⨯取(μλ,)=(50,100),分别改变r 的值,计算Trr(t),Tfc(t)和Tsr(t),并画出其时间变化图.2.对实时系统的频率单调调度算法,对于由3个周期组成的实时任务序列,设每个周期为Ti(i=1,2,3),其相应任务的执行时间为C i(i=1,2,3).计算说明当进程执行时间与周期比之和为0.7时,能否保证用户所要求的时限(32=1.266).3.有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计运行时间分别为2,4,6,8,10分钟,它们的优先数分别为1,2,3,4,5(数值小的优先级低),在使用最高优先级优先调度算法时,计算作业的平均周转时间.解答:1.对(,λμ)=(50,100)T rr (t)=t,T fc (t)=1/50,T sr (t)=1/50-(1-100t)/(100-50t) 0r →时,T sr (t)→1/100+t 1r →时, T sr (t)→2t 图象如下:只有T sr (t)受r 值影响,且r 值增大,T sr (t)的斜率增大,y 截距由1/100趋向0,服务时间也增加。
题目:4.假定某页式管理系统,主存为64KB,分成16块,块号为0,1,2,3,4, ,15,设某作业有4页,其页号为0,1,2,3,被分别装入主存的2,4,1,6块,试问:(1)该作业的总长度是多少字节?(按十进)(2)写出该作业每一页在主存中的起始地址.(3)若给出逻辑地址[0,100],[1,50],[2,0],[3,60],请计算出相应的内存地址.(方括号内的第一个元素为页号,第二个元素为页内地址).5.有一个虚存系统,某进程内存占了3页,开始时内存为空, 执行如下访问页号顺序后:1,2,3,4,1,2,5,1,2,3,4,5.(1).采用先进先出(FIFO)淘汰算法,缺页次数是多少?(2).采用最近最少使用(LRU)淘汰算法,缺页次数是多少?6.有一只铁笼子,每次只能放入一只动物,猎人向笼中放入老虎,农民向笼中放入羊,野生动物园等待取笼中的老虎,饭店等待取笼中的羊,试用P.V操作写出能同步执行的程序.解答:4.解:(1)每块长度=64KB/16=4KB于是由题目可知,每页也是4KB。
操作系统计算题综合
每页的大小即 2048B=2*1024B=211B,所以页内地址为 11位;页号表最多允许的页数即 16页=24页,所以页号为 4位。故逻辑地址至少应为15位。 块号b 块内偏移d (2)物理地址为:其中块内地址表每块的大小与页大小 相等,所以块内地址也为11位;其中块号表内存空间最多 允许的块数即 8块=23块,所以块号为3位。故内存空间至 少应为14位,即214 =16KB。
E
8
2
9
11
周转时间=结束-到达 带权周转时间=周转/服务
执行顺序: A B E C D
周转 时间
3
7 11
14 3 7.6
带权周 转时间
1
1.17 2.75
2.8
1.5 1.84
FCFS和的SJF比较
进程名
A B C D E 平均
到达时间
0
1
2
3
4
服务时间
4
3
5
2
4
FCFS
完成时间
4
周转时间
4
带权周转时间 1
务时间如下所示,请分别计算在采用FCFS、 SPF非抢占调度算法时的平均周转时间和平均 等待时间。
进程 到达时间 服务时间
P1
0
7
P2
2
4
P3
4
1
P4
5
4
课堂练习
FCFS
进程
P1 P2 P3 P4
到达时间 0 2 4 5
P1
服务时间 7 4 1 4
P2
P3 P4
02
45
7
11 12
操作系统原理计算题及答案
一、某系统对主存采用页式管理,供用户使用的主存区域共640K字节,被分成160块,块号为0,1,2……159。
现有一作业的地址空间共占4页,其页号为0,1,2,,3,被分配到主存的第2,4,1,5块中,回答:(1)作业每一页的长度为多少字节?4K(2)写出该作业被装入主存时,其对应的页表。
逻辑页号主存块号0 21 42 13 5(3)把该作业的每一页在主存中的起始地址(用16进制表示)填在下表中页号起始地址123二、两个并发进程的程序如下:beginN:integer;N:=1;cobeginprocess AbeginL1:N:=N+1;go to L1;end;process BbeginL2:print(N);N:=0;go to L2;end;coend;end;请回答:(1)指出这两个并发进程的临界区。
进程A的临界区:N:=N+1进程B的临界区: N:=0(2)指出它们并发执行时可能出现的“与时间有关的错误”。
进程B执行了print(N)后被中断;在执行N:=0之前插入了进程A执行N:=N+1,则出现“与时间有关的错误”。
(3)用PV操作进行管理,写出使它们能正确并发执行的程序。
begin N:=integer; N:=1;s:=semaphore;s:=1cobeginprocess AbeginL1:p(s);n:=N+1;V(s);go to L1;end;process BbeginL2:p(s);end;Print(N);coend;N:=0;end;V(s);go to L2三.桌子有一个盘子,每次只能放入一个水果,爸爸专向盘中放苹果,妈妈专向盘中放桔子,女儿专等吃盘中的苹果,儿子专等吃盘中的桔子,试用P,V操作写出他们能正确同步的并发过程。
答案:解:设公用信号量S=1表示盘子,私用信号量S1=0表示苹果,私用信号量S2=0表示桔子。
他们能正确同步的并发过程如下:爸爸P1 妈妈P2 女儿P3 儿子P4P(S) P(S) P(S1) P(S2)放苹果放桔子取苹果取桔子V(S1) V(S2) V(S) V(S)四.假定一个阅览室可供50个人同时阅读。
操作系统考试题及答案
操作系统考试题及答案一、选择题(每题2分,共20分)1. 在现代操作系统中,进程和线程的区别主要在于:A. 进程有独立的地址空间,线程共享进程地址空间B. 进程和线程都有独立的地址空间C. 进程和线程共享相同的资源D. 进程和线程没有区别答案:A2. 分页和分段存储管理方式的主要区别在于:A. 分页是固定大小的内存块,分段是可变大小的内存块B. 分页和分段都是固定大小的内存块C. 分页是可变大小的内存块,分段是固定大小的内存块D. 分页和分段没有区别答案:A3. 死锁的必要条件包括:A. 互斥条件、占有和等待、不可剥夺条件、环路等待条件B. 互斥条件、占有和等待、可剥夺条件、环路等待条件C. 互斥条件、释放和等待、不可剥夺条件、环路等待条件D. 互斥条件、占有和等待、不可剥夺条件、可剥夺条件答案:A4. 以下哪个算法不是页面置换算法?A. 最近最少使用(LRU)B. 最优页面置换(OPT)C. 先进先出(FIFO)D. 堆排序答案:D5. 操作系统中的文件系统主要负责:A. 内存管理B. 进程调度C. 文件存储、检索和组织D. 网络通信答案:C6. 虚拟内存技术允许:A. 程序的地址空间大于物理内存B. 程序的地址空间等于物理内存C. 程序的地址空间小于物理内存D. 程序不能使用内存答案:A7. 以下哪个不是操作系统提供的系统调用?A. fork()B. read()C. printf()D. exec()答案:C8. 在操作系统中,设备驱动程序的作用是:A. 管理内存B. 管理进程C. 管理输入输出设备D. 管理文件系统答案:C9. 以下哪个是实时操作系统的特点?A. 优先级调度B. 轮询调度C. 先来先服务调度D. 随机调度答案:A10. 操作系统中的用户态和内核态的主要区别在于:A. 用户态可以执行所有指令,内核态只能执行特权指令B. 内核态可以执行所有指令,用户态只能执行非特权指令C. 用户态和内核态都可以执行所有指令D. 用户态和内核态没有区别答案:B二、简答题(每题10分,共30分)1. 简述进程和程序的区别。
操作系统计算分析题全
操作系统计算分析题全计算分析题1、叙述操作系统的基本特征以及相互间的关系?基本特征:并发性,共享性,虚拟性,异步性关系:并发行是前提,并发与共享是最基本的特征,是互为存在条件;资源共享是以程序的并发执行为条件的。
系统不能对资源共享进行有效管理,必然会影响并发执行的程度,甚至出现进程的死锁。
2、设磁带中有A、B、C三道程序,按照A、B、C优先级次序执行(可剥夺),执行时间如表(ms),假设三道程序使用相同的设备进行I/O操作,计算出出单道和多道程序下CPU 和I/O设备各自的利用率?1 单道批处理时间260msCpu利用率=150/260=57.7% 110/260=42.3多道批处理时间190msCpu利用率=150/190=78.9% 110/190=57.9%3、试对实时操作系统和分时操作系统进行比较。
1、及时性:(a)实时信息处理与分时系统一样,都是以人所能接受的等待时间来确定的一般为2-3秒(b)实时控制系统要求比较高,以控制对象要求的截至时间来确定,一般分为秒级,百毫秒级,毫秒,甚至低于100微秒2、可靠性:实时系统的可靠性比分时系统的可靠性更加严格经济损失,灾难事故3、多路性:分时系统:多个用户;实时系统:对多路的现场信息进行采集,对多个对象,多个执行机构进行控制4、独立性:分时:用户独立;实时:信息采集和对象控制,互不干扰5、交互性:分时:主机可以像终端提供数据处理服务,资源共享服务;实时:只限于访问系统中某专用服务程序6、简单说明进程图和前驱图的区别?结点:进程图的结点表进程,前驱图的结点表语句,程序段,进程边:进程图:A->B表A进程创建B进程,且AB进程同时并发进行前驱图:p1->p2表p1必须在p2前执行,p1与p2不能并发执行7、描述同步机制应遵循的原则,说明为什么记录型信号量能实现“让权等待”?1空闲让进:当无进程在互斥区时,任何有权使用互斥区的进程可以进入忙则等待:不允许两个以上的进程同时进入互斥区有限等待:任何进入互斥区的需求应在有限的时间内得到满足让权等待:处于等待状态的进程应效率占用cpu,以使其它进程有机会得到cpu的使用2当s<0时,则将进程状态置为等待状态,将该进程的PCB插入相应的等待队列求尾queue 8、阐述进程的状态转换(三态)以及转换的原因?1就绪状态:当进程分配到cpu以外的所有必须资源后,只要再获得cpu便可立即执行执行状态:进程已获得cpu,其进程正在执行阻塞状态:正在执行的进程由于发生某外部事件而暂时无法执行2就绪->执行:cpu空闲,调度程序选择一个新的程序运行运行->就绪:运行进程用空闲时间片,就绪队列排空;运行进程被中断,因为一高优先级进程处于就绪状态运行->等待:操作系统尚未完成服务;对一资源的访问尚不能进行;初始化I/O且必须等待结果;等待某一进程提供输入(IPL)等待->就绪:当所有等待的事发生9、简要描述信号量S的物理含义以及采用P(S)和V(S)操作的注意事项?1物理含义:s>0表示有s个资源可用,s=0表示无资源可用,s<0,|s|表示s等待队列中的进程个数p(s)表示申请一个资源,v (s)表示释放一个资源(信号量的初始值>=0)2注意事项:pv操作必须成对出现,有一个p操作就有一个v操作;当为互反操作时,它们同处于同一进程;当为同步操作时,则不在同一进程中出现;如果p(s1)与p(s2)两操作在一起,则p操作的顺序至关重要;一个同步p操作与一个互斥p操作在一起时同步p 操作在互斥p操作前,而v操作顺序无关紧要10、下图给出3个进程合作完成某一任务的图,A进程向缓冲区1写入信息,B进程从缓冲区1读出信息写入到缓冲区2中,C进程从缓冲区2中读出信息。
计算机操作系统算法题(最全)
6. 算法题(共32个题目)200348. 在信号量机制中,若P(S)操作是可中断的,则会有什么问题?此题答案为:答:P(S)的操作如下:BeginS.Value:= S.Value-1; ①If S.Value<0 Then ②BeginInsert(*,S.L);Block(*) ③EndEnd.若P(S)可中断的,例如进程A在执行了语句①之后从CPU上退下了,假定此时S.Value=0;这时换另一进程B,B又将S.Value的值减1使之为-1,在执行语句③时,B被阻塞;然后又换回A执行,由于A的"断点"是语句①之后,当它执行语句②时,由于这时S.Value已经是-1,故进程继续执行而被阻塞。
这就出现了错误:本来A操作P(S)操作后,S.Value=0,是不应该被阻塞的,现在却被阻塞了。
200350. 何谓临界区?下面给出的两个进程互斥的算法是安全的吗?为什么?#define true;# define false;Int flag[2];flag[1]=flag[2]=false; enter-crtsec(i)int i;{While(flag[1-i])flag[i]=true;}feave-crtsec(i)Int i;{flag[i]=false;}process I;…Enter-crtsec(i);In critical section; Leave-crtsec(i);此题答案为:答:一次仅允许一个进程使用的资源称为临界资源,在进程中对临界资源访问的程序段称为临界区。
从概念上讲,系统中各进程在逻辑上是独立的,它们可以按各自的速度向前推进。
但由于它们共享某些临界资源,因而产生了临界区问题。
对于具有临界区问题的并发进程,它们之间必须互斥,以保证不会同时进入临界区。
这种算法不是安全的。
因为,在进入临界区的enter-crtsec()不是一个原语操作,如果两个进程同时执行完其循环(此前两个flag均为false),则这两个进程可同时进入临界区。
计算机操作系统大题整理
四、应用题(每小题8分,共40分)1.在一单道批处理系统中,一组作业的提交时间和运行时间见下表所示。
作业提交时间运行时间1 8.0 1.02 8.5 0.53 9.0 0.24 9.1 0.1计算以下二种作业调度算法的平均周转时间T和平均带权周转时间W。
先来先服务调度算法。
(2)短作业优先调度算法。
2.考虑某个系统在某时刻的状态如下表所示。
Allocation Max AvailableABCDABCD1520P0 00120012P1 10001750P2 13542356P3 00140656使用银行家算法回答下面的问题:(1)求Need矩阵。
(2)系统是否处于安全状态?如安全,请给出一个安全序列。
(3)如果进程P1发来一个请求(0,4,2,0),这个请求能否立刻被满足?如安全,请给出一个安全序列。
(2) 安全,安全序例为:P0,P2,P1,P3……(3分)(3)能立刻被满足,满足的安全序列为:P0,P2,P1,P3……(3分)3.桌子上有一只盘子,每次只能向其中放入一只水果。
爸爸专向盘子中放苹果,妈妈专向盘子中放桔子,儿子专等吃盘子中的桔子,女儿专等吃盘子中的苹果。
只有盘子为空时,爸爸或妈妈就可向盘子中放一只水果;仅当盘子中有自己需要的水果时,儿子或女儿可以从盘子中取出。
用信号量机制解决该问题。
答:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。
(2分)father(){ 。
while(1) { 。
P(S); 。
放苹果。
V(Sa); 。
}} 。
mather(){。
while(1) { 。
P(S); 。
放苹果。
V(So);。
}} 。
son(){ 。
while(1) { 。
P(So); 。
从盘中取出桔子; 。
V(S); 。
吃桔子; 。
}。
} 。
daughter(){ 。
while(1) { 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
count++; count–; v(mutex); v(mutex); 过程:一个学生进入教室执行IN,p操作,mutex.value = 0;假设在进行 count++之前遇到了中断,而中断之后跳回来时正好这个学生又在出教 室,那么这时候就会执行OUT,mutex.value = -1,该OUT进程进入睡 眠,返回IN进程,count = 1,v操作,mutex.value = 0(说明有等待使用 count的进程);唤醒OUT进程,count = 0,v操作,mutex.value = 1。 注意上面划线部分的假设。PV操作在这就是为了保证这种竞争情况的发 生。
银行家算法
练习:有三类资源A(17)、B(5)、C(20)。有5个进程P1~P5。T0
时刻系统状态如下: 最大需求 P1 5 5 9 P2 5 3 6 P3 4 0 11 P4 4 2 5 P5 4 2 4
已分配 2 1 2 4 0 2 4 0 5 2 0 4 3 1 4
问(1)T0时刻是否为安全状态,给出安全系列。 (2)T0时刻,P2: Request(0,3,4),能否分配,为什么? (3)在(2)的基础上P4:Request(2,0,1),能否分配,为什么? (4)在(3)的基础上P1:Request(0,2,0),能否分配,为什么? 解析:(1)(求安全系列:说的通俗点就是把所有剩下的资源分给进 程,但是要看剩下的资源数是否能满足进程的需求量,满足了就分给 它,等它结束后释放它所拥有的所有资源,再继续往下分,直到所有的 进程都运行成功。) 1>先求剩余量A(17)、B(5)、C(20) ————三个资源的各自的总量 Work=2 3 3————分给每个进程后三个资源所剩下的 量{这样子算的: A(17)-2-4-4-2-3=2,即总量减去已分配里边竖起来相加的和等于剩 余} 2>再求每个进程T0时刻的所需量:Need=最大雪球—已分配 综上可得到如图: 最大需求 已分配 Need P1 5 5 9 2 1 2 3 4 7 P2 5 3 6 4 0 2 1 3 4 P3 4 0 11 4 0 5 0 0 6 P4 4 2 5 2 0 4 2 2 1 P5 4 2 4 3 1 4 1 1 0 观察Need的那些值,Work=2 3 3,work能够need的有P4跟P5,二者 选哪个都可以,比如就选择P4,即我们把work的值分给P4,让它运行完
(1) 在job1运行完成后,算其余进程的响应比,等
待时间都是用相同的现在的时间减去进程各自 到达的时间,job2的等待时间是10:00-8: 50=70(分钟),则响应比 R2=(70+50)/50=2.4,R3=7,R4=1.5;R3最大 则先运行job2.以此类推得到上表中的开时时间 和结束时间。周转时间和带全周转时间跟上边 SJF的算法一样。
2.同步:桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹
果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹 果。规定当盘空时一次只能放一只水果供吃者取用,请用P、V原语实现 爸爸、儿子、女儿三个并发进程的同步。 分析:在本题中,爸爸、儿子、女儿共用一个盘子,盘中一次只能放一 个水果。当盘子为空时,爸爸可将一个水果放入果盘中。若放入果盘中 的是桔子,则允许儿子吃,女儿必须等待;若放入果盘中的是苹果,则 允许女儿吃,儿子必须等待。本题实际上是生产者-消费者问题的一种 变形。这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类 消费者只消费其中固定的一类产品。 解:在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为 空,其初值为l;信号量So表示盘中是否有桔子,其初值为0;信号量Sa 表示盘中是否有苹果,其初值为0。同步描述如下: int S=1;int Sa=0;int So=0; main() {cobegin father(); son(); daughter(); coend } father() {while(1) {P(S); 将水果放入盘中;
(4) 周转时间=完成时间-到达时间 带权周转时间=周转时间/服务时间
用一个例题来具体说明下:
FCFS:先来先服务算法:
SJF:短作业优先算法: 个
(1) 根据每个进程进入的时间可知,在8:00的时候只有job1 到达了固其开始时间是8:00,job1开始运行50分钟后, 即8;50时刻,job2到达了,(因为一般都是非抢断方 式的,所以必须让运行着的进程结束后再比较其他的 进程),job1继续运行,十分钟后即9:00job3达到,直 到10:00,job1运行完毕,期间其余进程都已经到达, 则开始比较所有达到的进程的估计运行时间, job2(50分钟)>job4 (20)>job3(10),则10:00的时 候,job3开始运行,一次类推就可以算出每个的
一、第三章的计算有点多(PV操作,银行家算 法,低级调度算法) PV操作
操作系统的进程管理中,PV是重点和难点 信号量:信号量是个数据结构。 struct semaphore{int value;pcb *blockqueue;}mutex; 其中value是信号量的值;blockqueue是等待使用该信号量的进程排成的 队列的对手指针。 p操作:当一个进程对信号量mutex执行p操作时,执行两个动作: mutex.valu–; //申请一个资源 if (mutex.value<0) //申请失败 sleep(); //本进程进入该信号量等待队列睡眠 v操作:当一个进程对信号量mutex执行v操作时,执行两个动作: mutex.value++; //释放一个资源 if (mutex.value>=0) //如果有进程在等待信号量 wakeup(); //从该信号量的等待队列中唤醒一个进程 注:操作系统会保证PV操作的原子性,也就是说当一个进程执行PV操 作,检测信号量时,不受中断。 看一下PV操作实现的功能:
(1) 先来先服务:顾名思义,先进来的先运行,运行完了其他后 进来的再运行 (2) 短作业优先:进程必须是到达之后,看其还需多少服务时间 完成,所有到达的进程比较,所需服务时间少的先运行,一 次类推不断的比较选出可以运行的,直到所有的都运行完了 为止; (3) 高响应比优先(就是优先权):(优先权=等待时间+要求服 务时间)/要求服务时间;(或者优先权=响应时间/要求等待时 间),响应时间=要求等待时间+等待时间;
成,P4释放所有资源,则work的值就变为了 work=4 3 7(P4的所有资源 都要释放哦),再继续找满足条件的进程以此类推,可得到安全系列: {P4,P2,P5,P3,P1}(第一问在答题时只需写出一个安全系列就行
了,且安全系列并不确定)
(2)在(2)的基础上P2: Request(0,3,4)(P2的need(=1 3 4)) 第一次比较:Request(0,3,4)<= need(=1 3 4) 第二次比较:Request(0,3,4) >=Available (=2 3 3) 因为 Request(0,3,4) >=Available (=2 3 3) 所以不能分配。{ Available (=2 3 3)就是work =2 3 3,不同的表达而 已,但是第二问就是要这样子写才规范,Request(0,3,4)表示对三种资源 的需求,所剩资源必须完全满足需求才可以分配,否则不行} (3)P4:Request(2,0,1) 因为P2不能分得资源,推迟了,则现在所剩仍是Available (=2 3 3), Request(2,0,1)<=Need(=2 2 1)(第一条件满足了) Request(2,0,1)<=Available (=2 3 3);(第二条件也满足),接下来还得进行 安全性算法检查,先假定可以分配,若分配后得到我work(0 3 2),看 这时的(0 3 2 )是否能够让新的形成的序列达到安全,若是安全就分 配,不安全就推迟,经计算是可以形成安全系列{P4,P5,P3,P2,P1} 则可以分配。 (4)在(3)的基础上P1:Request(0,2,0) 在(3)的基础上,即P4运行完成释放了所有资源,这时候work的值发 生了变化 Work=4 3 7(它是原来的work加上已分配得到的), Request(0,2,0)<= Need(=3 4 7); Request(0,2,0) <= Available (=4 3 7),都满足,但是此时的work是上次分 配后剩下的,即work(=0 3 2),若再分配(0 2 0 )出去,剩下的 work(0 1 2)就不能再满足任何的进程需要了,所以不可以可以分配。
Hale Waihona Puke if(放入的是桔子)V(So); else V(Sa); } } son() {while(1) {P(So); 从盘中取出桔子; V(S); 吃桔子; } } daughter() {while(1) {P(Sa); 从盘中取出苹果; V(S); 吃苹果; } } 一些问题:为什么要设计三个信号量?因为这里盘子的状态有三种情 况。所以在PV操作用在同步的时候,资源都多少种状态,就应该有多少 个信号量(高并发的不一定好,需要更多的信号量,这样消耗系统的资 源就更多)。还有,有没有留意到,每一次“吃”的操作都是在V操作之 后进行,这是为什么呢?这是因为V操作是释放资源的一个操作,当然 是越早释放对系统越有利啊。
一般这三种调度算法会比较来用,可能会出这样 子的吧。时间片算法好像老师没有提到(要是谁 记得老师提到了告诉我哈,我再弄下),至于实 时调度算法老师说不会考。
第四章 第一种计算是分区的计算
开始时间与结束时间。
(2) 周转时间:就是要用进程结束的时间减掉它到达的时 间,如job2,结束时间11:20减去到达时间8:50,得到 周转时间150分钟。 (3) 带权周转时间:用周转时间除于估计运行时间,如 job2周转时间150分钟,除于估计运行时间50分钟,得 到3