操作系统_第四章作业讲解
MSE计算机操作系统第四章笔记

第四章1.一个作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、收容、执行和完成四个状态。
一个作业在其处于从输入设备进入外部存储设备的过程成为提交状态。
处于提交状态的作业,因其信息尚未全部进入系统,所以不能被调用程序选取。
收容状态也称为后备状态,输入管理系统不断地将作业输入到外存中对应部分(或称输入井,即专门用来存放待处理作业信息的一组外存分区)。
若一个作业的全部信息已全部被输入进输入井,那么,在它还未被调度去执行之前,该作业处于收容状态。
作业调度程序从后备作业中选取若干作业到内存投入运行。
它为被选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。
当作业运行完毕,但它所占用的资源尚未全部被系统收回时,该作业处于完成状态。
一般来说,处理机调度可分为4级:作业调度、交换调度、进程调度、线程调度。
作业调度:又称宏观调度或高级调度,其主要任务是按一定的原则对外存输入井上的大量后备作业进行选择,给选出的作业分配内存、输入输出设备等必要的资源,并建立相应的根程序,以使该作业的进程获得竞争处理机的权利,另外,当该作业执行完毕时,还负责回收系统资源。
交换调度:又称中级调度,其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或就绪等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。
交换调度主要涉及内存的管理和扩充,一般将它归在存储管理之中。
进程调度:又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程占用处理机。
只有在多道批处理系统中才有作业调度,而在分时和实时系统中一般只有进程调度、交换调度和线程调度。
这是因为在分时和实时系统中,为了缩短响应时间或为了满足用户需求的截止时间,作业不是建立在外存中,而是直接建立在内存中。
2.作业调度作业调度的功能:(1)记录系统中各作业的状况,包括执行阶段的有关情况。
通常,系统为每个作业建立一个作业控制表JCB记录这些有关信息。
计算机操作系统第四章存储器管理复习资料

第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。
进行地址变换时,首先利用段号S,将它与段长TL进行比较。
若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。
在段页式系统中,为了获得一条指令或数据,须三次访问内存。
第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
显然,这使访问内存的次数增加了近两倍。
为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。
每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。
19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。
多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。
因此,认为虚拟存储器是具有多次性特征的存储器系统。
对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。
操作系统第4章答案(上)

赵盈盈 93 第四章作业上1. 解释名词:程序的顺序执行;程序的并发执行。
答:程序的顺序执行:一个具有独立功能的程序独占cpu直到得到最终结果的进程。
程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。
2. 什么是进程进程与程序的主要区别是什么答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。
进程和程序的区别:●程序是静态的,进程是动态的●进程有程序和数据两部分组成●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的●进程能更真实的描述并发,而程序不行。
●一个进程可以对应多个程序。
一个程序可以对应多个进程●进程可以创建其他进程,程序不能3. 图1所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。
请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)。
图1 改进后的誊抄过程答:4. 进程有哪几种基本状态试画出进程状态变迁图,并标明发生变迁的可能原因。
答:进程基本状态:运行、就绪、等待就绪到运行:调度程序选择一个新的进程运行 运行到就绪:运行进程用完了时间片或运行进程被中断,因为一个高优先级的进程处于就绪状态 运行到等待:OS 尚未完成服务 或对一资源的访问尚不能进行或初始化I/O 且必须等待结果 或等待某一进程提供输入(IPC ) 等待到就绪:当所有的事件发生时5. 什么是进程控制块它有什么作用答:PCB :为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。
作用:系统用PCB 来控制和管理进程的调用,PCB 也是系统感知进程存在的唯一标志GCGPCP G…CP6. n 个并发进程共用一个公共变量Q ,写出用信号灯的p 、v 操作实现n 个进程互斥时的程序描述,并说明信号灯值的取值范围。
计算机操作系统教程(张尧学 史美林 张高)(第三版)第四章

