存储管理功能p

合集下载

操作系统原理第5章 存储管理

操作系统原理第5章 存储管理

• ⑶最佳适应算法
• 最佳适应算法的空闲链是按空闲区从小到大顺序排 列。为进程选择分区时总是寻找其大小最接近进程 所要求的存储区域。所谓“最佳”是指每次为进程 分配内存时,总是把能满足要求、又是最小的空闲 分区分配给进程,避免“大材小用”。
• 因为每次分配后所切割下来的剩余部分总是最小的, 这样将加速碎片的形成。
• ①如果被回收空闲分区没有空闲伙伴分区,那么保留该分区为一 个独立的空闲分区,否则执行②;
• ②合并回收分区及其伙伴分区,从而得到一个尺寸(2I+1)更大的 回收空闲分区,转移到①;
一个伙伴系统内存分配与回收的例子
• 伙伴系统克服了固定分区和动态分区存储管理技术的缺陷。但是伙伴 系统存在一个问题,即内存空间需要不断地进行分裂和合并,频繁的 伙伴分区合并操作会浪费很多时间。
• ③内存分配原则,以页帧为单位来分配内存,将进程若干个逻辑上连续的 页面装入若干个离散的页帧中,由页表提供进程的页号到存储空间帧号的 映射。
5.2.4伙伴系统
• 其实现原理如下: • 一个伙伴系统内存的用户可用空间为2U。进程申请存储空间时,
系统总是为其分配大小为2I的一个空闲分区。其中S≤I≤U,2S是系 统允许的最小分区尺寸。在实际操作系统中,最小分区尺寸一般 为212。 • 如果进程申请的存储空间大小为K,且2I-1<K≤2I,则将整个2I大小的 分区分配给该进程;否则,该分区被分割成两个大小相等的伙伴 分区,大小为2I-1;再判断K是否满足条件:2I-2<K≤2I-1,若满足条件, 则将两个伙伴中的任何一个分配给该进程。否则,将其中一个伙 伴又分成两个大小相等的伙伴分区;此过程一直继续进行,直到 产生的分区满足条件I-J≥S并2I-J-1<K≤2I-J,将2I-J大小的分区分配给该 进程;当I-J-1<S时,系统不再分割成两个大小相等的伙伴分区,将 2S大小的分区分配给该进程。 • 当进程执行完毕,释放一个尺寸为2I的分区时,系统用下面的算法 回收该分区。

第3章 存储管理

第3章 存储管理

中 换 出
峰值当接近物。理 内 存 不 足 时 , 说 页明需W 到出求i磁页,nd盘多即ow以是只s便因有会释为当将放有内页空进存面间写。回 中没有可分配空间,同

时又必须调入内存新的

页面时,才需要换出页
面。
WindowsXP的存储管理



理 内
Available MBytes 是计 算机上运行的进程的可
第2节 存储管理功能
• 用户实体与存储空间 • 分配、释放及分配原则 • 地址映射 • 虚拟存储器 • 存储保护与共享 • 存储区整理
用户实体与存储空间
1.用户实体与存储器的关系
• 任务在被激活之前存放在辅助存储器上。 • 当任务被激活时,它成为进程进入主存储器。 • 进程的描述部分及主程序部分始终存放于主存储器,其他 程序和数据部分视需要由操作系统在内存与外存之间交换。
第三章
存储管理
学习要点
• 存储管理概述 • 存储管理功能 • 分区管理 • 分页管理 • 分段管理和段页式管理 • 常用系统中的存储管理
第1节 概述 及实用系统中的存储管理方法
• 概述 • DOS的存储管理 • WindowsXP的存储管理 • Linux存储管理
存储管理概述
• 主存储器是计算机系统硬件中仅次于CPU的宝贵资 源。
连续的用
户逻辑地址空 作业空间
OS
间,经过装入
程序直接装入

分区的低地址

部分的单一的

连续的区域。
单一分区
2.分配与释放
入口(作业逻辑空间)
逻辑空间≤用户区?
是 装入作业

出错: 内存不够

计算机操作系统复习资料

计算机操作系统复习资料

