计算机操作系统之存储管理

以下是本人大学学计算机操作系统的笔记。有版权的,转载请注明出处。

存储管理:就是对内存的管理。

内存管理提高存储器的利用率以及从逻辑上扩充存储器。

存储管理功能:

内存的回收与分配,地址变换(程序中的逻辑地址与内存中的物理地址之间的转换),内存扩充(借助虚拟技术或覆盖技术从逻辑上扩充内存容量),内存保护(保证进入内存的各道作业都在自己的存储空间运行,互不干扰)

虚拟内存

以往的存储管理技术必须将作业全部装入内存才能执行且作业常驻内存直到运行结束,难以满足较大作业或较多作业进入内存执行。所以为了能让作业的一部分装入就可以运行的存储管理技术叫做虚拟内存管理技术。

局部性原理:大多数程序执行时,在一个较短的时间内仅能使用程序代码的一部分,相应的,程序所访问的存储空间也局限于某个区域,这就是程序执行的局部性原理。

表现为时间局部性和空间局部性。

基于局部性原理,在程序装入时可以将程序的一部分放入内存,而将其余部分放在外存,然后启动程序(部分装入)。

在程序执行期间,当所访问的信息不在内存中,再由操作系统将所需的部分调入内存(请求调入)。

另外,系统将内存中暂时不用的内容置换到外存上,腾出空间存放将要调入内存的信息(置换功能)。

这种从逻辑上扩充内存容量的存储器系统称为虚拟存储器。

分区存储管理:将内存分成若干个大小不等的区域,由多道环境下的各并发进程共享。

(给每一个内存中的进程划分一块适当大小的存储区,连续存储进程的程序和数据)

特点:管理简单,存在严重的碎片问题使内存利用率不高。进程在分区连续存放,进程大小受到分区大小的限制。

两种分法:

固定分区法:把内存固定的划分为若干个大小不等的区域。(系统对内存的管理和控制通过分区说明表进行,分区说明表说明各分区号,分区大小,起始地址和是否空闲(分区状态)。内存的分配释放,保护,地址变换都是通过分区说明表进行)

动态分区法:在作业执行前不建立分区,分区的建立是建立在作业的处理过程中进行的,大小随着作业或进程对内存的要求而改变的。相比提供内存利用率。

动态分区除了分区说明表还把内存中的可以分区单独构成可用分区表或可以分区自由链,描述内存资源。

动态分区组成,,分区说明表-,,可用分区表,每个表目记录一个空闲区:区号,分区长度,起始地址.,管理简单,缺点表大小难以确定,-占用一部分内存-可用分区自由链(利用每个空闲区头几个单元存放本空闲区大小和下一个空闲区的起始地址,系统设置一个-自由链指针指向第一个空闲区。)查找比较困难,但不占用额外内存区。....

页式管理:各进程的虚拟空间被划分为若干个长度相等的页,页长1K—4K。

进程虚拟地址变为由页号P与页内地址W组成。

同时也把内存分成与页面大小相等的区域,称为块或物理块(页面)。用户进程在内存空间除了在每个页面内地址连续之外,每个页面之间不再连续。

调度作业时必须将作业的所有页面一次调入内存,如果内存没有足够多的物理块,那么作业等待,这种方式称为简单分页。

特点:减少了碎片(任一碎片都小于一个页面)以及只在内存存放反复执行或即将执行的程序段与数据部分,把不经常执行的程序段和数据存放于外存,执行时再调入,且由连续存储提高为非连续存储。

页式虚拟地址与内存页面物理地址转:页式虚拟地址与内存物理地址建立一一对应的页表(硬件地址变换机构来执行转换)。将逻辑地址上连续的页号映射到物理内存中称为离散的多个物理块(页面),将页面和物理块一一对应,体现在页表。(页表由页号和块号组成)

对内外存的统一管理采用请求调页技术(基于局部性原理)。(什么管理?只在内存存放反复执行或即将执行的程序段与数据部分,把不经常执行的程序段和数据存放于外存,执行时再调入)

动态页式管理:1,请求页式管理2,预调入页式管理

