内存整理:「学习笔记」操作系统-内存管理考点整理

内存管理-命题重点 程序装入的过程与原理,编译与链接,逻辑地址与物理地址内存整理。连续分配方式的原理与特点,动态分区分配算法的原理。分页存储管理的页表机制,分段存储管理的段表机制,分页与分...

内存整理:「学习笔记」操作系统-内存管理考点整理

内存管理-命题重点程序装入的过程与原理,编译与链接,逻辑地址与物理地址。连续分配方式的原理与特点,动态分区分配算法的原理。分页存储管理的页表机制,分段存储管理的段表机制,分页与分段的比较虚拟存储器的原理、特征,缺页中断的处理过程和特点,虚拟地址和物理地址的变换,引入快表后的页氏虚拟存储器的地址变换过程,各种页面置换算法的原理,页面分配策略,工作集的定义,抖动产生的原因和解决方法。内存管理的概念程序运行的基本原理【考点笔记1】将用户源程序变为可在内存中执行的程序,通常需要与下几个步骤内存整理:

内存整理:「学习笔记」操作系统-内存管理考点整理

编译,由编译程序将用户源代码编译成若干个目标模块,每个模块具有各自的逻辑地址空间内存整理。链接,由链接程序将上述目标模块,以及所需库函数链接,形成具有完整的逻辑地址空间的装入模块。装入,由装入程序将装入模块装入内存。

内存整理:「学习笔记」操作系统-内存管理考点整理

连续分配管理方式连续分配方式【考点笔记2】内部碎片: 是指已分配给作业,但不能被利用的存储空间。eg. 某个作业所占用的内存区域,如果没有装满,就是内部碎片

内存整理:「学习笔记」操作系统-内存管理考点整理

外部碎片: 系统中还没有分配给作业,但由于碎片太小而无法分配给申请内存空间的新进程的存储块。eg.作业与作业之间,如果有内存区域没有分配给某个作业,但又不能分配给任何作业,就是外部碎片

内存整理:「学习笔记」操作系统-内存管理考点整理

分配方式单一连续分配固定分区分配动态分区分配说明分为系统区和用户区。系统区仅提供给操作系统使用,通常在低地址部分。用户区是为用户提供的除了系统外的内存空间将内存用户空间划分为若干个固定大小的区域,每个分区只装入一道作业。当有空闲分区时,便可以再从外存的后备作业队列中选择适当大小的作业装入该分区,如此循环是一种动态划分内存的分区方法。不预先将内存划分,而是在进程装入内存时,根据进程的大小动态地建立分区,并使分区的大小正好适合进程的需要。因此系统中分区的大小和数目是可变的碎片内部碎片内部碎片外部碎片作业道数1<=N(用户空间划分为N块)不确定硬件界地址寄存器、越界检查机构上下界寄存器、越界检查机构、基地址寄存器、长度寄存器、动态地址转换机构上下界寄存器、越界检查机构、基地址寄存器、长度寄存器、动态地址转换机构解决空间不足覆盖覆盖/交换交换特点采用静态分配;只适用于单用户、单任务的操作系统;内存只装入一道作业运行,从而导致各类资源的利用率都很低;产生内部碎片;作业一旦装入内存,要等到其运行结束才能释放内存采用静态重定位方式;适用于一台计算机控制多个相同对象的场合;产生内部碎片采用动态重定位技术,实现了多道程序共用主存;管理方案相对简单,不需要更多开销;实现存储保护的手段比较简单;主存利用不充分,产生外部碎片;无法实现多进程共享存储器信息

内存整理:「学习笔记」操作系统-内存管理考点整理

动态分区分配算法【考点笔记3】算法说明特点首次适应算法空闲分区以地址递增的顺序链接。分配内存时,从链首开始顺序查找,直至找到大小能满足要求的第一个空闲分区实现方法简单;查找速度快,平均性能最好;碎片多出现于低地址空间循环首次适应算法空闲分区与地址递增的次序链接。分配内存时,从上次查找结束的位置开始继续查找,直到找到第一个满足要求的空闲分区平均性能比首次适应算法差;碎片多出现于高地址空间最佳适应算法空闲分区以容量递增的次序链接。分配内存时,从链首开始顺序查找,直到找到第一个满足要求的空闲分区需要对分区排序,开销大;形成许多难以利用的小碎片最差适应算法空闲分区以容量递减的次序链接。分配内存时,从链首开始顺序查找,直到找到第一个能满足要求的空闲分区,也就是挑选出最大的分区需要对分区进行排序,开销大;使系统缺少大的连续空闲地址空间