一、单项选择题(1)操作系统是一种系统软件,它( B )。

A 、方便用户使用计算机B 、既能管理软件,又能管理硬件C 、控制程序的执行D 、只能管理(2) 以下有关操作系统设计目标描述错误的是( C )。

A 、 操作系统的目标之一是使得计算机系统能高效地工作B 、 操作系统是一种系统程序,其目的是提供一个供其他程序执行的良好环境C 、 操作系统的目标是虚拟机D 、 操作系统的目标之一是使得计算机系统使用方便 (3) 下列系统中, ( A )是实时系统。

A 、火炮的自动控制系统B 、管理信息系统C 、办公自动化系统D 、计算机集成制造系统 (4) 下列关于批处理操作系统的叙述中错误的是( C )。

A 、 “通道”和“中断”技术的出现,使得输入 /输出设备与CPU 可并行工作B 、 批处理系统可分为单道批处理系统和多道批处理系统C 、 批处理系统具有用户与计算机的直接交互能力,提高了系统资源的利用率D 、 单道批处理系统是一种单用户操作系统(5) 实时操作系统对可靠性和安全性要求极高,它( C )。

A 、不必向用户反馈信息B 、十分注重系统资源的利用率C 、不强求系统资源的利用率D 、不强调响应速度 (6) 以下关于计算机操作系统类型说法错误的是(D )。

A 、 网络操作系统和分布式操作系统都可以配置到计算机网络上B 、 实时操作系统是实现实时控制的系统,它由外部信号触发而工作C 、 基本操作系统包括批处理系统、分时系统、实时系统A 、 进程是具有特定功能的一组指令的集合,它指出了处理器执行操作的步骤B 、 进程可以并发执行C 、 进程具有动态性,多个不同的进程可以包含相同的程序D 、 进程具有3种基本状态:就绪状态、运行状态和阻塞状态 (9) 在一个单处理器系统中,处于运行状态的进程(C )。

A 、不能被打断B 、不能请求系统调用C 、只有一个D 、可以有多个 (10) 操作系统根据( D )控制和管理进程,它是进程存在的标志。

操作系统练习题3 -4

操作系统练习题3 -4

操作系统练习题3-4章一、判断题1. ( )系统发生死锁时,其资源分配图中必然存在环路。

因此,如果资源分配图中存在环路,则系统一定出现死锁。

2.( )虚拟存储器是由操作系统提供的一个假想的特大存储器,它并不是实际的内存,其大小比内存空间大得多。

3.( )操作系统的所有程序都必须常驻内存。

4.( )通过任何手段都无法实现计算机系统资源之间的互换。

5. ( )一旦出现死锁, 所有进程都不能运行。

6. ( )所有进程都挂起时, 系统陷入死锁。

7. ( )优先数是进程调度的重要依据, 一旦确定不能改变。

8. ( )虚拟存储系统可以在每一台计算机上实现。

9. ( )在虚存系统中, 只要磁盘空间无限大, 作业就能拥有任意大编址空间。

10. ( )在内存为M的分时系统中, 当注册的用户有N个时,每个用户拥有M/N 的内存空间。

11. ( )大多数虚拟系统采用OPT(优化)淘汰算法是因为它确实可以得到最小的缺页率。

12. ( )在作业调度时, 采用最高响应比优先的作业调度算法可以得到最短的作业平均周转时间。

13. ( )在请求页式存储管理中, 页面淘汰所花费的时间不属于系统开销。

14. ( )进程优先数是进程调度的重要依据, 必须根据进程运行情况动态改变。

15. ( )参与死锁的所有进程都占有资源。

16. ( )页式存储管理中, 用户应将自己的程序划分成若干相等的页。

17. ( )存储保护的目的是限制内存的分配。

18. ( )在页式虚拟存储系统中, 页面长度是根据程序长度动态地分配的。

19. ( )系统处于不安全状态不一定是死锁状态。

20.有m个进程的操作系统出现死锁时, 死锁进程的个数为1<k≤m。

21. ( )优先数是进程调度的重要依据, 优先数大的进程首先被调度运行。