相同点:在作业开始执行之前,都不把作业或进程的程序段和数据段一次性的全部装入内存,而只装被认为是经常执行的部分,其他部分执行过程中动态装入。

不同点:

请求页式管理:当需要的数据或指令不在内存即发生缺页中断,系统将外存中相应页面调入内存。

预调入页式管理:系统对外存中的页进行调入计算,估计出这些页中指令和数据的执行和被访问顺序,按此顺序调入和调出内存。

重点请求页式管理

系统如何发现不在内存中的虚页?

扩充页表法。

如何处理虚页这种情况设计两个问题,1,何种方式把所缺页调入内存2,内存没有空闲区,调进来的页放在什么地方()。

页面置换算法置换的单位是页面,连续存储中交换区交换的是整个进程

缺页的调入和存放,内存没有空闲页时都是一个内存页面置换算法问题。

置换算法:在内存中没有空闲页面时被调用,目的是选出一个被淘汰的页面。

轮转法:循环换出内存可用区内一个可用被换出的页,无论该页是刚被换进或已换进内存很长时间。

先进先出(FIFO)法:选择在内存驻留时间最长的一页将被淘汰。(实现方式,把已分配页面按分配时间链接起来,组成FIFO队列,置换指针指向队首,置换时把队首页换出,换人的页链接在队尾。)

FIFO的bleady现象:未给进程或作业分配足它所要求的页面数时,有时会出现分配的页面数增多,缺页次数增加的现象。


引用串


3


4


2


6


4


3


7


4


3


内存


3


4


2


6


6


3


7


4


4


3


4


2


2


6


3


7


7


3


4


4


2


6


3


3


是否缺页


T


T


T


T


T


T


T

缺页7次,命中率2/9=

最近最少使用LRU算法:选择最近最长时间没有被使用过的页面予以淘汰。


引用串


3


4


2


6


4


3


7


4


3


内存


3


4


2


6


4


3


7


4


3


3


4


2


6


4


3


7


4


3


4


2


6


4


3


7


是否缺页


T


T


T


T


T


T

缺页6次,命中率3/9=

最近没有使用NUR页面淘汰算法:从那些最近一个时期内未被访问的页中任选一页淘汰。在页表中增设一个访问位,当某页被访问时,访问位置1,否则置0。系统周期性对所有访问位清0.淘汰时从哪些访问位为0的页面选择一个进行淘汰。


引用串


3


4


2


6


4


3


7


4


3


内存


3


3


3←


6


6


6←


6


4


4



4


4


4←


4←


4


7


7←


7←



2


2


2


3


3←


3


3


是否缺页


T


T


T


T


T


T


T

缺页7次,命中率2/9=

最不经常使用LFU页面淘汰算法:淘汰到当前时间为止被访问次数最少的那一页。在页表中增设一个访问计数器。每当某页被访问,访问计数器加1,发生中断时,淘汰计数值最小的那一页,并将所有页计数器清零。

抖动现象:内存页面置换算法选择不当,导致刚被调出内存的页面又马上调入内存,调入内存不久的页面马上被调出,如此反复的现象。

抖动原因:请求分页系统中每个进程只能分配到所需全部内存空间的一部分

时间: 2024-12-19 23:05:16

计算机操作系统之存储管理的相关文章

计算机操作系统--学习心得

第一周: 第一章 计算机操作系统概述 1.1 计算机系统概览 1.2 计算机硬件系统 1.3 计算机软件系统 1.4 计算机操作技术的发展 1.5 计算机操作系统 1.6 资源管理的角度 1.7 程序控制的角度 第二周: 第一章 计算机操作系统概述 1.8 操作系统控制计算机的角度 1.9 人机交互的角度 1.10 程序接口的角度 1.11 系统结构的角度 第二章 处理器管理 2.1 处理器与寄存器 2.2 指令与处理器模式 2.3 中断 2.4 中断源 第三周: 第二章 处理器管理 2.5 中

计算机操作系统学习笔记_1_操作系统概述