精品课程系列-计算机学院版权所有
重庆大学计算机学院 《操作系统》教程
4.2
作业调度
制 制 作 作 者 者 : : 郭 郭 平 平 、 、 王 王 在 在 模 模 、 、 何 何 静 静 媛 媛
作业调度是按照某种规则,从后备作业 队列中挑选作业进入内存,参与处理机的竞 争的过程。
精品课程系列-计算机学院版权所有
从后备队列中选 出一个作业 审核资源要求 否 放弃作业 资源要求 能满足吗? 是 分配资源 建立进程 进程调度 (a) 后备状态到执行状态的转变
回收分配给作业的全部资源 计算作业的执行费用 撤消作业的所有进程,以及JCB 调度下一个作业
(b) 执行状态到完成状态的转变
精品课程系列-计算机学院版权所有
外存
就绪
等待
提交状态
收容状态
就绪 等待
交换调度 执行状态 完成状态 执行
作业注册
作业调度
进程调度
内存
线程调度
作业的状态及转换
返回
精品课程系列-计算机学院版权所有
重庆大学计算机学院 《操作系统》教程
4.1.2 调度的层次
制 制 作 作 者 者 : : 郭 郭 平 平 、 、 王 王 在 在 模 模 、 、 何 何 静 静 媛 媛
又称为作业调度,用于决定把外存上处于后备队列中的作业调入 内存,并为它们创建进程、分配必要的资源,然后,将新创建的进程 排在就绪队列中,准备执行。在作业调度中,必须解决两个问题: 1) 接纳多少个作业:多道程序的度数的确定应该系统的规模和运行 速度,做适当的折中。 2) 接纳哪些作业:应该将作业从外存中调入内存,将取决于所采用 的调度算法。关于各种不同的调度算法将随后讨论。
精品课程系列-计算机学院版权所有
《计算机操作系统》课件第4章

第四章 存 储 器 管 理
3. 运行时动态链接(Run-time Dynamic Linking) 在许多情况下,应用程序在运行时,每次要运行的模块 可能是不相同的。但由于事先无法知道本次要运行哪些模块, 故只能是将所有可能要运行到的模块全部都装入内存,并在 装入时全部链接在一起。显然这是低效的,因为往往会有部 分目标模块根本就不运行。比较典型的例子是作为错误处理 用的目标模块,如果程序在整个运行过程中都不出现错误, 则显然就不会用到该模块。
2
第四章 存 储 器 管 理
4.1.1 多层结构的存储器系统 1. 存储器的多层结构 对于通用计算机而言,存储层次至少应具有三级:最高
层为CPU寄存器,中间为主存,最底层是辅存。在较高档的 计算机中,还可以根据具体的功能细分为寄存器、高速缓存、 主存储器、磁盘缓存、固定磁盘、可移动存储介质等6层。 如图4-1所示。
19
第四章 存 储 器 管 理
4.3 连续分配存储管理方式
4.3.1 单一连续分配 在单道程序环境下,当时的存储器管理方式是把内存分
为系统区和用户区两部分,系统区仅提供给OS使用,它通常 是放在内存的低址部分。而在用户区内存中,仅装有一道用 户程序,即整个内存的用户空间由该程序独占。这样的存储 器分配方式被称为单一连续分配方式。
9
第四章 存 储 器 管 理
4.2 程序的装入和链接
用户程序要在系统中运行,必须先将它装入内存,然后 再将其转变为一个可以执行的程序,通常都要经过以下几个 步骤:
(1) 编译,由编译程序(Compiler)对用户源程序进行编译, 形成若干个目标模块(Object Module);
(2) 链接,由链接程序(Linker)将编译后形成的一组目标 模块以及它们所需要的库函数链接在一起,形成一个完整的 装入模块(Load Module);
操作系统PV例题讲解

