操作系统 第四章作业讲解

合集下载

操作系统第四章作业

操作系统第四章作业

操作系统第四章作业第四章作业调度1. 引言本章介绍操作系统中的作业调度概念和算法。

作业调度是指在多道程序环境下,根据一定的策略选择合适的进程来执行,并分配资源以满足用户需求。

2. 调度队列在进行作业调度之前,需要将所有待运行的进程组织成一个队列。

常见的几种类型包括:- 就绪队列:存放已经创建并等待CPU时间片或其他资源分配给它们运行。

- 等待队列:存放因为某些原因(如I/O请求)而暂时无法执行任务、处于阻塞状态下等候特殊事件发生所引起延迟处理情况。

3. 先来先服务 (FCFS) 调度算法FCFS 是最简单也是最容易实现且公平性较高(不会出现饿死问题) 的一种算法, 定义了就绪态到完成态这个过渡期间没有任何判断条件.4. 最短剩余时间优先(SJF)SJF 是通过估计每个任务还要花费多少 CPU 时间才能结束从而确定哪个应该被选取.5.轮转(RR)方式RR 方式按顺序对所有进程进行调度,每个进程被分配一个时间片来执行。

当时间片用完后,系统会将该任务放到队列的末尾,并选择下一个就绪态的任务。

6. 优先级调度算法通过为不同类型或者重要性别赋予不同的优先级, 进行作业和资源管理.7.多级反馈队列(MFQ)方式MFQ 方式是一种结合了 RR 和 FCFS 的方法,在 MFQ 中有许多独立运行且按其自身特点处理请求与服务过渡期间没有任何判断条件.8. 动态优先权(RTGS)RTGS 算法根据动态变化着实时响应情况对各类作业进行排序9.总结在本章中我们介绍了几种常见的作业调度算法:FCFS、SJF、RR、Priority Scheduling以及RTGS等。

附件:- 示例代码文件1: job_scheduling.cpp (C++ 实现上述五种算法示例)- 示例代码文件2: job_scheduling.py (Python 实现上述五种算法示例)注释:1. 就绪状态(Ready State)指已经创建并等待CPU时间片或其他资源分配给它们运行;2. 完成状态(Finished State)指完成当前所需工作而处于空闲状态;3. 时间片(Time Slice)是操作系统在轮转调度算法中用来分配给每个进程的固定时间段;4. 作业(Job)指用户提交给操作系统执行的任务。

操作系统第四章课件

操作系统第四章课件

§4.1 作业管理的功能一、作业管理的基本功能1、作业调度在多道程序设计系统中,系统可同时处理多个作业,这就产生了各个作业如何合理地共享有限的系统资源问题。

也就是说,系统要在多个作业中按一定的策略选取若干个作业,为它们分配必要的资源,让它们能够同时执行,这就是作业调度。

被作业调度所选中的作业,它们在执行中就可以共享系统资源。

作业调度选取一个作业的必要条件是:系统现有没末分配的资源可以满足该作业的资源要求。

作业调度是高级调度。

2、作业控制作业是在操作系统控制下执行的。

这种控制包括作业如何输入到系统中去,当作业被选中后如何去控制它的执行,在执行过程中如果出现故障又应如何处理,以及怎样控制计算结果的输出等。

作业控制是用户和操作系统的接口,有关作业控制方式,已在第3章讲过,此处不在再重复。

二、作业的状态及其转换一个作业从进入系统到退出系统一般要经历几个阶段,也就是说作业在系统中要处于几个不同的状态。

这些状态是:提交、后备、执行和完成。

1、提交状态一个作业在其处于用户手中经由输入设备进入输入井的过程,称为提交状态。

2、后备状态作业提交后,由操作员把用户提交的作业,放到卡片输入机或纸带输入机上,通过脱机办公设备或调用SPOOLing系统,将作业办公设备到磁盘上的某一盘区中,该盘区通常称为输入井。

当作业的全部信息都已进入输入井后,系统为该作业建立作业控制志,并把它插入到后备作业队列中,等待作业调度程序的调度。

一个作业处于随时等待作业调度程序调度的状态,称为后备状态。