操作系统概述 一.操作系统的概念.特征.功能和提供的服务 1.操作系统的概念     操作系统是计算机系统中最重要.最基本的系统软件,操作系统位于硬件和用户程序之间.    对于用户来讲:它能向用户提供使用计算机的接口;    从资源管理角度来看:它能管理计算机软硬件资源,提高其利用率;    再者,利用虚拟机技术(如WMWare,VirtualBox,Java虚拟机等),扩展了计算机的功能和使用范围.     因此,操作系统的定义为:操作系统是控制和管理计算机软.硬件资源,以尽可能合理.高效的

计算机操作系统

基于<计算机操作系统>(第四版)总结:OS引论.进程描述与控制.处理机调度与死锁.存储器管理.虚拟存储器.输入输出系统.文件系统 一.操作系统引论 1.目标:方便性.有效性.可扩充性.开放性 2.作用: 1.作为用户与计算机硬件系统之间的接口 2.作为计算机系统资源的管理者 3.实现对计算机资源的抽象 3.发展过程: 1.人工操作方式:用户独占全机,CPU等待人工操作--带(卡)装卸 2.脱机输入/输出方式:事先将装有用户程序和数据的纸带装入纸带输入机,外围机控制,把纸带内容输入到磁带上(类似

计算机操作系统基础篇

阅读目录      1.  什么是操作系统  2.  为什么要有操作系统 3.  操作系统的位置 4.  操作系统的功能 5.  操作系统的发展史 6.  什么是多道技术 一, 一,什么是操作系统 操作系统(Operating System,简称OS),是管理和控制计算机硬件和软件的计算机程序,是直接运行在计算机硬件上的最基本的软件程序,任何其他的软件都必须在操作系统的支持下运行. 二,为什么要有操作系统 现在的计算机是由很多硬件组成的,程序员无法把所有的硬件操作细节都了解到,并且管理和优化使用

深入理解计算机操作系统--读书笔记-第八章异常

该文章是我对深入理解计算机操作系统这本书的读书笔记 异常概念:异常就是控制流的突变,用来响应处理器状态中的某些变化,当处理器状态发生变化时,处理器正在执行某个当前指令,在处理器中状态编码为不同的位和信号,状态变化称之为事件,事件可能与当前指令有关如缺页,算术溢出,也可能无关定时器产生信号或者io请求 异常处理完成的三种情况 1)处理程序将控制返回给当前指令 2)处理程序将控制返回给下一条指令 3)处理程序终止被中断的程序 异常处理和过程调用的区别: 1)过程调用时,在跳转处理程序之前,处理器将返

计算机操作系统——博文目录

深入理解计算机操作系统: 深入理解计算机操作系统——第3章:程序编码,过程调用(程序栈) 深入理解计算机操作系统——第3章:数组,异质的数据结构,指针 深入理解计算机操作系统——第7章:静态链接 深入理解计算机操作系统——第8章:异常 深入理解计算机操作系统——第8章:进程 深入理解计算机操作系统——第8章:进程控制 深入理解计算机操作系统——第8章:信号 深入理解计算机操作系统——第9章:物理和虚拟寻址,地址空间 深入理解计算机操作系统——第10章:UNIX IO,打开,关闭,读写文件 深入理

计算机操作系统学习笔记_2_进程管理 --进程与线程(上)

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { fon

操作系统之存储管理(续)

在"操作系统概论-存储管理"中已经讲解了单用户存储管理,固定用户存储管理,可变分区存储管理,页式虚拟存储管理等内容.以及它们一步一步改进的过程,下面主要说一下页式存储,段式存储和段页式存储的区别与关系. 页式存储: 将一个进程的地址空间划分成若干个大小相等的区域,称为页.相应地,将主存空间划分成与页相同大小的若干个物理块.在为进程分配主存时,将进程中若干个页分别装入多个不相邻的块中. 因为块的大小=页的大小,所以块内位移量=页内位移量 所以只需求出块号即可 页式存储管理的地址变换 过程

计算机操作系统学习笔记_4_进程管理 --处理机调度

h3.western { font-family: "Liberation Sans",sans-serif; }h3.cjk { font-family: "微软雅黑"; }h3.ctl { font-family: "AR PL UMing CN"; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; f