内存整理:「学习笔记」操作系统-内存管理考点整理

非连续分配管理方式分页存储管理方式【考点笔记4】把主存空间划分为大小相等且固定的块,块相对较小,作为主存的基本单位。每个进程也以块为单位进行划分,进程在执行时,以块为单位逐个申请主存中的块空间。进程中的块称为页,内存中的块称为页框(页帧)。外存也以同样单位进行划分,直接成为块。分页存储管理的逻辑地址结构包含两部分:页号P,页内偏移量W。如图3-3所示

系统为每个进程都建立一张页表,记录页面在内存中的物理块号。如图3-4所示。(页表项连续存放,因此页号可以是隐含的,不占用内存空间)

硬件支持:页表寄存器(PTR),存放页表在内存的始址和页表长度 (页表项的个数/页的个数)。

逻辑地址与物理地址的转变过程:

查页表①先将页号P与页表长度M比较:若越界,即P>=M,则表示地址越界并中段。②若未越界,则将页表始址与页号和页表项长度的乘积相加,变得到该表项在页表中的位置,从中得到该页的物理块号,将之装入物理地址寄存器中。根据页表项算出物理地址将有效地址中的页内偏移量送入物理寄存器的块内地址字段中,即可得到要访问的内存物理地址。分段存储管理方式【考点笔记5】分段存储管理方式的逻辑地址由两部分组成:段号S与段内偏移量W,如图3-6所示。段号字段决定了作业的最大段数,段内偏移量字段决定了最大段长。

系统为每个进程都建立了一张逻辑空间与主存空间映射的段表,每一个段表项对应进程的一个段,段表项记录该段在内存中的起始地址和段的长度。段表的内容如图3-7所示

硬件支持:段表寄存器,用于存放段表始址和段表长度。

逻辑地址与物理地址的转变过程:

查段表系统将逻辑地址中的段号S,与段表长度M进行比较。①若越界,即S>TL,表示段号太大,访问越界,于是产生越界中断信号。②若未越界,则根据段表的始址和该段的段号(段表始址+段号×段表项长度),计算出该段对应段表项的位置,从中读出该段在内存中的起始地址。根据段表项算出物理地址检查段内地址偏移量W是否超过该段的段长C。①若超过,即W>SL,同样发出越界中断信号。②若未越界,则将该段的基址b与段内地址偏移量W相加,即可得到要访问的主存物理地址。

分页式与分段式对比【考点笔记6】分页式存储管理方式分段式存储管理方式是从计算机的角度考虑设计的,以提高内存的利用率,提升计算机的性能为目标考虑了用户关于方便编程、信息保护和共享、动态增长及动态链接等多方面的需要在页式系统中,分页通常通过硬件机制实现,逻辑地址的页号和页内偏移量对用户是透明的段号和段内偏移量必须由用户显示提供,在高级程序设计语言中,这个工作由编译程序完成逻辑地址是一维结构逻辑地址是二维结构产生内部碎片产生外部碎片页面大小一致段长大小不等

地址空间的一维结构与二维结构的理解

一维结构: 基本分页存储管理方式中,进行逻辑地址与物理地址的转换时,低位页内地址与低位块内地址是完全对应的,照抄即可,仅需进行页号与块号的转换,无论是逻辑地址还是物理地址,均为高位地址与低位地址的结合。二维结构: 基本分段存储管理方式中,低位段内地址可以看做线性函数f(x)=ax+b中的b,因而进行地址转换时,需要首先找到高位段号对应的该段起始地址ax,然后与b做相加。(这也是分页与分段中地址转换最大的不同之处)注意: 一个进程中,段表只能有一个,而页表可能有多个。