分页存储管理
操作系统专升本试题及答案
操作系统专升本试题及答案一、选择题(每题2分,共20分)1. 在操作系统中,进程和程序的区别是什么?A. 进程是程序的执行实例B. 程序是进程的执行实例C. 进程和程序是同一个概念D. 进程是程序的存储形式答案:A2. 死锁的必要条件不包括以下哪一项?A. 互斥条件B. 请求和保持条件C. 不可剥夺条件D. 共享资源条件答案:D3. 分页存储管理中,页表的作用是什么?A. 存储进程的代码B. 存储进程的数据C. 存储内存的物理地址D. 实现虚拟地址到物理地址的转换答案:D4. 进程状态的转换中,就绪状态到执行状态的转换是由什么引起的?A. 进程创建B. 进程阻塞C. 进程唤醒D. CPU调度答案:D5. 以下哪个是操作系统的五大基本功能之一?A. 网络通信B. 文件管理C. 设备管理D. 所有选项都是答案:D6. 什么是中断?A. 程序执行中的暂停B. 程序执行中的异常C. CPU对外部事件的响应D. 进程的创建或终止答案:C7. 什么是虚拟内存?A. 物理内存的一部分B. 硬盘上的一部分空间C. 操作系统用来扩展可用内存的技术D. 操作系统用来存储临时文件的地方答案:C8. 在文件系统中,目录的作用是什么?A. 存储文件数据B. 存储文件的元数据C. 组织和管理文件D. 保护文件不被未授权访问答案:C9. 操作系统中的设备驱动程序的主要功能是什么?A. 控制硬件设备B. 管理内存C. 管理进程D. 管理文件系统答案:A10. 什么是操作系统的内核模式?A. 操作系统的核心部分B. 用户程序的运行模式C. 系统调用的执行模式D. 硬件设备的管理模式答案:A二、简答题(每题10分,共30分)1. 简述操作系统的进程调度算法有哪些,并简要说明它们的特点。
答案:操作系统的进程调度算法主要有以下几种:- 先来先服务(FCFS):按照进程到达的顺序进行调度,简单但可能导致饥饿现象。
- 短作业优先(SJF):优先调度执行时间较短的进程,可以减少平均等待时间,但可能导致长作业饥饿。
分页存储管理
5(内存块号)
100(页内地址)
内存地址寄存器
图 页式地址变换过程
写出下图中逻辑地址2500所对应的物理地址
5k 第5页
6k
第6页
作业1的地址空间
5 7 9 15 13 10 16
页表
作业图1的地址页空式间 管理的示页表意图
0
5k
6k
7k
8k
9k
10k
11k
12k
13k
14k
15k
16k
...
17k
31k
主存空间
▪ 例:作业地址空间共有7个页, 每 页 的 相 对 地 址 为 0~1023 , 1024~2047 , 2048~3071 , … , 6144~6150 。 其 对 应 的 主 存 块 在 页表中已列出。分别为5,7,9, 15,13,10,16共7块。假定页 表在主存始址为500。若该程序 从第0页开始运行,且现程序计 数器内容为:
4.3.2地址变换(映射)机构
1 .基本的地址变换机构 地址变换机构的基本任务是利用页表把用户程序中的逻辑地 址变换成内存中的物理地址,实际上就要将用户程序中的页 号变换成内存中的物理块号。为了实现地址变换功能,在系 统中设置页表寄存器,用来存放页表的始址和页表的长度。 在进程未执行时,每个进程对应的页表的始址和长度存放在 进程的PCB中,当该进程被调度时,就将它们装入页表寄存 器。在进行地址变换时,系统将页号与页表长度进行比较, 如果页号大于页表寄存器中的页表长度,则访问越界,产生 越界中断。如未出现越界,则根据页表寄存器中的页表始址 和页号计算出该页在页表项中的位置,得到该页的物理块号, 将此物理块号装入物理地址寄存器中。与此同时,将有效地 址(逻辑地址)寄存器中页内地址直接装入物理地址寄存器 的块内地址字段中,这样便完成了从逻辑地址到物理地址的 变换。
3.3 分页式存储管理
操作系统
0
1KB 2KB-1
0
作业1
页号
块号
0页 1页
作业2
0 1
5 8
作业1页表
0 1KB
2KB
2.5KB-1
0页 1页 2页
0 1 2
6 7 10
空闲 作业1(0页) 作业2(0页) 作业2(1页) 作业1(1页) 空闲 作业2(2页) 空闲
4KB
5KB
6KB 7KB 8KB 9KB 10KB 11KB 12KB
页号p 000010
页内地址w 0111000100
09C4H 内存 0
0
1KB 2KB
3KB-1
作业2
Mov R1,[2500]
页表起始
w=1C4H
地址寄存器
a 块号b 块内地址w
0111000100
p=2
001010
29C4H
016817
10KB
016817
0 1 2 6 7
10 256KB-1
15 10 0
页号p(6位)
页内地址w(10位)
图3.14 逻辑地址结构
现在我们举例说明动态地址重定位的实 现过程。 比如,现有一个系统,内存容量共256k, 存储块的大小为1k,共有256块,编号为 0~255。第0~4块为操作系统所使用。现 有2个用户作业,作业1和作业2,其逻辑地 址空间分别占2k和2.5k,进入系统后,按 块的大小划分分别占2页和3页(因内存是 以块为单位分配的),它们的分页情况如 图3.15所示。
作业2页表 图3.15 分页式存储管理示意图
在图3.14中的页表反映了作业1和作业2的各 页在内存中相应的存储块号。假设作业2正在运行, 在第0页某单元处有一条指令MOV R1,[2500],因 每页长度为1k,所以由逻辑地址的低10位构成页 内地址,2500为十进制数,转化为十六进制为 09C4H(二进制为0000100111000100),取低十位 为1C4H,为页内地址w;高6位为2,形成页号p, 查页表知第2页在内存第10块,得到内存地址的块 号b,逻辑地址的页内地址作为块内地址w,一起 构成新的物理地址为29C4H单元,访问该单元,把 其中的数据016817送入R1寄存器,具体实现过程 如图3.16所示。
分页式存储管理
”缺小页表”中断信号
SUN微系统公司的计算机采用的 三级分页结构。
• 为了避免进程切换时重新装入页表,硬件 可以支持多达4096个上下文,每个进程一 个;当一个新进程装入主存时,操作系统 分给一个上下文号,进程保持这个上下 文号直到终止。
物理地址形成
• 当CPU访问内存时,上下文号和逻辑地址一起送 入称作MMU(memory management unit)的地址转换 机构(现代计算机中的MMU完成逻辑地址到物理 地址的转换功能,通常它是由一个或一组芯片 组成,接受虚拟地址作为输入,物理地址作为 输出,直接送到总线上),
• 具体做法是:把整个页表进行分页,分成一张张小 页表,每个小页表的大小与页框相同,例如每个 小页表形成的页面可以有1K(210)个页表表目。我 们可对小页表顺序编号,允许小页表分散存放在 不连续的页框中,为了进行索引查找,应该为这些 小页表建一张页目录表,其表项指出小页表所在 页框号及相关信息。
•
页内地址
4.3.2 相联存储器和快表
• 相联存储器 • 快表的格式 • 采用相联存储器后地址转换
采用相联存储器的方法后,地 址转换时间大大下降
假定访问主存的时间为100毫微秒,访问相联存 储器的时间为20毫微秒,相联存储器为32个单 元时查快表的命中率可达90%,于是按逻辑地 址进行存取的平均时间为:
• 解决后一个问题的方法如下,对于进程运行涉及 页面的小页表应放在主存,而其它小页表使用时再 行调入。为了实现这一点,需要在页目录表中增加 一个特征位,用来指示对应的小页表是否已调入内 存,地址转换机构根据逻辑地址中的dir,去查页目 录表对应表项,如未调入内存,应产生一个”缺小 页表”中断信号,请求操作系统将这张小页表调 入主存。
第4章4-5节基本分页、分段存储管理方式
重点:基本分页、分段系统的实现原理和地址变换过程。 难点:基本分页、分段系统的地址变换过程。
4.4 基本分页存储管理方式
4.4.1 页面与页表
1. 页面
1) 页面和物理块
分页存储管理,是将一个进程的逻辑地址空间分成若干个 大小相等的片,称为页面或页,并为各页加以编号,从0开始, 如第0页、第1页等。相应地,也把内存空间分成与页面相同大 小的若干个存储块,称为(物理)块或页框(frame), 也同样为 它们加以编号,如0#块、1#块等等。
26
38
38
44 99 55
图 4-1 页表的作用
内存
内存
0 10 21 32
3
44 55 66 77
88
99
1100
3. 地址结构
对某特定机器,其地址结构是一定的。以32位地址为例, 分页地址中的地址结构如下所示:
31
12 11
0
页号P
位移量W
若给定一个逻辑地址空间中的地址为A,页面的大小为 L,则页号P和页内地址d可按下式求得:
(3)如果物理空间减少一半,则页表中 页表项数仍不变,但每项的长度可减 少1位。
2、对于如下所示的段表,请将逻辑地址: (0,137),(1,4000),(2,3600), (5,230)转换成物理地址。
段表
段号 0 1 2 3 4
内存始址 50K 60K 70K 120K 150K
段长 10K 3K 5K 8K 4K
4.5.2 分段系统的基本原理
1. 分段 分段地址中的地址具有如下结构:
段号
段内地址
31
16 15
分页与分段存储管理
分页与分段存储管理
4.4 基本分段存储管理方式
4.4.1 分段存储管理方式的引入
分页与分段存储管理
引入分段存储管理方式, 主要是为了满足用户和程序员
1)
2) 信息共享
3) 信息保护
4)
5) 动态链接
分页与分段存储管理
4.4.2 分段系统的基本原理
1. 分段
分页与分段存储管理
0
作业空间 (MAIN)=0 段表
内存空间
0
3 0K 0 2 0K 0 1 5K 0
段号 段长 基址 (X)=1 0 1 2 (S)=3 3 3 0K 2 0K 4 0K 8 0K
(MAIN)=0 3 0K (X)=1 2 0K (D)=2 1 5K (S)=3 1 0K
4 0K
8 0K
(D)=2
1 5K 1 20 K 1 0K 1 50 K
分页与分段存储管理
第四章 存储器管理
4.1 程序的装入和链接
4.2 连续分配方式
4.3 基本分页存储管理方式
4.4 基本分段存储管理方式
上节回顾
1. 四种内存连续分配方式: 单一连续分配:
分页与分段存储管理
固定分区分配:
动态分区分配:FF、CF、BF分配算法 动态重定位分区分配:重定位寄存器 2. 基本分页 页与物理块 地址结构
分页与分段存储管理
4.3 基本分页存储管理方式
分页存储管理,是将一个进程的逻辑地址空间分成若干个大小 相等的片,称为页面或页,并为各页加以编号,从0开始,如 第0页、第1页等。 相应地,也把内存空间分成与页面相同大小的若干个存储块, 称为(物理)块或页框(frame), 也同样为它们加以编号,如0#块、 1 # 块等等。在为进程分配内存时,以块为单位将进程中的若 干个页分别装入到多个可以不相邻接的物理块中。
操作系统课后答案——第四章
第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。
增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
14存储管理3分段段页式管理
段号 状态 页表大小 页表始址 0 1 1 1 2 1 3 0 4 1 段表
页表 主存
图4-22 利用段表和页表实现地址映射
2.地址变换过程
在段页式系统中,为了便于实现地址变换,须配 置一个段表寄存器,其中存放段表始址和段表长TL。 进行地址变换时,首先利用段号S,将它与段表长TL进 行比较。若S<TL,表示未越界,于是利用段表始址和 段号来求出该段所对应的段表项在段表中的位置,从 中得到该段的页表始址,并利用逻辑地址中的段内页 号P来获得对应页的页表项位置,从中读出该页所在的 物理块号b,再利用块号b和页内地址来构成物理地址。 图4-23示出了段页式系统中的地址变换机构。
2.页表
列出了作业的逻辑地址与其在主存中的 物理地址间的对应关系。 一个页表中包含若干个表目,表目的自 然序号对应于用户程序中的页号,表目 中的块号是该页对应的物理块号。 页表的每一个表目除了包含指向页框的 指针外,还包括一个存取控制字段。 表目也称为页描述子。
分页管理中页与页框的对应 关系示意图
段表寄存器 段表始址 + 段表 0 1 2 3 页表长度 + 0 1 2 3 b 块号 b 块内地址 页表 段表长度 > 段超长 段号S 页号P 页内地址
页表始址
图4-23
段页式系统中的地址变换机构
在段页式系统中,为了获得一条指令或数据,须 三次访问内存。第一次访问是访问内存中的段表,从 中取得页表始址;第二次访问是访问内存中的页表, 从中取出该页所在的物理块号,并将该块号与页内地 址一起形成指令或数据的物理地址;第三次访问才是 真正从第二次访问所得的地址中,取出指令或数据。 显然,这使访问内存的次数增加了近两倍。为了 提高执行速度,在地址变换机构中增设一个高速缓冲 寄存器。每次访问它时,都须同时利用段号和页号去 检索高速缓存,若找到匹配的表项,便可从中得到相 应页的物理块号,用来与页内地址一起形成物理地址; 若未找到匹配表项,则仍须再三次访问内存。
操作系统学习资料-第五章 存储管理习题
第五章存储管理一. 选择最合适的答案1.分页存储管理的存储保护是通过( )完成的.A.页表(页表寄存器)B.快表C.存储键D.索引动态重定2.把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。
A、加载B、重定位C、物理化D、逻辑化3.在可变分区存储管理中的紧凑技术可以()。
A.集中空闲区B.增加主存容量C.缩短访问时间D.加速地址转换4.在存储管理中,采用覆盖与交换技术的目的是( )。
A.减少程序占用的主存空间B.物理上扩充主存容量C.提高CPU效率D.代码在主存中共享5.存储管理方法中,( )中用户可采用覆盖技术。
A.单一连续区 B. 可变分区存储管理C.段式存储管理 D. 段页式存储管理6.把逻辑地址转换成物理地址称为()。
A.地址分配B.地址映射C.地址保护D.地址越界7.在内存分配的“最佳适应法”中,空闲块是按()。
A.始地址从小到大排序B.始地址从大到小排序C.块的大小从小到大排序D.块的大小从大到小排序8.下面最有可能使得高地址空间成为大的空闲区的分配算法是()。
A.首次适应法B.最佳适应法C.最坏适应法D.循环首次适应法9.硬盘容量1G,内存容量为1024k,那么虚拟存储器最大实际容量可能是( ) 。
A.1024KB.1024MC.10GD.10G+1M10.用空白链记录内存空白块的主要缺点是()。
A.链指针占用了大量的空间B.分配空间时可能需要一定的拉链时间C.不好实现“首次适应法”D.不好实现“最佳适应法”11.一般而言计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。
A.分区管理中的块比分页管理中的页要小B.分页管理有地址映射而分区管理没有C.分页管理有存储保护而分区管理没有D.分区管理要求一道程序存放在连续的空间内而分页管理没有这种要求。
13.静态重定位的时机是()。
A.程序编译时B.程序链接时C.程序装入时D.程序运行时14.通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损B.防止程序在内存丢失C.防止程序间相互越界访问D.防止程序被人偷看15.能够装入内存任何位置的代码程序必须是( )。
第五章2分页存储管理
器”或“快表”。
快表中存放最近访问的页表项。
三、具有快表的地址变换机构 2.地址变换过程
页表 寄存 器 页表 始址 页表 长度 > 越界 中断 逻辑 地址 L 页号 页内 地 址
+ 页号 块号 输 b 入 寄 存 器 页表 快表 b 页号 块号
b
d
物理 地址
5.3 分页存储管理方式
5.3 分页存储管理方式
答案:页面大小为1KB,页内位移为10位,逻辑地址为十六 进制,转换为二进制,右边10位即为页内位移d,其余左边 高位为页号P。 OAC5H=0000101011000101B p=2, d=02C5H,查快表,得物理地址(4)2C5H 0EC3H=0000111011000011B p=3, d=02C3H,查快表,得物理地址(A)2C3H 12C5H=0001001011000101B p=4, d=02C5H,该页号不在快表,需到主存页表项中 寻找对应物理块号,得内存物理块号P=9,d=02C5H,得 物理地址(9)2C5H 62C3H=0110001011000011B p=24, d=02C3H,页号超出页表范围,不可转换,作 为越界处理。
5.3.1 分页存储管理的基本方法
二、地址结构
5.3 分 页 存 储 管 理 方 式
31
页号P
12 11
位移量W
0
若给定一个逻辑地址空间中的地址为A,页面 的大小为L,则页号P和页内地址d可按下式求得:
A P INT L d [ A ] MODL
5.3.1 分页存储管理的基本方法
块号 页内地址 物理地址
5.3.2 地址变换机构
二、基本地址变换机构 示意图
页式存贮管理
页式存贮管理
1 用户程序划分
把用户程序按逻辑页划分成大小相等的部分,称为 页(page)。从0开始编制页号,页内地址是相对于0 编址
2 逻辑地址
用户程序的划分是由系统自动完成的,对用户是 透明的。一般,一页的大小为2的整数次幂,因此,地 址的高位部分为页号,低位部分为页内地址.
31 页号P 12 11 页内位移量W 0
页式存贮管理
3 内存空间 按页的大小划分为大小相等的区域,称为 块或内存块(物理页面,页框)
4 内存分配 以页为单位进行分配,并按作业的页数多少 来分配。逻辑上相邻的页,物理上不一定相 邻
页式存贮管理
5 页表
为了实现动态地址变换,还要为该作业建立
一个页表,用来记录作业的逻辑页与主存块的映
射关系。
控制寄存器
有效地址
页表长度 页表地址
2 1C4
页号 0 1 2
页面号 2 3 8
物理地址 8 1C4
页式存贮管理
7 快表或联想存贮器
从上述地址转换过程可以看出,执行一次访内操作 至少要访问主存两次。一次访页表,一次是实现指定 操作。这样就把程序的执行速度降低一倍。为了提高 存取速度,通常设置一个专用的高速缓冲寄存器组,用 来存放页表的一部分。我们把存放在高速缓冲寄存器 中的页表叫快表,这个高速缓冲寄存器又叫联想存贮 器。
具有快表的地址转换机构
页表地址寄存器 页表长度寄存器
逻辑地址
B
L
页号p 页内地址d
+
页表
p’
比较
P>=L
地址越界
快表
p p’ ..
物理地址 P’
d
页式存贮管理
8 深入一点的讨论
存储管理-页式管理
存储管理-页式管理存储管理-页式管理页式管理解决什么问题分区式管理,存在着严重的碎⽚问题使得内存的利⽤率不⾼1.固定分区,因为每⼀个分区只能分配给某⼀个进程使⽤,⽽该进程可能占不满这个分区,就会有内部碎⽚2.动态分区,会产⽣⼤量的外部碎⽚,虽然可以使⽤紧凑技术,但是这样时间成本过⾼了出现这种情况的原因是分区管理必须要求进程占⽤⼀块连续的内存区域,如果让⼀个进程分散的装⼊到不同的内存分区当中的话,这样就可以充分的利⽤内存,并且不需要紧凑这种技术了。
⽐如把⼀个进程离散的拆分放到零散的内存碎⽚中去,这样就可以更为⾼效的利⽤内存。
也就是产⽣了⾮连续的管理⽅式。
⽐如就是把⼀个进程拆分为若⼲部分,分别放到不同的分区中,⽐如⼀个进程23M,可以拆分为10M,10M,3M放到不同的分区中如果分区分的更⼩,23M拆分为11个2M的,和⼀个1M的,每个分区是2M,那么总共会装满11个分区,剩下⼀个分区装不满,也仅仅浪费1M的空间,也就是分区越⼩的话,那么就是内存利⽤率就会越⾼。
分区式管理时,进程的⼤⼩受分区⼤⼩或内存可⽤空间的限制分区式管理也不利于程序段和数据的共享页式管理的改进页式管理只在内存存放反复执⾏或即将执⾏的程序段与数据部分不经常执⾏的程序段和数据存放于外存待执⾏时调⼊。
页式管理的基本概念页框(页帧):将内存空间分成⼀个个⼤⼩相等的分区,每个分区就是⼀个页框。
页框号:每⼀个页框有⼀个编号,这个编号就是页框号,从0开始页(页⾯):将进程分割成和页框⼤⼩相等的⼀个个区域,也叫页页号:每⼀⼆个页⾯有⼀个编号,叫做页号,从0开始注意:由于最后⼀个页⾯可能没有页框那么⼤,所以页框不可以太⼤,否则会产⽣过⼤的内存碎⽚操作系统会以页框为单位为各个进程分配内存空间,进程的每⼀个页⾯分别放⼊⼀个页框中,也就是进程的页⾯和内存的页框具有⼀⼀对应的关系注意:各个页⾯不需要连续存放,可以放到不相邻的各个页框中如何实现地址的转化1.⾸先需要知道⼀个进程内的页对应物理内存中的起始地址a是多少2.其次要知道进程页内地址b是多少3.逻辑地址对应的实际物理地址就是c=a+b如何计算?⽐如逻辑地址80确定页号:页号=逻辑地址/页⾯长度 1=80/50页内偏移量:页内偏移量=逻辑地址%页⾯长度 30=80%50每个进程页⾯对应物理内存中页框的⾸地址:这是通过页表查询到的,⽐如查询到对应物理内存⾸地址是4500那么对应最终物理地址就是4500+30=4530页表页表的存在是为了让我们知道进程中的⼀个页的页号对应它存放在物理内存中的页框号,进⽽求出页框号对应的⾸地址逻辑地址的结构假如页号有k位,那么页数就是2^k个假如页内地址m位,那么页内地址有2^m个静态页⾯管理在作业或进程开始执⾏之前,把作业或进程的程序段和数据全部装⼊内存的各个页⾯中,并通过页表(page mapping table)和硬件地址变换机构实现虚拟地址到内存物理地址的地址映射。
操作系统原理第五章存储管理习题
操作系统原理第五章存储管理习题5.3 习题5.3.1选择最合适的答案1.分页存储管理的存储保护是通过( )完成的.A.页表(页表寄存器)B.快表C.存储键D.索引动态重定2.把作业地址空间中使⽤的逻辑地址变成内存中物理地址称为()。
A、加载B、重定位C、物理化D、逻辑化3.在可变分区存储管理中的紧凑技术可以()。
A.集中空闲区B.增加主存容量C.缩短访问时间D.加速地址转换4.在存储管理中,采⽤覆盖与交换技术的⽬的是( )。
A.减少程序占⽤的主存空间B.物理上扩充主存容量C.提⾼CPU效率D.代码在主存中共享5.存储管理⽅法中,( )中⽤户可采⽤覆盖技术。
A.单⼀连续区 B. 可变分区存储管理C.段式存储管理 D. 段页式存储管理6.把逻辑地址转换成物理地址称为()。
A.地址分配B.地址映射C.地址保护D.地址越界7.在内存分配的“最佳适应法”中,空闲块是按()。
A.始地址从⼩到⼤排序B.始地址从⼤到⼩排序C.块的⼤⼩从⼩到⼤排序D.块的⼤⼩从⼤到⼩排序8.下⾯最有可能使得⾼地址空间成为⼤的空闲区的分配算法是()。
A.⾸次适应法B.最佳适应法C.最坏适应法D.循环⾸次适应法9.硬盘容量1G,内存容量为1024k,那么虚拟存储器最⼤实际容量可能是( ) 。
A.1024KB.1024MC.10GD.10G+1M10.⽤空⽩链记录内存空⽩块的主要缺点是()。
A.链指针占⽤了⼤量的空间B.分配空间时可能需要⼀定的拉链时间C.不好实现“⾸次适应法”D.不好实现“最佳适应法”11.⼀般⽽⾔计算机中()容量(个数)最多.A.ROMB.RAMC.CPUD.虚拟存储器12.分区管理和分页管理的主要区别是()。
A.分区管理中的块⽐分页管理中的页要⼩B.分页管理有地址映射⽽分区管理没有C.分页管理有存储保护⽽分区管理没有D.分区管理要求⼀道程序存放在连续的空间内⽽分页管理没有这种要求。
13.静态重定位的时机是()。
A.程序编译时B.程序链接时C.程序装⼊时D.程序运⾏时14.通常所说的“存储保护”的基本含义是()A.防⽌存储器硬件受损B.防⽌程序在内存丢失C.防⽌程序间相互越界访问D.防⽌程序被⼈偷看15.能够装⼊内存任何位置的代码程序必须是( )。
段式存储管理
. . .
12345 数组[A]
子程序段[X]
0 F L 0
K
. . . CALL [A] 116 . . .
主程序段[M]
CALL [Y] [F]
. . .
S
子程序段[Y]
工作区段[B]
分段式存储管理的基本思想概念
分段存储管理中的逻辑地址空间
用户程序的划分:按程序自身的逻辑关系划分为若 干个程序段,例如主程序段(MAIN)、子程序段、 数据段、堆栈段等,每个程序段都有一个段名,且 有一个段号。段号从0开始,每一段也从0开始编址, 段内地址是连续的 逻辑地址
段式存储管理存储保护与共享
在段式存储管理中很容易实现段的共享,只需在作 业的段表中都增加一个表项,让该段的基址指向共 享段在内存中的起始地址即可。
进程A的逻辑地址空间 文本 段 0 编辑程序 段1 段2 程序段 数据段 进程A的段表 段号 段长 基址 43062 内 存 操作系统 进程A的数据段 文本编辑程序
段页式存储管理中的逻辑地址
0 第0页 4KB 第1页 段MAIN 8KB 第2页 12KB 14KB 16KB 第3页 段号s 段内页号p 段内位移d 页内位移w 第2页 段SUBP 第1页 第0页 段DATA 第1页 第0页
用户逻辑地址空间中的地址结构将由上图所示的三个部分组成: 段号s,段内页号p,页内位移w。 (其中,段内页号p和页内位移w是由段内位移d分解而成。) 如: (0,1,100)
段表
段号 0 1 2 段首址 100K 50K 120K 段长度 10K 15K 25K
段表记录了段号,段的首(地)址和长度之 间的关系 每一个程序设置一个段表,放在内存
操作系统选择题库答案及详解
操作系统选择题库答案及详解一、单选题1、以下关于操作系统的说法中,错误的是()A 操作系统是管理计算机硬件与软件资源的程序B 操作系统能合理地组织计算机的工作流程C 操作系统能为用户提供各种服务功能D 操作系统能直接对硬件进行操作答案:D详解:操作系统不能直接对硬件进行操作,而是通过驱动程序等中间层来管理和控制硬件。
操作系统主要负责对计算机的资源进行管理和调度,为应用程序提供运行环境和服务。
2、操作系统的主要功能不包括()A 处理机管理B 存储管理C 设备管理D 文字编辑答案:D详解:操作系统的主要功能包括处理机管理、存储管理、设备管理、文件管理和作业管理等。
文字编辑通常是应用程序的功能,而非操作系统的主要功能。
3、在多道程序环境下,操作系统分配资源以()为基本单位。
A 程序B 进程C 作业D 指令答案:B详解:在多道程序环境中,进程是资源分配和调度的基本单位。
程序只是一组指令的集合,本身不具有资源分配的概念。
作业是用户向计算机提交任务的实体,而指令是构成程序的基本单元。
4、进程从运行状态转变为阻塞状态的原因可能是()A 时间片用完B 被选中占有处理机C 等待某一事件发生D 等待的事件已发生答案:C详解:当进程等待某一事件发生时,如等待输入输出完成、等待资源分配等,会从运行状态转变为阻塞状态。
时间片用完会使进程从运行状态变为就绪状态;被选中占有处理机是进程从就绪状态变为运行状态;等待的事件已发生会使进程从阻塞状态变为就绪状态。
5、以下进程调度算法中,对短进程不利的是()A 先来先服务B 短作业优先C 时间片轮转D 高响应比优先答案:A详解:先来先服务调度算法按照进程到达的先后顺序进行调度,不管进程的执行时间长短。
短进程可能会因为长进程先到达而长时间等待,对短进程不利。
短作业优先算法有利于短进程;时间片轮转算法对所有进程相对公平;高响应比优先算法在一定程度上兼顾了短进程和等待时间长的进程。
6、产生死锁的四个必要条件是:互斥、()、循环等待和不剥夺。
存储管理实验报告
一、实验目的1. 理解操作系统存储管理的概念和作用。
2. 掌握存储管理的基本算法和策略。
3. 通过实验,加深对存储管理原理的理解,提高实际操作能力。
二、实验环境1. 操作系统:Windows 102. 软件环境:虚拟机软件VMware Workstation 153. 实验平台:Linux系统三、实验内容1. 存储管理概述2. 页式存储管理3. 段式存储管理4. 分段分页存储管理5. 存储管理算法四、实验步骤1. 页式存储管理实验(1)设置虚拟内存:在Linux系统中,使用`cat /proc/meminfo`命令查看内存信息,然后使用`vmstat`命令查看虚拟内存的使用情况。
(2)编写实验程序:使用C语言编写一个简单的程序,模拟页式存储管理过程。
(3)运行实验程序:编译并运行实验程序,观察程序运行过程中页面的分配、置换和回收过程。
2. 段式存储管理实验(1)设置虚拟内存:同页式存储管理实验。
(2)编写实验程序:使用C语言编写一个简单的程序,模拟段式存储管理过程。
(3)运行实验程序:编译并运行实验程序,观察程序运行过程中段页的分配、置换和回收过程。
3. 分段分页存储管理实验(1)设置虚拟内存:同页式存储管理实验。
(2)编写实验程序:使用C语言编写一个简单的程序,模拟分段分页存储管理过程。
(3)运行实验程序:编译并运行实验程序,观察程序运行过程中段页的分配、置换和回收过程。
4. 存储管理算法实验(1)编写实验程序:使用C语言编写一个简单的程序,模拟不同的存储管理算法(如FIFO、LRU、LFU等)。
(2)运行实验程序:编译并运行实验程序,观察不同算法在页面分配、置换和回收过程中的表现。
五、实验结果与分析1. 页式存储管理实验实验结果表明,页式存储管理可以将大程序离散地存储在内存中,提高内存利用率。
但页式存储管理也存在页面碎片问题,导致内存碎片化。
2. 段式存储管理实验实验结果表明,段式存储管理可以将程序按照逻辑结构划分为多个段,提高了内存的利用率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非连续分配方式1.基本内容:页式存储管理基本思想、数据结构、地址转换过程。
段式存储管理以及段页式存储管理。
2.学习要求:;掌握页式存储管理、段式存储管理以及段页式存储管理的实现原理、数据结构、地址转换机构等内容。
3.教学要求:本单元共安排4学时。
采用教员课堂讲授方法实施教学。
该部分内容抽象,是本章学习重点与难点。
课后可通过课程设计使学员加深对于抽象理论的理解和掌握。
4.重点:各种管理实现原理、数据结构、地址转换机构。
5.难点:段式存储管理。
分页存储管理可重定位分区分配虽然可以解决碎片和共享问题,但由于信息的大量移动而损失了许多宝贵的CPU时间,且存储用户的作业受到实际存储容量的限制。
多重分区分配虽在一定程度上解决了这些问题,但由于要求各分区设置分段的重定位寄存器,存储分配策略较复杂,且需较多的硬件支持。
分页式管理技术通过地址转换机制,能明显消除内、外存之间的差别,将外存看作内存的扩充和延伸。
并能很好解决“外零头”的问题。
一、分页在储管理实现的基本思想:在分页存储管理中,将每个作业的逻辑地址空间分为大小相同的块,称为虚页面或页(page),通常页面大小为2的整数次幂(512K~4K)。
同样地,将物理空间也划分为与页面大小相等的块,称之为存储块或页框(page frame),为作业分配存储空间时,总是以页框为单位。
例如:一个作业的地址空间有M页,那么只要分配给它M个页框,每一页分别装入一个页框即可。
纯分页系统的定义:指在调度一个作业时,必须把它的所有页一次装入到主存的矾框。
若当时页框数不足,则该作业必须等待,系统再调度其他作业。
这里,并不要求这些页框是相邻的。
即连续逻辑地址空间的页面,通过页面地址转换机构可以映射到不连续的内存块中。
对地址空间的分页是由系统自动进行的,其逻辑地址由相对页号和页内位移量(页内地址)两部分组成(下面a)。
图中设逻辑地址长度为16位,可表示64K的逻辑地址空间。
物理地址也由块号及块内移量(块内地址)两部分组成(下图b)。
(图·逻辑地址与物理地址(a)逻辑地址(LA)(b)物理地址页式存储管理通常是由页表实现逻辑地址到物理地址的转换。
二、页面地址转换在分页式管理系统中,作业装入时,以页为单位分配存储块。
由于虚存管理的主要技术是部分装入和部分交换,在作业运行前,不是装入全部页面,而是只装入部分页面,在执行过程中再根据需要动态调入其他页面,当内存占满时要按某种算法进行某种算法进行页面的置换。
为了实理将作业的逻辑地址转换为实际内存地址,需建立以下数据结构:1.存储分块表MBT(Memory Block Table)表中记录内存中每个存储块的使用情况,其中状态是指存储块是否空闲(下图a)整个系统一张表,表目数等于内存块的总数。
2.页表PT (Page Table )也称页面映象表(Pase Map Table ),如下衅b 所示。
为每个运行的用户作业建立一张页表,表中的每一个表项对应该作业虚拟地址空间的一页,表项按页的顺序排列。
每个表项(又称页描述子)的内容包括页号、标志(特征)、块号等。
块号表示该页面所对的存储块,标志为O 表示该页面不在内存,标志为1表示该页面的内存。
(a)存储分块表MBT(b )页表PT图·存储分块表和页表页表是系统根据分配情况在每个作业装入时建立的,作业撤消时,页表也撤消。
为了减少硬件开销;常将页表放在主存的系统区内。
当作业被调度时,该页表的起始地址及大小装入特定的页表控制寄存器(PTCR )中(见下图)。
图·页表控制寄存器PTCR3.作业表J T (Job Table )整个系统设置一张作业表,每个作业为一个表项,用于记录该作业的页表在内存中的起图·作业表页式存储管理的地址转换机制如下图所示,逻辑地址映射到物理地址的过程如下:①当作业被调度时,系统从作业表(JT )中查找相应页表的起始地址及大小,并装入页表控制寄存器。
②按页表起始地址查找页表,首先将当前访问的逻辑地址的页号与页表寄存器中当当前页表的大小比较确定访问合法性、若页号超过页表大小则为非法访问,产生越界中断。
若访问合法则从相应页描述子中找到相应块号。
③将块号与逻辑地址中页内地址相拼;即将页内地址作业块内地址,形成物理地址。
图·页式地址转换机构三.快表从地址转换过程可见,每存取一个数据需要访问两次内存,第一次访问页表。
得到数据的物理地址,第二次才能访问要存取的数据。
这就增加了访问时间,降低了系统的速度,为了提高查找页表的速度,通常在地址变换机制中增加一个小容量的联想寄存器,它是一专用的高速缓冲存储器(Cache),用来存放页表中当前访问最频繁的表项,又称为快表。
在具有高速缓冲存储器的分页式管理系统中,需要进行地址转换时,首先根据逻辑地址中的页号查找快表,若找到该页所对应的块号,立即形成物理地址,否则再到内存页表中去查找。
下图给出了具有高速缓存的地址转换过程。
图·具有快表的地址转换在访问内存的过程中,随着进程的推进,快表的内容不断动态更新,页表的少数表目需动态装入快表。
当进程交替时,快表被清零。
高速缓存虽然容量小,但由于能按内容关联存放在一段时间内最频繁使用的页表表项,所以访问快表的命中率高达90%以上,这样可大大提高地址转换速度。
快表是硬件对分页存储管理的支持。
分段存储管理分页存储管理的进程逻辑空间结构是线形的.分页是对连续的地址空间的一种固定长度的连续划分,一页通常不是一个完整的程序或数据逻辑段.而实际上,用户的作业是按逻辑上有完整的段来划分的;例如主程序,子程序,数据等都可个成一段,每段对应与一个过程,一个程序模块或一个数据集合.为了给用户提供一个方便灵活的程序设计环境,将作业的地址空间按逻辑意义分段,以段作为内外存交换的单位。
这样既利于程序设计,又可方便地按段名访问,易于实现对模块特别是共享模块的保护和共享。
另外,从链接的角度来看,分区和页式管理只能采用静态链接方式。
由于一个大作业可能包括数百甚至上千个程序模块,对它们进行静态链接需花费大量的cpu 时间,但实际执行的过程中可能某一段时间只用到其中一个子集。
而段式存储管理可使用动态链接的方式。
一。
分段存储分配在分段存储管理系统中,一个作业分为若干段,每段都有自己的段名,程序经编译键接后,段名转换为段号,以段号唯一标识一个段,个段长度不等,其长度取决于对应程序模块的大小。
割断都是从0开始相对编址的连续地址空间。
可见作业的地址空间是二维的(见下图)。
500 300640 分段A (数组) 分段B (工作区)分段X (子程序) 1k 图。
分段逻辑地址分段MAIN (主程序)其逻辑地址由段号及段内地址(段内位移量)两部分组成(见下图)图·分段逻辑地址由于段是信息的逻辑单位,他有完整和独立的意义,在以段为单位进行存储分配时,一个段必须分配在内存的一个连续空间中,但各段可以不连续。
段长由程序决定并可以动态延伸。
分配策略与可变分区分配类似。
二。
动态地址转换段式管理中,逻辑地址到物理地址的转换机构与分页存储管理类似。
系统为每个作业在系统去内建立一张表ST (Segment Table).其典型的表目结构如下图所示。
段表表项按段号顺序从小到大排列,每张表包含一个作业的所有段。
图·段表表目其中,段长为该段的长度(即该作业分段的数目),起始地址是该段在内存的物理起始地址,即绝对地址。
·特征位——为1表示该段在内存,为0表示该段不在内存·存取控制——规定多该段的存取权限。
以R表示允许读,以W表示允许写,E表示允许执行等。
·修改位——为1表示该段在内存中修改过,为0表示该段未修改过。
·增补位——为1表示允许该段动态增长,为0 表示不允许该段增长。
为了便于查找段表,系统为正在运行的作业建立一个段表始址寄存器,用于存放作业的段表始址。
段表的始址寄存器是公用的,整个系统只有一个。
作业运行之前,系统将作业的段表始址及段长填入段表始址寄存器。
段式动态地址转换过程如下图所示。
段表寄存器段号位移量图·分段地址转换过程(1)将逻辑地址中的段号与段表寄存器的段长比较,验证段号合法性。
(2)有段表始址寄存器的段表始址找到段表位置。
根据逻辑地址中的段号查找段表,得到该段在主存的起始地址。
(3)同时还应该判断该段的特征位,若为1表示该段在内存。
若位0产生缺段中断,应将相应段调入内存,若内存空间不够,应合并空闲区,或按某种淘汰算法淘汰部分段。
下图为缺段处理的流程请求页式存储管理一.缺页中断处理在地址转换过程中,若当前访问页的符号位为0,即该页不在内存,则产生缺页中断。
此时用户作业暂停执行,CPU 转去执行缺页中断处理程序,该程序的功能是把所需的页面从外存调入内存,并把实际块号填入页表,将标志位改为1,然后继续执行被中断的程序。
若内存中无空闲块时,则按照某种页面淘汰算法选择一页面换出内存,再从外存调入所需页面。
下图给出了缺页中断的处理过程。
N图。
缺页中断处理页面访问 1 表示页面被访问过0 表示页面未被访问过页面修改 1 表示页面被修改过0 表示页面未被修改过图。
请求式分页系统的页描述字这种按需调入页面的请求式分页系统中,为了实现页面交换及存储保护,通常在页描述字中增加页面访问和页面修改位及存储控制字段。
在页面置换过程中,若所选择的淘汰页面的页面修改位为1,则应将该页面写回外存。
替换该页面在外存中的副本,再修改存储分块表,将该块置为空闲。
关于页面淘汰的算法将在下面介绍二、页面淘汰算法在处理缺页中断的过程中,当内存无空闲块又需调入新页面时,需将内存中的一些页面置换出去。
淘汰页面的算法,又称页面置换策略,是虚拟存储管理的核心问题,将直接影响到存储管理的性能。
若淘汰不当,可能回出现刚被淘汰的页面立即又被调入内存,频繁的内外存交换可能引起“抖动”现象(thrashing),以至大部分CPU时间都用于频繁的页面调度上,降低了系统的速度和效率。
常见的淘汰算法有:(1)先进先出FIFO算法先进先出FIFO(First InFirst Out)算法是一种最简单的淘汰算法。
首先淘汰在主存中驻留时间最长的页面。
该算法的依据是,由于每个作业装入是依次进行的,一般来说,页号相邻的页之间逻辑关系最密切,所以最早调入主存的页不再被使用的可能性比最近调入主存的页要大。
该算法容易实现,但算法仅在按线性顺序访问地址空间时才是最理想的,那些在内存中驻留很久的页面却往往是被经常访问的。
此外,该算法还有可能产生异常现象即当分配给一进程的页面增多时,缺页中断的次数反而增加。
(2)最近最久不用页表的淘汰LRU算法LRU(Least Recently Used)算法是根据一个作业在执行过程中的过去页表踪迹来推测未来的情况。