3、执行状态一个处于后备状态的作业一旦被作业调度程序选中,且分配了必要的资源,再由作业调度程序为其建立相应的进程(如作业步进程)后,该作业就进入了执行状态。

4、完成状态当作业正常执行结束或异常终止时,作业完成状态。

此时,由作业高度程序对该作业进行后处理。

主要工作是撤消该作业的作业控制志,并收回该作业所占的系统资源,将作业的执行结果信息编入输出文件,并将有关输出文件缓冲输出到输出井中。

操作系统第四章-2016讲义

操作系统第四章-2016讲义
定义:把装入时对目标程序中的指令和数据地址的 修改过程称为重定位。
0
1000 load12500
2500 365
10000 load12500
12500 365
5000
作业地址空间 15000
内存空间
15
(3)动态运行时装入方式 定义:把装入模块装入内存后,并不立即把
装入模块中的相对地址装换为绝对地址,而是 推迟到程序要真正执行时才进行。
行时的程序和数据; 寄存器具有与处理机相同的速度,故对寄存
器的访问速度最快,完全能与CPU协调工 作,但价格十分昂贵,且容量较小;
6
4.1.3 高速缓存和磁盘缓存
高速缓存:介于寄存器和存储器之间的存储 器,主要用于备份主存中较常用的数据,以 减少处理机对主存储器的访问次数,大幅度 提高程序执行速度。
3
4.1.1 多层结构的存储器系统
对于通用计算机而言,存储层次至少应 具有三级:最高层为CPU寄存器,中 间为主存,最底层是辅存。
在较高档的计算机中,还可以根据具体 的功能细分为寄存器、高速缓存、主存 储器、磁盘缓存、固定磁盘、可移动存 储介质等6层。
4
如右图所示:在存储器层次中, 层次越高(越靠近CPU),存 储介质的访问速度越快,价格也 越高,相对所配置的存储容量也 越小。
绝对地址
相对地址
1024 1424 JUMP1424
0 JUMP400
400
LOAD2224
LOAD1200
DATA j
1200
A 目标模块
B绝对装入模块 C相对装入模块
14
(2)可重定位装入方式:由装入程序根据内存当时 的实际使用情况,将装入模块装入到内存适当地方。 不允许在内存中移位,适用多道程序环境。

操作系统 第四章作业讲解教学内容

操作系统 第四章作业讲解教学内容

操作系统第四章作业讲解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层分页策略。

计算机操作系统第四章作业详细版讲课教案

计算机操作系统第四章作业详细版讲课教案

计算机操作系统第四章作业详细版讲课教案计算机操作系统第四章作业详细版1.为什么要配置层次式存储器?在计算机执行时,几乎每一条指令都涉及对存储器的访问,因此要求对存储器的访问速度能跟得上处理机的运行速度。

或者说,存储器的速度必须非常快,能与处理机的速度相匹配,否则会明显的影响到处理机的运行。

此外还要求存储器具有非常大的容量,而且存储器的价格还应很便宜。

对于这样十分严格的三个条件,目前是无法同时满足的。

于是正在现代计算机系统中都无一例外的采用了多层结构的存储器系统。

2.可采用哪几种方式将程序装入内存?它们分别适用于何种场合?(1)绝对装入方式当计算机系统很小,且仅能运行单道程序时,完全有可能知道程序将驻留在内存的什么位置。

此时可以采用绝对装入方式。

用户程序编译后,将产生绝对地址的目标代码。

(2)可重定位装入方式绝对装入方式只能将目标模块装入到内存中事先指定的位置,这只适用于单道程序环境。

而在多道程序环境下,编译程序不可能预知经编译后所得到的目标模块应放在内存的何处。

因此,对于用户程序编译所形成的若干个目标模块,它们的起始地址通常都是从0开始的,程序中的其他地址也都是想对于起始地址计算的。

此时,不可能再采用绝对装入方式,而应采用可重定位装入方式,他可以根据内存的具体情况将装入模块装入到内存的适当位置。

(3)动态运行时的装入方式可重定位装入方式可将装入模块装入到内存中任何允许的位置,故可用于多道程序环境,但该方式并不允许程序运行时在内存中移动位置。