22. ( )所谓最近最少使用(LRU)页面调度算法是指将驻留在内存中使用次数最少的页面淘汰掉。

23. ( )由于现代操作系统提供了程序共享的功能,所以要求被共享的程序必须是可再入程序。

存储管理

存储管理
5.3 存储管理

存储管理主要是指对内存空间的管理(外存管理见文件 系统)。内存空间一般分为两部分:系统区和用户区。 系统区存放系统程序和系统数据等;用户区存放用户 的程序和数据等。存储管理主要是对内存中用户区进 行管理。

存储管理功能 内存资源管理 存储管理方式
1 存储管理功能

存储空间的分配和回收

静态地址映射:程序装入内存时进行地址转换; 动态地址映射:程序执行过程中进行地址转换, 需要硬件的支持。
2 内存资源管理

2.1 内存分区

分区时刻

静态分区:系统初始化时分; 动态分区:申请时分。 等长分区:2i 异长分区:依程序、程序单位、对象大小。 静态+等长(页式、段页式) 动态+异长(段式、可变分区方式)
X(段号1) e: 调用y段f
80k-1 D(段号3)
0 a: … 20k-1 段内地址 (二维地址)
逻辑地址=
段号
3. 对应关系
main
... 100k: 40k
...
200k:
x
60k
... 300k: 320k:
y
20k 80k ... 内存空间
d
进程空间
4. 所需表目
(1) 段表:每进程一个
b: l b 段号 ... 段首址 段长 … b’ … … l’ …
物理地址
b’+d
s
... ... b l ... PCB s d 逻辑地址 若查不到
+
段号 .. . s .. .
段长 段首址 … ... l’ b’ … ...
cp
b: l cp b + 段号 ... 段首址 段长 … b’ … ... l’ ...

计算机操作系统第四章-存储器管理

计算机操作系统第四章-存储器管理

第四章存储器管理第0节存储管理概述一、存储器的层次结构1、在现代计算机系统中,存储器是信息处理的来源与归宿,占据重要位置。

但是,在现有技术条件下,任何一种存储装置,都无法从速度、容量、是否需要电源维持等多方面,同时满足用户的需求。

实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。

2、各种存储器•寄存器、高速缓存Cache:少量的、非常快速、昂贵、需要电源维持、CPU可直接访问;•内存RAM:若干(千)兆字节、中等速度、中等价格、需要电源维持、CPU可直接访问;•磁盘高速缓存:存在于主存中;•磁盘:数千兆或数万兆字节、低速、价廉、不需要电源维持、CPU 不可直接访问;由操作系统协调这些存储器的使用。

二、存储管理的目的1、尽可能地方便用户;提高主存储器的使用效率,使主存储器在成本、速度和规模之间获得较好的权衡。

(注意cpu和主存储器,这两类资源管理的区别)2、存储管理的主要功能:•地址重定位•主存空间的分配与回收•主存空间的保护和共享•主存空间的扩充三、逻辑地址与物理地址1、逻辑地址(相对地址,虚地址):用户源程序经过编译/汇编、链接后,程序内每条指令、每个数据等信息,都会生成自己的地址。

●一个用户程序的所有逻辑地址组成这个程序的逻辑地址空间(也称地址空间)。

这个空间是以0为基址、线性或多维编址的。

2、物理地址(绝对地址,实地址):是一个实际内存单元(字节)的地址。

●计算机内所有内存单元的物理地址组成系统的物理地址空间,它是从0开始的、是一维的;●将用户程序被装进内存,一个程序所占有的所有内存单元的物理地址组成该程序的物理地址空间(也称存储空间)。

四、地址映射(变换、重定位)当程序被装进内存时,通常每个信息的逻辑地址和它的物理地址是不一致的,需要把逻辑地址转换为对应的物理地址----地址映射;地址映射分静态和动态两种方式。

1、静态地址重定位是程序装入时集中一次进行的地址变换计算。

物理地址= 重定位的首地址+ 逻辑地址•优点:简单,不需要硬件支持;•缺点:一个作业必须占据连续的存储空间;装入内存的作业一般不再移动;不能实现虚拟存储。

存储管理实验报告_6