问题:(实现 4 个进程使用某一个需互斥使用的资源) 1)这样定义 P、V 操作是否有问题?
不合理:先进后出;可能“无限等待”
2)先考虑用这样的 P、V 操作实现 N 个进程竞争使用某一共享变量的互斥机制。 思路:令等待队列中始终只有一个进程。 将 “栈” 变成 “队列”
IF fork [i]=used THEN test_and_pick_up=false
ELSE BEGIN fork [i]:=used; test_and_pick_up:=true END
END;
PROCEDURE put_down(i:0..4); BEGIN fork [i]=free; signal (queue [i]); END;
Then V(buff[j].empty); V(buff[j].mutex); j:=(j+1) mod k Until false; End
37.对 PV 操作定义做如下修改
P(s):
s:=s-1;
If s<0
Then 将本进程插入相应队列末尾等待;
V(s):
s:=s+1; If s<=0 Then
} }
消费者: Void consumer (void); {
int item, I;
Message m; For (i=0;i<N; i++) send (producer, &m); While (TRUE){
Receive ( producer ,&m); Extract_item( &m, &item); Send (producer ,&m); Consumer_item(item); } }
(完整版)操作系统第4章答案(上)

赵盈盈2011210593 第四章作业上1.解释名词:程序的顺序执行;程序的并发执行。
答:程序的顺序执行:一个具有独立功能的程序独占 cpu 直到得到最终结果的进程。
程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。
2.什么是进程?进程与程序的主要区别是什么?答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。
进程和程序的区别:●程序是静态的,进程是动态的●进程有程序和数据两部分组成●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的●进程能更真实的描述并发,而程序不行。
●一个进程可以对应多个程序。
一个程序可以对应多个进程●进程可以创建其他进程,程序不能3.图1 所示,设一誊抄程序,将 f 中记录序列正确誊抄到 g 中,这一程序由get、copy、put 三个程序段组成,它们分别负责获得记录、复制记录、输出记录。
请指出这三个程序段对 f 中的m 个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f 中有1,2,…,m 个记录,s,t 为设置在主存中的软件缓冲区,每次只能装一个记录)。
图1 改进后的誊抄过程答:PPG4.进程有哪几种基本状态?试画出进程状态变迁图,并标明发生变迁的可能原因。
答:进程基本状态:运行、就绪、等待就绪到运行:调度程序选择一个新的进程运行运行到就绪:运行进程用完了时间片或运行进程被中断,因为一个高优先级的进程处于就绪状态运行到等待:OS 尚未完成服务或对一资源的访问尚不能进行或初始化 I/O 且必须等待结果或等待某一进程提供输入(IPC)等待到就绪:当所有的事件发生时5.什么是进程控制块?它有什么作用?答:PCB:为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。
作用:系统用 PCB 来控制和管理进程的调用,PCB 也是系统感知进程存在的唯一标志S36. n 个并发进程共用一个公共变量 Q ,写出用信号灯的 p 、v 操作实现 n 个进程互斥时的程序描述,并说明信号灯值的取值范围。
操作系统 第三章,第四章,第九章课后习题整理