因为,程序在内存中的移动,意味着它的物理位置发生了变化,这时必须对程序和数据的地址(绝对地址)进行修改后方能运行。

然而,实际情况是,在运行过程中他在内存中的位置肯能经常要改变。

动态运行时的装入程序在把装入模块装入内存后,并不立即把装入模块中的逻辑地址转换为物理地址,而是把这种地址转换推迟到程序真正要执行时才进行。

因此,装入内存后的所有地址都仍然是逻辑地址。

3.何谓静态链接?静态链接时需要解决两个什么问题?在程序运行之前,先将各目标模块及他们所需的库函数链接成一个完整的装配模块,以后不再拆开,我们把这种事先进行链接的方式称为静态链接方式。

《操作系统》第4章教材习题解答

《操作系统》第4章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。

内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。

由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。

程序和数据装入内存时,需对目标程序中的地址进行修改。

这种把逻辑地址转变为内存物理地址的过程称作重定位。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。

动态重定位是在程序执行期间,每次访问内存之前进行重定位。

这种变换是靠硬件地址转换机构实现的。

内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。

为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。

这种技术称为紧缩(或叫拼凑)。

虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。

为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。

若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。

此时,系统好像很忙,但实际效率却很低。

这种现象称为“抖动”。

2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。

CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。

操作系统第4-5章作业2015讲解

操作系统第4-5章作业2015讲解

第4-5章作业1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确?请说明理由。

答:上述说明法是错误的。

整体对换将内存中暂时不用的某个程序及其数据换出至外存,腾出足够的内存空间以装入在外存中的、具备运行条件的进程所对应的程序和数据。

虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统,它的实现必须建立在离散分配的基础上。

虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。

实际上,在具有整体对换功能的系统中,进程的大小仍受到实际内存容量的限制。

2、什么叫静态重定位,什么叫动态重定位,它们分别与何种装入方式相对应?答:把作业装入内存中随即进行地址变换的方式称为静态重定位,在作业执行期间,当访问到指令或数据时才进行地址变换的方式称为动态重定位。

它们分别和可重定位、动态运行时装入方式相对应。

3、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器具有离散性、多次性、对换性和虚拟性的特征。

其中最本质的特征是离散性,在此基础上又形成了多次性和对换性,所表现出来的最重要的特征是虚拟性。

4、某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。

1)写出逻辑地址的格式。

2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?3)如果物理空间减少一半,页表结构应相应作怎样的改变?答:1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述,而每页为2KB,因此,页内地址必须用11位来描述。

这样,可得到它的逻辑地址格式如下:2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块号。

1MB的物理空间可分成29个内存块,故每个页表项至少有9位。

3)如果物理空间减少一半,则页表中项表项数仍不变,但每项的长度可减少1位。

操作系统第四章课后习题解答答案免费范文精选

操作系统第四章课后习题解答答案免费范文精选

P152第四章作业5. 运行时动态链接方式,是装入时链接方式的一种改进,将对某些模块的链接推迟到程序执行时才进行。

亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由 OS 去找到该模块,并将之装入内存,将其链接到调用者模块上。

优点:凡是在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅能加快程序的装入过程,而且可节省大量的内存空间。

7.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。

引入重定位的目的就是为了满足程序的这种需要。

要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。

程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。

13.在多道环境下,一方面,在内存中的某些进程由于某事件尚未发生而被阻塞,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使 CPU 停止下来等待的情况;另一方面,却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。

显然这对系统资源是一种严重的浪费,且使系统吞吐量下降。

为了解决这一问题,在操作系统中引入了对换(也称交换)技术。

可以将整个进程换入、换出,也可以将进程的一部分(页、段)换入、换出。

前者主要用于缓解目前系统中内存的不足,后者主要用于实现虚拟存储。

15.系统应具备三方面功能:对换空间管理,进程换出,进程换入。

24.在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。

进行地址变换时,首先利用段号 S,将它与段长TL 进行比较。

若 STL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号 P 来获得对应页的页表项位置,从中读出该页所在的物理块号 b,再利用块号 b 和页内地址来构成物理地址。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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次缺页。

相关文档
最新文档