存储管理实验报告_6

昆明理工大学信息工程与自动化学院学生实验报告(2012 —2013 学年第二学期)一、实验目的存储管理的主要功能之一是合理地分配空间。

请求页式管理是一种常用的虚拟存储管理技术。

通过本次实验, 要求学生通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解, 通过请求页式存储管理中页面置换算法模拟设计, 了解虚拟存储技术的特点, 掌握请求页式存储管理的页面置换算法。

二、实验原理及基本技术路线图(方框原理图)用C或C++语言模拟实现请求式分页管理。

要求实现: 页表的数据结构、分页式内存空间的分配及回收(建议采用位图法)、地址重定位、页面置换算法(从FIFO,LRU,NRU中任选一种)。

int subareaSize[num]={8,12,16,32,24,16,64,128,40,64};//分区大小Process *pro=NULL;//保持进程信息int ProcessNum=0;//进程数目int applyProcessNum=0;//每次申请进程数目int maxApplyNum=0;//最大可申请数目int *applyIndex=NULL;//申请进程队列int totalApplyNum=0;//申请总数int *assignPointer=NULL;//已分配内存的进程队列int assignFlag=0;//分配索引, 表示已申请队列已分配的进程数int exeIndex;//执行的进程号Node *subareaNode=new Node[3];//分区回收时, 进程所在分区及其前, 后分区信息LinkList createLinkList(int n );//建立空闲分区链Node firstFit(LinkList &head,Process pro);//首次适应算法Node nestFit(LinkList &head,Process pro,Node flag);//循环适应算法Node bestFit(LinkList &head,Process pro);//最佳适应算法Node worstFit(LinkList &head,Process pro);//最坏适应算法Node assign(LinkList &head,int orderIndex,int index,Node flagNode);//一次分区分配int assignMemory(LinkList &head);//内存分配void insertNode(LinkList &head,Node q,int index);//插入节点Node deleteNode(LinkList &head,int index);//删除节点int display(LinkList &head);//打印分区分配情况int lowAttemper(int *excursionPointer);//低级调度int findSubarea(LinkList &head,int index);//回收内存int creatProcess();//创建进程Process* randomCreatPro(int n);//随机产生进程下面是各种方法简述:(1) 最优替换算法, 即OPT算法。

操作系统期末考试总复习试题

操作系统期末考试总复习试题

《操作系统》课程复习(一)题型:一、选择题(每题1分,共10分)二、判断题(每题1分,共10分)三、简答题(每小题6分,共30分)四、计算题(每题10分,共30分)五、综合应用题(20分)(二)复习:一、概论1.操作系统的概念、功能、分类(批处理、实时、分时)2.操作系统的特性3.中断的概念、CPU的状态二、进程管理和处理机调度1、进程管理的功能2、进程的概念(与程序的对比)3、PCB的概念和作用、进程的基本状态及其转换4、进程控制(进程的挂起、建立、停止、阻塞、撤消等)5、进程的同步与互斥的基本概念、(P、V操作)、进程通信、线程的基本概念6、处理级调度的基本概念,作业与进程的调度算法(先来先服务、短作业优先、最高响应比者优先、最高优先数)及评价7、死锁的概念、必要条件8、死锁的预防9、死锁的避免算法(银行家算法)死锁的检测三、存储器管理1.存储管理的功能2.地址映射、逻辑地址、物理地址等概念3.分区管理、分页管理、分段管理、段页式管理等上述管理方法的概念、各自的优缺点、分页与分段的地址转换、分页与分段的对比等4.请求分页管理(虚拟存储器概念、缺页概念、淘汰算法、抖动、缺页率等)四、设备管理设备的分类(块设备、字符输入输出设备)、设备管理的任务与功能、通道、缓冲区技术、设备的分配与设备处理、SPOOLING磁盘的调度五、文件管理1、文件管理的功能2、文件的逻辑结构3、文件的物理结构4、文件的目录管理(目录树)(三)复习题:一、选择题:1、操作系统是最重要的(B)。

A、应用软件B、系统软件C、计算机高级语言D、机器指令2、在采用SPOOLing技术的系统中,用户作业的打印输出结果首先被送到(A)。