第3章进程描述和控制复习题:什么是指令跟踪?答:指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)对于图3.6中的进程模型,请简单定义每个状态。
答:运行态:该进程正在执行。
就绪态:进程做好了准备,只要有机会就开始执行。
阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。
新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?答:内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?答:用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确?请说明理由
答:上述说明法是错误的。
整体对换将内存中暂时不用的某个程序及其数据换出至外存,腾出足够的内存空间以装入在外存中的、具备运行条件的进程所对应的程序和数据。
虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统,它的实现必须建立在离散分配的基础上。
虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。
实际上,在具有整体对换功能的系统中,进程的大小仍受到实际内存容量的限制。
2、某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。
1)写出逻辑地址的格式
2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?
3)如果物理空间减少一半,页表结构应相应作怎样的改变?
答:1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述,而每页为2KB,因此,页内地址必须用11位来描述。
这样,可得到它的逻辑地址格式如下:
2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块号。
1MB的物理空间可分成29个内存块,故每个页表项至少有9位。
3)如果物理空间减少一半,则页表中项表项数仍不变,但每项的长度可减少1位。
3、已知某系统页面长4KB,每个页表项为4B,采用多层分页策略映射64位的用户地址空
间。
若限定最高层页表只占1页,则它可采用几层分页策略
答:方法一:由题意可知,该系统的用户地址空间为264B,而页的大小为4KB,故作业最多可有264/212(即252)个页,其页表的大小则为252*4(即254)B。
因此,又可将页表分成242个页表页,并为它建立两级页表,两级页表的大小为244B。
依次类推,可知道它的3、4、5、6级页表的长度分别是234B、224B、214B、24B,故必须采取6层分页策略。
方法二:页面大小为4KB=212B,页表项4B=22B,因此一个页面可以存放212/22=210个面表项,因此分层数=INT[64/10]=6层
4、对于表所示的段表,请将逻辑地址(0,137)、(1,4000)、(2,3600)、(5,230)转换
成物理地址。
答:[0,137]:50KB+137=51337;
[1,4000]:段内地址越界;
[2,3600]:70KB+3600=75280;
[5,230]:段号越界。
5、在一个请求分页系统中,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、
1、5,目前它还没有任何页装入内存,当分配给该作业的物理块数目M分别为3和4
时,请分别计算采用OPT、LRU和FIFO页面淘汰算法时,访问过程中所发生的缺页次数和缺页率,并比较所得结果。
(选做括号内的内容:根据本题的结果,请查找资料,说明什么是Belady现象,在哪种置换算法中会产生Belady现象,为什么
答:1)使用OPT算法时,访问过程中发生缺页的情况为:当M=3时,缺页次数为7,缺页率为7/12;当M=4时,缺页次数为6,缺页率为6/12。
可见,增加分配给作业的内存块数,可减少缺页次数,从而降低缺页率。
页率为10/12;当M=4时,缺页次数为8,缺页率为8/12。
可见,增加分配给作业的内存块数,可减少缺页次数,从而降低缺页率。
访问过程中的缺页情况(M=3,LRU算法)
2)使用FIFO算法时,访问过程中发生缺页的情况为:当M=3时,缺页次数为9,缺页率为9/12;当M=4时,缺页次数为10,缺页率为10/12。
可见,增加分配给作业的内存块数,反而增加了缺页次数,提高了缺页率,这种现象被称做Belady现象。
访问过程中的缺页情况(M=3,FIFO算法)
6、现有一请求调页系统,页表保存在寄存器中。
若一个被替换的页未被修改过,则处理一
个缺页中断需要8ms;若被替换的页已被修改过,则处理一个缺页中断需要20ms。
内存存取时间为1us,访问页表的时间可忽略不计。
假定70%被替换的页被修改过,为保证有效存取时间不超过2us,可接受的最大缺页率是什么?
答:如果用p表示缺页率,则有效访问时间不超过2us可表示为(1-p)×1us+p×(0.7×20ms+0.3×8ms+1us)≦2us
因此可计算出:p≦1/16400≈0.00006
即可接受的最大缺页率为0.00006。
7、有一个二维数组:V AR A:ARRAY(1..100, 1..100)OF integer;按先行后列的次序
存储。
对一采用LRU置换算法的页式虚拟存储器系统,假设每页可存放200个整数。
若分配给一个进程的内存块数为3,其中一块用来装入程序和变量i、j,另外两块专门用来存放数组(不作他用),且程序段已在内存,但存放数组的页面尚未装入内存。
请分别就下列程序计算执行过程中的缺页次数。
程序1:
FOR i:=1 TO 100 DO FOR j:=1 TO 100 DO A[i, j]:= 0 程序2:
FOR j:=1 TO 100 DO FOR i:=1 TO 100 DO A[i, j]:= 0
答:对于程序1,首次缺页中断(访问A[0,0]时产生)将装入数据的第1、2行共200个整数,由于程序是按行对数组进行访问的,只有在处理完200个整数后才会再次产生缺页中断;以后每调入一页,也能处理200个整数,因此处理100×100个整数共将发生50次缺页。
对于程序2,首次缺页中断(访问A[0,0]时产生)将装入数据的第1、2行共200个整
数,但由于程序是按列对数组进行访问的,因此在处理完2个整数后又会再次产生缺页中断;以后每调入一页,也只能处理2个整数,因此处理100×100个整数共将发生5000次缺页。