A、磁盘固定区域B、显示器C、打印机D、键盘3、在批处理系统中,用户的作业是由(C )组成?A、程序集+数据集B、程序集C、控制命令序列+程序集+数据集D、数据集4、文件系统中若文件的物理结构采用顺序结构,则文件控制块FCB中关于文件的物理位置应包括(B)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

反置页表查找
由表头起始,平均为表长度的一半 速度慢

解决方案
在反置页表前增加一级杂凑表
查找杂凑表与反置页表需要两次访问内存
为进一步提高速度,快表缓冲
6.3.3 分段式存储管理(segmentation)
1. 内存空间划分:动态异长,每区一段。 物理地址= 段首址+段内地址
k2i:
第k页 ...
(2n-i-1)2i:
第2n-i-1页
6.3.2 分页式存储管理
2. 进程空间划分:静态等长,2i, 称为一个页面。 02i: 12i: 第0页 逻辑地址=逻辑页首址+页内地址
第1页
...
=逻辑页号 2i +页内地址
= 逻辑页号 页内地址
k2i:
第k页
...
2i
i位
(l-1)2i:
第l-1页
3. 进程空间与内存空间对应关系 ...
第15页
第0页 第1页 第2页 第3页 进程空间 第16页 ... 第22页 ... 第32页 ...
内存空间
4. 所需表目: (1)页表,每个进程一个 逻辑页号: 0 1 2 物理页号 15 22 16
5. 所需寄存器 (1) 页表首址寄存器: b
(fragment)。
Eg. 申请30将留下长 度为2的空闲区。
最坏适应算法(Worst Fit)
空闲区:首址递增排列;
空闲区首址 128 256 1024 空闲区长度 64 32 256 0 ... ... 申请:取最大可满足区域; 优点:防止形成碎片。 缺点:分割大空闲区域。
UNIX存储分配--FF
6.2 内存资源管理

6.2.1 内存分区
分区时刻 静态分区:系统初始化时分; 动态分区:申请时分。 分区大小 i 等长分区:2 异长分区:依程序、程序单位、对象大小。 通常作法 静态+等长(页式、段页式) 动态+异长(段式、界地址)
6.2.2 内存分配

静态等长分区的分配

6.3.1 界地址管理方式
4.3.1.1 基本原理
1. 内存空间划分:动态异长;
2. 进程空间划分:一个进程一个区域,逻辑地址0l-1 3. 进程空间与内存空间对应关系(可以浮动): ... 0: b:
l
l-1: b+l-1: ... 内存空间
进程空间
6.3.1 界地址管理方式
4. 所需表目: (1)内存分配表--在PCB中; (2)空闲区域表:array of (addr,size)。 5. 所需寄存器: (1)基址寄存器;
6.3.2.2 多级页表

提出背景
进程虚拟空间大幅度增加

单级页表需要很大连续内存空间 页表所占内存空间浪费
多线程设计导致进程虚拟空间不连续性

例如

32位进程地址空间,页长4k(占12位),页号20位,页表 需要220个入口!
二级或多级页表
解决策略

Two-Level Page-Table Scheme
系统一个
(2) 页表长度寄存器: l 系统一个
(3) 快表:系统一组: 逻辑页号 ... p ... 页架号 ...
3
32
(2)总页表:系统一个
f ...
6. 地址映射 : (p,d)(f,d){} 逻辑地址(p,d)物理地址(f,d)
(1) 由程序确定逻辑地址(p,d);
(2) 由p查快表得页架号f; 如查不到: (a) 由p与l比较,判别是否越界: 不满足:0pl-1,越界;
6.2.3 碎片处理
紧凑:移动占用区域,使所有空闲区域连成一片(开销很大)。 OS OS
256k:
264k:
8k P1(248k) 6k P2(250k)
256k:
504k: 754k:
P1
512k:
518k:
P2
18k
768k:
4k
6.3 存储管理方式
界地址管理方式(一维地址) 页式管理方式(一维地址) 段式管理方式(二维地址) 段页式管理方式(二维地址)
(b) 由p和b查页表得f, (p,f)快表,如满淘汰一个;
(c) 转(2); (3) f与d合并得物理地址
l
cp
b
+
b: 逻辑页号 ... p ...
物理地址 页架号 ... f ... ...
f
d
... b
l ...
PCB p
p
f

逻辑页号 ... p ...
页架号 ... f ...
d
逻辑地址
(2)限长寄存器。
6. 地址映射:
6.3.1 界地址管理方式
进程空间
0:
逻辑地址
l a
b
内存空间 ... b: a+b b+l-1: ...
CP
+
l
l-1:
步骤:(1) 由程序确定逻辑地址a;
(2) a与l比较判断是否越界, 不满足:0al-1,越界; (3) a与b相加得到物理地址。
6.3.1 界地址管理方式
第六章 存储管理
存储管理功能 内存资源管理 存储管理方式 外存空间管理 虚拟存储系统

6.1 存储管理功能

存储分配和去配
分配去配对象

内存、外存(相同方法)
分配去配时刻

进程创建、撤销、交换、长度变化

存储共享
目的:节省内存、相互通讯
内容:代码、数据映象图 空闲页面表
空闲页面链

动态异长分区的分配
最先适应 (First Fit)
最佳适应 (Best Fit) 最坏适应 (Worst Fit)
字位映象图(bit map)
用一个bit代表一页状态,0表空闲,1表占用。( 多单元) 1 0 0 … ... 1 第 k 页 ... ... 1 0 第 n 页
条件:在外时间3秒;在内时间2秒。
6.3.2 分页式存储管理(paging)
6.3.2.1 基本原理 1. 内存空间划分:静态等长,2i, 称为一个页架。 02i:
12i:
第0页 第1页 ...
物理地址=页架首址+页内地址 =页架号 2i +页内地址 = 2i n-i位 i位 页架号 页内地址
Address-translation scheme for a two-level 32-bit paging architecture
Even though time needed for one memory access is quintupled, caching permits performance to remain reasonable
第 第 第 页 页 页
分配:自头寻找第一个为0的位,改为1,返回页号; 去配:页号对应的位(bit)置为0。
2 1 0
空闲页面表
... 首页号 ... 120 ... 空页数 ... 4 ... 占用 120页 121页 122页
123页
特点:可以分配连续页面。 占用
...
空闲页面链
Head: 占用 优点:节省空间。 (不适合管理外存) 占用
占用
动态异长分区的分配
数据结构:
空闲区首址 空闲区长度 Criteria: 尽量使空闲区域连续。
...
2500
...
1500
...
...
初始时一个连续空闲区。
长度=0为表尾。
最先适应算法(First Fit)
空闲区首址 128 256 1024 空闲区长度 64 32 256 0 ... ... 空闲区:首址递增排列; 申请:取第一个可满足区域;
防止操作越权
6.1 存储管理功能(Cont.)

存储扩充
内存、外存结合,虚拟存储体系 速度接近内存,容量相当外存

地址映射
逻辑地址=>物理地址 硬件支持 基址寄存器(base)、限长寄存器(limit)、快表; 使用上述寄存器完成地址映射过程; 不能正常完成地址映射时产生中断。
struct map { char *m_size; char *m_addr; };
struct map coremap[CMAPSIZ]; struct map swapmap[SMAPSIZ]; define CMAPSIZ 100 define SMAPSIZ 100
malloc(mp,size) struct map, *mp; { register int a; register struct map *bp; for(bp = mp; bp->m_size; bp++){ if (bp-m_size >= size) { a=bp->m_addr; bp->m_addr =+ size; if ((bp->m_size =- size) == 0) do { bp++; (bp-1)->m_addr = bp->m_addr; }while((bp-1)->m_size = bp->m_size); return(a); } } return(0); }
Two-Level Paging Example
A logical address (on 32-bit machine with 4K page size) is divided into: a page number consisting of 20 bits. a page offset consisting of 12 bits. Since the page table is paged, the page number is further divided into: a 10-bit page number. a 10-bit page offset. Thus, a logical address is as follows:
相关文档
最新文档