精华内容
下载资源
问答
  • OS存储器管理(一)

    2021-05-16 02:19:43
    存储器的层次:分为寄存器、主存(内存)和 辅存(外存)三个层次。主存:高速缓冲存储器、主...内(主)存储器管理的主要功能:①逻辑地址到物理地址的转换 ②内存(主存)空间的分配与回收 ③内存信息(数据)的共享与保...

    存储器的层次:

    分为寄存器、主存(内存)和 辅存(外存)三个层次。

    主存:高速缓冲存储器、主存储器、磁盘缓冲存储器,

    主存又称为可执行存储器;

    辅存:固定磁盘存储器、可移动的外部存储器;

    其可长期保存数据,但不能被处理器直接访问。

    此处针对的是在OS层面上对主存(内存)的管理。

    内(主)存储器管理的主要功能:①逻辑地址到物理地址的转换     ②内存(主存)空间的分配与回收     ③内存信息(数据)的共享与保护     ④内存的逻辑扩充(虚拟存储器的实现)

    一个用户程序在运行之前需要经历若干步骤,

    为了执行,程序应被调入内存并放在进程内:

    9f9d73da667475783abcf73f47152b10.png

    在这些步骤中,地址可能有不同的表示形式:

    符号(源程序中),

    可重定位的地址(目标模块),

    绝对地址(内存映像)

    逻辑地址:目标代码的相对编址。由CPU生成,也称为虚拟地址

    物理地址:内存存储单元的编址,内存单元的实际地址

    逻辑地址空间:目标代码用逻辑地址编址对应的区域

    内存存储空间:内存若干存储单元用物理地址编址对应的区域

    重定位:逻辑地址转换为物理地址的操作(过程)

    接下来,将指令与数据捆绑到内存地址,可以在以下步骤的任何一步中执行:

    编译时:

    MS-DOS的COM格式程序

    加载时:

    编译器生成可重定位代码

    执行时:

    进程在执行时可以从一个内存段移到另一内存段,那么捆绑必须延迟到执行时才进行。

    运行时从虚拟地址映射到物理地址的硬件设备称为内存管理单元(MMU)

    用户进程所生成的地址在送交内存之前,都将加上重定位寄存器的值。

    用户程序处理的是逻辑地址,它不会看到真实的物理地址。

    原理图如下:

    10dddaf79034b8b46bae64f8b97322c0.png

    例如:

    a51ef330a0c28cb34d33d40b4bcfb54f.png

    重定位的方式:

    静态重定位:目标代码装入内存时,一次性进行逻辑地址到物理地址的地址转换。

    动态重定位:目标代码装入内存时,先不进行地址

    转换(即原代码装入),在执行时,再实施地址转换。

    内存分配的方式:

    连续分配和非连续分配

    内存通常分为两个区域:

    一个用于驻留操作系统,常与中断向量一起放在低内存

    另一个用于用户进程,常放在高内存。

    04143c07daf0fb9c0d862c6deaf9b238.png

    一、连续分配

    四种方式:

    ①单一连续区分配

    ②固定分区分配

    ③可变(动态)分区分配

    ④可重定位分区分配

    ①单分区分配方法(Single-partition allocation)

    重定位寄存器方案用来保护用户进程之间,用户进程与操作系统之间不会相互修改代码与数据

    重定位寄存器包含了最小的物理地址;界限寄存器包含了逻辑地址的范围,每个逻辑地址必须小于界限寄存器

    ffc20622890923a6a71b979e30a601c0.png

    ②固定分区分配

    *算法思想

    内存可用区划分成若干个大小固定的存区,每个存区分别装入一道作业的代码(数据)。

    *算法实现

    建立分区说明表,记录各分区大小、地址及分配情况

    例如:

    分区号

    分区大小

    起始地址

    状态

    1

    12k

    20k

    已分配

    2

    32k

    32k

    已分配

    3

    64k

    64k

    已分配

    4

    128k

    128k

    空闲

    5

    1f5c4d7993611ae5f36e07f47df31d00.png

    分配:查分区说明表,找到一个足够大的空闲分区分配之;

    回收:将回收分区对应的分区说明表状态改为“空闲”。

    优点:内存可同时装入多道作业代码,算法实现简单;

    缺点:存在浪费(分区一次性全部分配出去);会产生内部碎片。

    ③动态存储分配问题

    算法思想:事先不划分分区,待作业需要分配内存时,再按需分配划分分区(分区的大小及个数不固定)。

    数据结构:

    空闲分区表或空闲分区链表  ---->记录空闲分区的大小、地址等

    c38f82969b7b799f5e36f40df788c356.png

    空闲分区链表状况:87ef4b8c9da7ca8054aa01cd6a57ba41.png

    分配:查空闲分区链表,找到第一个足够大的分区,将其一分为二分配之;

    分配策略(算法):首次适应算法,循环首次适应算法,最佳适应算法,最差适应算法

    回收:先将回收分区与相邻空闲分区合并再修改空闲分区链表。

    回收算法:前邻接合并,后邻接合并,前、后邻接合并,不邻接处理

    *优、缺点

    按需分配,可解决浪费问题;分配算法复杂,会产生外部碎片;

    邻接合并系统开销大。

    *碎片问题

    碎片:可变分区分配过程中形成的若干个非常小的无法再利用的小分区,形成外部碎片

    碎片分为外部碎片和内部碎片。

    处理碎片的方法:

    1.紧缩(compaction,拼接):用来降低外部碎片移动内存内容,以便所有空闲空间合并成一整块。

    如果重定位是动态的,是在运行时进行的,那么就能采用紧缩

    2.另一种可能解决外部碎片问题的方法是允许物理地址空间为非连续,这样只要有物理内存就可为进程分配:分页或分段

    ④可重定位分区分配

    *算法思想

    在可变分区分配算法的基础上,采用动态重定位方式装入程序(数据)。当无足够大的分区供分配时,若总的空闲存储容量够用,则将各分区中的内容向内存一端移动(紧凑),使另一端形成一个大的空闲分区,然后再分配。

    例:前例若要为作业10分配120k的存储空间,因无足够大分区(总空闲容量290k),则先进行合并处理:

    e60db75f875429576da79b50885d9057.png

    内存的非连续分配方式见下篇。

    展开全文
  • 存储管理是操作系统的重要组成部分,它负责管理计算机系统的重要资源主存储器。由于任何程序、数据必须占用主存空间后才能执行,因此存储管理直接影响系统的性能 1 存储器的层次结构 1.1 多层结构的存储器系统 可...

    存储管理是操作系统的重要组成部分,它负责管理计算机系统的重要资源主存储器。由于任何程序、数据必须占用主存空间后才能执行,因此存储管理直接影响系统的性能

    1 存储器的层次结构

    1.1 多层结构的存储器系统

    在这里插入图片描述

    可执行寄存器

    • 计算机系统的存储层次中,寄存器和主存又被称为可执行存储器。

    • 操作系统负责对可执行存储器的管理,进程对可执行存储器是可直接访问的,

    • 而设备和文件管理则负责根据用户的需求,提供对辅存的管理机制。

    • 但对辅存的访问是需借助I/O设备。

    主存储器

    主存储器简称内存或主存,是计算机系统中的主要部件,用于保存进程运行时的程序和数据,也称为可执行存储器。分为用户区和系统区。

    寄存器

    字长32位或64位,寄存器具有和处理器相同的速度,因此系统对寄存器的访问速度最快,完全能和CPU协调工作

    高速缓存

    高速缓存介于寄存器和存储器之间,主要用于备份主存中较常用的数据,以减少处理机对主存的访问次数,由此可大大提高程序的执行速度

    磁盘缓存

    磁盘缓存主要暂时存放频繁使用的一部分磁盘数据和信息,以减少访问磁盘的次数。磁盘缓存并不是实际存在的存储器,而是依托内存存在,分为写缓存和读缓存

    1.2 存储器管理功能

    主要任务:为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及能从逻辑上扩充内存。
    那么我们来回顾下存储器管理的主要功能都有哪些?
    功能:内存分配〈为每道程序分配内存空间,允许运行着的程序申请附加的内存空间)
    内存保护〈确保每到用户程序都只在自己的内存空间内运行,彼此互不干扰)地址映射〈将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址)内存扩充〈从逻辑上扩充内存容量,使更多的用户程序能并发运行)

    2 程序的装入和链接

    • 物理地址
    • 物理地址空间:物理地址的集合;一维的线性空间。可供用户重复使用多次的资源
    • 逻辑地址
    • 逻辑地址空间:逻辑地址所形成的地址范围;可能是线性的,也可能是多维的

    2.1 程序的链接

    用户程序在运行时需要先装入内存,再将其变为一个可执行的程序,通常程序运行时需要经过以下几个步骤:

    • 编译:由编译程序对用户源程序进行编译,形成若干个目标模块;

    • 链接:由链接程序将编译后形成的一组目标模块以及它们所需要的库函数链接在一起,形成一个完成的装入模块;

    • 装入:由装入程序将装入模块装入内存

    2.1.1 静态链接方式

    在程序运行之前先将各目标模块及它们所需的库函数链接成一个完整的装配模块,以后不再拆开。装配时,需要

    对相对地址进行修改、变换外部调用符号

    2.1.2 装入时动态链接方式

    ​ 将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的链接方式。在该方式中,如果在装入一个目标模块发生了一个外部模块调用事件,则装入程序会找出相应的外部目标模块,并将它装入内存,同时修改目标模块中的相对地址。

    优点:

    ⑴ 各目标模块分开存放,因此便于修改和更新程序

    ⑵ 便于实现对目标模块的共享

    2.1.3 运行时动态链接方式

    采用边运行边链接的链接方式,及将对某些模块链接推迟到程序执行时才进行。在该方式中,如果在程序执行过程中发现一个被调用模块尚未装入内存,则立即由OS去找到该模块,并装入内存链接到调用者模块上。

    ​ 因此凡在执行过程中,没有被调用的模块都不会被调入内存和被链接到装入模块上,由此可加速程序的执行,节省内存空间。

    2.2 程序的装入

    在将程序的多个模块链接成一个完整的装入程序后,需要装入到内存中让CPU执行。

    2.2.1 绝对装入方式

    装入前已经确定内存装入地址

    目标模块装入到事先指定的内存位置。这就要求程序中所使用地址为绝对地址

    2.2.2 可重定位装入方式

    装入时再确认内存装入地址,根据内存使用情况装入,并修改目标程序中指令和数据的地址

    • 静态重定位:装入后不允许修改
    • 动态重定位:等程序真正要执行时才将其逻辑地址通过动态计算转换成物理地址

    2.2.3 重定位

    将逻辑地址空间中的逻辑地址变换成内存空间中的物理地址的过程称为重定位

    静态重定位:装入后不允许修改

    动态重定位;程序要执行时,才将逻辑地址通过动态计算转换成物理地址。

    2.2.4 动态运行时的装入方式

    动态运行时的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种**地址转换推迟到程序真正要执行时才进行(**动态重定位)。

    ​ 由于装入内存后的所有地址都仍是相对地址,因此该方式允许程序在内存中不断移动位置,从而使内存的利用提高。

    3 连续分配存储管理方式

    3.1连续分配

    只为一个用户程序分配一个连续的内存空间

    3.1.1 单一连续分配

    用这种存储管理方式时,系统会将整个用户区看成是一个分区,分配给一个用户使用,并且这个用户区只能容纳一个程序或作业。

    **缺点:**内存利用率极低

    3.1.2 固定分区分配

    内存的用户去被分为若干个固定大小的区域,每一个区域仅装入一个作业,由此内存中存在多道同时运行的作业。

    1. 划分分区的方法

    ⑴ 分区大小相等

    ​ 将内存空间分为大小相等的区域,用于存放那些大小差不多的用户作业。 **缺点:**缺乏灵活性

    ⑵ 分区大小不等

    ​ 将内存分为含有一些较小的分区、 一些中等的分区和一些较大的分区。

    2. 内存分配

    ​ 系统按分区的大小顺序建立一张分区使用表,表中记录的每个分区的起始地址、大小和状态等信息,并且每个分区的信息占用一条记录。

    缺点,容易产生碎片

    3.1.3 动态分区分配

    分配原理:系统根据作业的实际需要,动态地为作业分配内存空间

    1. 分区分配中的数据结构

    ⑴ 空闲分区表

    用于记录每个空闲分区的信息:

    分区序号、分区起始地址、

    分区大小等这些表项。

    每个空闲分区的信息占一个记录

    在这里插入图片描述

    (2)空闲分区链

    将所有空闲的分区使用指针链接到一块(双链)

    3. 分区分配操作

    ⑴ 分配内存

    u.size**:**用户程序请求的分区大小;

    **m.size:**空闲分区表(链)中每个空闲分区大小;

    **size:**系统所允许的最小分区容量。

    分配过程:

    ①查找并分配:查找过程中每次比较m.sizeu.size大小。若m.size>u.size则此分区满足条件,但要判断m.size- u.size <size 若是,系统将此分区全部分配出;否则,系统从此分区中划出合适用户程序的空间分配,剩余的部分仍留在空闲分区链中;

    ②修改相关数据:对于剩余部分的空闲空间要修改它的相关数据,如分区起始地址、分区大小及状态等

    (2) 回收内存

    3.1.4 动态重定位分区分配

    紧凑技术:将多个碎片空间拼接成一个较大的空间

    动态重定位的实现

    重定位寄存器:硬件地址变换机构, 记录程序最终被移动到的实际分区的始址,为加快CPU执行程序或指令的速度

    动态重定位分区分配方式***=“*紧凑”技术+动态重定位+动态分区分配方式

    在这里插入图片描述

    固定分配产生内部碎片

    动态分区分配产生外部碎片:分区大小不固定;分配时较复杂,需要设置一定的数据结构如空闲分区表或空闲分区链;可根据作业大小情况来分配

    |动态分区存储管理的优缺点

    **优点:**根据用户作业的实际需求分配存储空间;

    **缺点:**碎片问题(外碎片),内存利用率不高,受实际内存容量限制。

    | 动态重定位分区存储管理的优缺点

    **优点:**解决了动态分区分配过程中所产生的“外零头”问题。消除内存碎片,提高内存利用率;

    **缺点:**提高硬件成本,紧凑时花费CPU时间

    3.1.5 基于顺序搜索的动态分区分配算法

    • 首次适应算法

    • 循环首次适应算法

    • 最佳适应算法

    • 最坏适应算法

    3.1.6 基于索引搜索的动态分区分配算法

    1. 快速适应算法(quick fit )

    ​ 又称为分类搜索法,按容量大小将空闲分区分类,每类同容量的空闲分区单独设立一个空闲分区链表,同时在内存设立一张管理索引表,表项中记录每种类型的分区和空闲分区链表指针。

    2.伙伴关系

    3,。哈希算法

    3.2 不连续分配

    4 对换(Swapping)

    4.1 多道程序环境下的兑换技术

    1. 对换的引入

    将内存中暂时不能运行的进程或暂时不用的程序和数据换出到外存上,以腾出足够的内存空间,再将已具备条件的进程或进程所需要的程序和数据换入内存。

    对换包括:换入/调入操作;换出/调出操作

    目的:提高内存利用率。

    2. 对换的类型

    • 整体对换:又称为进程对换。

    • 部分对换:在对程序实施对换操作时可以是以“页”和“段”为单位的

    4.2兑换空间管理

    外存分配

    • 文件区,保存用户文件,使用离散的分配方式,提高利用率
    • 对换区,用于暂时存放和内存交换的进程,使用连续的分配方式,用来提高交换速度

    在这里插入图片描述

    5 分页存储管理方式(重点)

    • 连续分配方式

      单一连续/固定/ 动态/ 动态重定位分区分配

    • 离散分配方式

      纯分页/纯分段/ 段页式/ 请求分页/ 请求分段

    • 纯分页存储管理方式(也称基本的分页存储管理方式):分页存储管理方式中,不具备页面兑换功能。种存储管理方式只有将整个作业/程序都装入内存中才能开始运行。

    5.1分页存储管理的基本方式

    1.页面和物理块

    • 页面:程序被分为大小相等的片,编号0~n
    • 物理块(页框):同页面大小相等,编号0#~n#

    在给进程分配内存时,是以块为基本单位分配的。将进程中的若干个页分别装入到多个可以不相邻的物理块中

    • 页面大小:一般的系统中默认为,分页大小应是2的幂,通常为512 B~8 KB

    2.地址结构

    在这里插入图片描述

    重点公式

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w4uLTv71-1615165310330)(./image/搜狗截图20210121145120.png)]

    3.页表

    用来连接逻辑页号和物理块号的中间关系表

    在这里插入图片描述

    4.基本的地址变换机构

    页表寄存器PTR:记录进程的页表在内存中存放的起始地址和整个页表的长度。

    • 页表长度:表长度
    • 页表项长度:表内一项的长度

    地址变换:物理地址 = 页表起始地址+页号*页表项长度

    若页表全部放在主存,则要取一个数据(一条指令)至少要访问两次主存

    5.快表(高速缓冲寄存器)

    一个存放当前系统最近访问过的页表项的表

    6 分段存储管理方式(重点)

    7 段页式存储管理方式

    展开全文
  • 操作系统存储器管理

    2021-11-20 10:35:19
    存储器管理功能 主存分配 地址映射 内存保护 主存扩充 地址映射(地址重定位) 内存的每个存储单元都有一个编号,这种编号成为内存地址(物理地址、绝对地址) 内存地址的集合称为内存空间(或物理地址空间)...

    第五章 存储器管理

    在这里插入图片描述

    存储器管理的功能

    1. 主存分配
    2. 地址映射
    3. 内存保护
    4. 主存扩充

    地址映射(地址重定位)

    1. 内存的每个存储单元都有一个编号,这种编号成为内存地址(物理地址、绝对地址
    2. 内存地址的集合称为内存空间(或物理地址空间
    3. 要求用户在内存地址编程是非常困拿的,尤其是在多道程序设计的环境中
    4. 用户变成所用的地址称为逻辑地址(或程序地址,或虚地址)由逻辑地址组成的空间称为逻辑地址空间程序地址空间
    5. 用户程序装入内存时对有关指令的地址部分的修改(从程序地址道内存地址的地址映射)称为地址重定位

    内存保护

    保证在内存中的多道程序只能在给定的存储区域内活动并互不干扰
    硬件支持:界地址寄存器,如果未越界,则按此地址访问主存,否则将产生程序中断----越界中断(存储保护中断)

    在这里插入图片描述

    主存扩充(虚拟内存)

    实现虚拟内存的基本原理:局部性原理

    5.1存储器的层次结构

    在这里插入图片描述

    1. 多层结构的存储器系统:三级存储层次:cpu寄存器-主存-辅存
    2. 主存储器与寄存器:寄存器和主存储器(内存)被称为可执行存储器
    3. 高速缓存和磁盘缓存
    高速缓存磁盘缓存
    寄存器与存储器之间,用于备份主存中常用的数据。减少处理机对主存储器的访问次数缓和io与主存的访问速度差异,用于展示存放频繁使用的一部分磁盘数据和信息,以减少对磁盘的访问次数

    程序的装入与链接

    用户源程序执行通常要经过的步骤

    1. 编译:由编译程序将用户胡源代码编译成若干个目标模块
    2. 链接:由连接程序将编译后形成的目标模块以及他们所需要的库函数,链接在一起,形成一个装入模块
    3. 装入,由装入程序将装入模块装入主存的过程
      在这里插入图片描述

    程序的装入

    绝对装入方式在可执行文件中记录内存地址,装入时直接定位在上述内存地址
    可重定位方式在执行文件中,列出哥哥需要重定位的地质单元和相对地址值,当用户程序被装入内存时,一次性实现逻辑地址道物理地址的转换,以后不再转换,。即装入时根据所定位的内存地址去修改每个重定位地址项目,添加相应偏移量
    动态运行时装入方式再装入模块装入主存后,并不立即把装入模块中的相对地址转化为绝对地址,而是把这种地址转换推迟到程序要真正执行时才进行,实现时需要重定位寄存器

    静态重定位地址变换在进程装入时一次完成,以后不再改变

    程序的链接

    链接程序的功能是将经过编译或汇编后所得到的一组目标模块以及他们所需要的库函数装配成一个完整的装入模块

    1. 静态链接:事先进行链接以后不再拆开的连接方式
    2. 装入时动态链接:用户源程序经编译后所得到的目标模块,是在装入主存时,边装入边链接的
    3. 运行时动态链接:可将某些目标模块的链接,推迟到执行时才进行

    在这里插入图片描述
    在这里插入图片描述

    连续分配方式

    连续分配方式指为一个用户程序分配一个连续的内存空间

    单一连续分配
    固定分区分配
    动态分区分配
    可重定位分区分配

    单一连续分配

    • 最简单,适用于单用户、单任务的os
    • 单道程序环境下,内存分为两个区域:系统去,用户区
    • 应用程序装入到用户区,可使用用户区全部空间
    • 系统区提供给os使用

    固定分区分配

    管理思想:把内存固定的划分为若干个固定大小区域,每个分区装入一道作业

    在这里插入图片描述
    分区大小通常由计算机操作员或由操作系统给出,并维护分区使用表,包含每个分区的起始地址,大小及状态
    当用户程序需装入内存时,检查分区使用表,如果有可用的满足要求的分区,则分配,并置该分区状态为已分配,否则不给该程序分配内存

    在这里插入图片描述

    固定分区分配性能分析

    在作业大小和出现频率已知的情况下,固定分区是合适的。在这种情况下分区的大小选择与作业大小选择相当,这样内存的使用效率较高。
    但是若作业的大小和出现的频率不知道时,势必造成分区的大小和作业的大小相差甚远,这样会造成存储空间的浪费,从而影响整个系统的效率
    优点:易于实现,开销小
    缺点:内存碎片造成浪费;分区
    总数固定,限制了并发执行的程序数目

    动态分区分配

    动态分区分配是指根据进程的实际需要,动态的为之分配内存空间
    这种存储管理的方法解决了固定分区严重浪费内存的问题。是一种较为实用的存储管理方法
    涉及到分区分配中的数据结构、分区分配算法、分区的分配回收问题

    在这里插入图片描述

    算法描述优点缺点
    首次适应算法空闲分区按首地址递增的次序优先使用低地址空间,因而在高地址的空间可能会保留较大的空闲分区,所以,大进程申请的存储空间大都能在高地址端得到曼珠缺点由于每次只简单的使用找到的第一个分区,结果可能导致低地址部分不断被使用,将较大的空闲分区不断地分割为较小的空闲分区。每次查找都从地址开始,增加开销
    最佳适应法空闲分区大小从小打到大的次序在系统中若存在一个与申请分区大小相等的空间,必定选中,若系统中不存在与申请分区大小相等的空闲区,则选中的的空闲区一定是满足要求的最小空闲区,而不至于毁掉较大的空闲区空闲的大小一般与申请分区大小不相等,因此将其一分为二,留下来的空闲区一般情况下是小很多的,以致无法使用。随着时间的推移,系统中小空闲区会越来越多,从而造成存储区的大量浪费
    最坏适应算法按空闲区大小从大到小的顺序组织空闲区表当程序装入内存中最大的空闲分区后,剩下的空闲分区可能还相当大,还能装下的较大的程序,每次仅作一次查询工作,效率高,可以避免形成大量较小外零头但他总是分割大的空闲分区,当遇到大进程申请大空间时,无法找到一个足够大的空闲分区。在进程面前,内存中所谓的较大空闲分区也是外零头了

    在这里插入图片描述

    动态可重定位分区分

    存储器管理的主要对象内存
    单一连续分配
    固定分区分配分区使用表,会产生不可用的内零头
    动态分区分配会在分区外产生外零头,空闲分区表,空闲分区链;FF,NF,BF,WF
    动态可重定位分区分配增加了紧凑功能的动态分区分配

    离散分配方式

    分页存储管理基本思想

    程序地址空间:将进程的逻辑地址空间分成若干大小相等的部分,称为页
    从0开始编页号,每一页内地址也是相对于0编制的

    在这里插入图片描述

    内存地址空间(物理地址空间)与页面分配

    • 按规定的逻辑页大小将内存空间划分为大小相等的区域,称为块或内存块
    • 从0开始编块号
    • 为进程分配内存空间时,以块为单位,将进程的若干个页分别装入到多个可以不相邻的物理块中

    在这里插入图片描述

    内存分配

    • 物理块表:整个系统有一个物理块表,描述物理内存空间的分配使用情况
    • 内存以块为单位进行分配,并按应用程序的页数多少来分配
    • 页和块的大小相同
    • 进程的最后一页经常装不满一个块,因而还会形成不可利用的碎片,称为页内碎片
    • 逻辑上相邻,物理上不一定相邻
    • 需要增加新的数据结构

    在这里插入图片描述

    地址结构

    地址长度为N位,它包含两个部分
    地址的高位部分为页号P,高址部分代表了页数
    地址的地位部分为页内地址、位偏移量,低址的位数也代表了每一页的大小

    页表

    若将应用程序的包含页号和页内地址的逻辑地址转换成内存地址,必须要有一个数据结构,用来登记页号和块号的对应关系和有关信息
    这样的数据结构称为页表,页表的作用是实现从页号到物理块号的地址映射

    系统为每个进程在内存建立一个页表
    页表内容:
    页号|登记程序地址空间的页号
    块号:等级相应的页所对应的内存块号
    其他:登记于存储信息保护有关的信息

    页表的首地址和长度存在于该进程的PCB中,占用处理机的当前进程的页表首地址和长度需要放在地址映射机构的页表首址寄存器和页表长度寄存器

    分页中的地址映射其实与通常的地址映射的概念是一样的,即把程序地址转换成内存地址
    这个转换过程是在程序执行过程中完成的,是动态地址映射

    地址变换机构

    地址变换

    • 地址变换机构的任务是将逻辑地址中的页号转变为物理地址快的块号,这个任务借助于页表来实现的
    • 页表驻留在内存,在系统中只设一个页表寄存器PTR,其中存在着页表在内存中的始址和页表长度,页表的始址和页表的长度存放在本进程的PCB中。页表功能由一组专门的寄存器来实现
    • 在现代计算机中,由系统提供的地址映射硬件来完成地址映射工作

    在这里插入图片描述

    分页存储管理中的信息保护

    信息保护从两个方面实现

    1. 在分离程序地址的页号和页内地址时判别访问地址是否越界,若产生的页号满足下式为合法:0<=0页号<程序地址空间的页数
      判断由硬件自动做,若不合法,硬件产生越界中断,由操作系统的越界中断处理程序进行处理。
    2. 判断访问是否越权:在页表中增加用于存取控制和存储保护的信息,当要访问的某页的某个逻辑地址时系统要根据该页的存取控制和存储保护信息检查访问是否合法

    快表/联想寄存器

    每一次对内存的访问都要访问页表页表是放在内存中的,也就是说每一次访问内存的指令至少要访问两次内存,运行速度下降一半

    解决方法

    • 把页表放在一组特殊的高速缓冲寄存器中(Cache)。从而加快访问内存的速度
    • 把这种快速存储器组成的页表称为快表,把存在内存中的页表称为慢表。快表又叫联想存储器或TLB(Translation lookaside buffers)

    两级页表和多级页表

    • 页表需要连续空间存储的,但是当页表项很多时,仅采用一级页表需要大片连续空间
    • 可将页表份额,并对页表所占的空间进行索引形成外表页层
    • 由此构成二级页表
    • 更进一步可形成多级页表

    页式存储管理方案小结:解决了碎片问题,便于管理

    缺点:不易实现共享,不便于动态链接

    分段存储管理方式—为了满足用户在编程和使用上的要求!

    为什么要引入分段存储?

    程序一般都可以分为若干个段,每个段都是一个相对独立的逻辑单位,分段存储更符合用户和程序员的需求
    方便编程:用户按逻辑关系来划分若干个段
    信息共享:段是可以信息共享的逻辑单位
    动态增长
    动态链接:以段作为动态连接的基本单位

    分段存储管理基本思想

    程序地址空间

    • 按程序自身逻辑关系划分为若干个段,每个段都有一个段号
    • 段号从0开始
    • 每段段内从0开始编址,段内地址连续
    • 各段长度不相等,段长由相应逻辑信息组的长度决定

    在这里插入图片描述

    内存地址空间:被动态的划分为若干个长度不相同的区域,称为物理段。每个物理段由起始地址和长度确定
    内存分配:以段为单位分配内存,每一个段在内存中占据连续空间,各段之间可以不连续存放

    在这里插入图片描述

    短地址映射

    • 地址映射数据结构,每一进程有个段表,他的每一个段在段表中占用一个标目,记录了该进程在内存中的起始地址和段长度
    • 段表包括段的首地址,段的长度,和存取状态等信息
    • 段表可以存放在一组寄存器中,以此提高地址转换速度,常见的是将段表放入内存
    • 段表首地址指针和段表的长度存放在进程PCB中
    • 段表是用于实现从逻辑段到物理内存区的映射的

    段表寄存器

    在这里插入图片描述

    • 段表同样被保存在内存中
    • 段表寄存器:实现快速地质变化,用来存放当前执行进程的段表在物理内存中的起始地址
    • 当创建进程,奖金池的程序和数据装入内存时,系统为之建立段表,并将段表的起始地址填入进程的PCB中。
    • 当进程被调度执行时,取出其PCB中的段表首地址,填入段表寄存器中

    快表

    在分段系统中,为了访问内存中的一条指令或数据,需要两次访问内存

    第一次,访问内存中的段表,获得对应段的起始地址。根据段的起始地址和段内偏移量,计算出物理地址
    第二次,根据物理地址,访问对应存储的单元的指令或数据

    同页地址变换一样,段地址变换过程中,也有两次访问内存的问题。为了加快访问内存的速度也可以采用快速存储器组成快表,用于保存最近使用过的段表项

    (超级重要!!!!)分段与分页技术的比较!!!

    页是信息的物理单位,段是信息的逻辑单位
    页大小是系统固定的,段大小通常不固定
    地址表示,分页是一维的,各个模块在链接时必须组成同一个地址空间。分段是二维的,各个模块在链接时可以每个段组成一个地址空间

    信息共享:段的共享比页的共享更容易

    段式存储管理方案小姐:
    便于动态申请内存,管理和使用统一化,便于共享,便于动态链接
    缺点:产生碎片

    段页式存储管理方式

    程序地址空间:
    按段式划分:对用户来讲,按段的逻辑关系进行划分
    按页划分:对系统来讲,按页划分每一段·············

    基本思想

    逻辑地址:先将用户程序分为若干个段,再将段分成若干个页
    系统需要同时配置段表和页表

    在这里插入图片描述
    内存地址空间:按页式存储管理方案,内存分配以块为单位进行分配

    在这里插入图片描述

    地址变换

    段表:需要配置段表寄存器。记录了每一段的页表始址和页表长度
    进行地址变换时,首先利用段号S将他与段长TL进行比较S《Tl,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址

    页表:记录了该段中每个逻辑页号和内存块号的对应关系

    地址变换过程(!!!!!!!!)

    • 首先,从段表寄存器从获得进程段表的起始地址,根据该地址,查找进程的段表
    • 然后根据逻辑地址指定的段号检索段表,找到对应端的页表起始地址。在根据逻辑地址中指定的页号检索该页表,找到对应页所在的块号。
    • 最后利用页框号加上逻辑地址中指定的页内偏移量,形成物理地址
    1. 第一次,访问段表,从中获得该段的页表首地址
    2. 第二次,访问页表,从中取出逻辑地址指定的页面所在的页框号,并将该页框号和页内偏移量相加,形成指令或数据的物理地址
    3. 第三次访问内存,根据前面计算的物理地址,去除对应存储单元的指令或数据
      可以在地址变换机构中增设一个高速缓冲寄存器,其中保存最近使用过的页号以及所属的段号

    对换技术

    在多道环境下扩充内存的方法,用以解决在较小的存储空间中运行较大程序时所遇到的矛盾

    进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息交换

    ==把内存中展示不能运行的进程或者展示不用的程序和数据换到外存上,以便腾出足够的内存空间。再把已具备运行条件的进程或者进程所需要的程序和数据换入内存。

    作用:改善内存利用率;提高处理及的利用率和系统的吞吐量

    展开全文
  • 存储器管理 1. 内存管理 2. 一些基本概念 3. 连续分配存储管理方式 4. 非连续分配存储管理方式

    1. 内存管理

    1. 存储器按存储层次分可以分为三类,分别是寄存器、主存、辅存。寄存器位于CPU内,主存又称内存,辅存即硬盘。
      在这里插入图片描述

    存储器管理主要是对内存资源的管理,以下内容均围绕“内存管理”来展开。

    1. 内存管理
      虽然内存容量在不断增长,但仍然不可能将所有用户进程和系统所需要的全部全部程序与数据放入主存,因此操作系统必须对内存空间进行合理的划分和有效的动态分配,这就是内存管理的概念。

    2. 内存管理的功能
      内存管理的核心内容实质上就是以下四个方面的功能:

    • 内存的分配与回收。完成对主存储器空间的分配和管理;
    • 地址映射。提供地址变换的功能,把逻辑地址转换成相应的物理地址
    • 内存保护。保证各道作业在各自的存储空间内运行,互不干扰;保证用户区不向系统区越界;
    • 内存扩充。利用虚拟存储技术,从逻辑上扩充内存(并没有真正的在物理上扩充内存)。

    2. 一些基本概念

    创建进程首先要讲程序和数据装入内存。将用户源程序变为可在内存中执行的程序,通常需要以下几个步骤:

    • 编译。由编译程序将用户源程序进行编译,形成若干个目标模块;
    • 链接。由链接程序将编译后形成的一组目标模块及所需的库函数链接到一起,形成一个完整的装入模块;
    • 装入。由装入程序将装入模块装入内存运行。

    2.1 链接

    程序的链接有以下三种方式:

    • 静态链接。在程序运行前将各目标模块及它们所需的库函数链接成一个完整的不再拆分的可执行程序;(实现简单,但维护困难,可移植性差)
    • 装入时动态链接。将目标模块装入内存时采用边装入边链接的方式;
    • 运行时动态链接程序执行中需要该目标模块时才进行对其的链接。(便于修改和更新,实现对目标模块的共享)

    程序的动态链接与程序的逻辑结构相关,分段存储管理将程序按照逻辑段进行划分,有利于其动态链接。其他的内存管理方式与逻辑结构无关。

    2.2 装入

    内存的装入模块(目标模块)在装入内存时,也有以下三种方式:

    • 绝对装入。程序中的逻辑地址直接指向内存的绝对地址,在把程序和数据装入内存的时候,不需要做出任何修改。
      绝对装入特点:此方式只适用于单道程序环境,避免内存冲突。
    • 可重定位装入。也称静态重定位。多道处理机环境下,将程序装入内存的时候,程序地址都相对于内存始址的地址偏移。装入时对目标程序中指令和数据的修改过程称为重定位,地址变换在装入时一次完成的,又称静态重定位。
      静态重定位特点:一个作业装入内存时,必须给它分配要求的全部内存空间,内存不够无法装入。作业一旦进入内存,在它整个运行期间内不能移动或再申请内存空间。
    • 动态运行时装入。也称动态重定位。程序运行在内存中发生移动时采用此种方式。程序中的相对地址并不在装入时就转换成内存中的绝对地址,而是等到真正运行的时候才会转换。此方式需要重定位寄存器来支持。
      动态重定位特点:程序运行期间动态申请分配内存,便于程序段的共享,可以向用户提供一个比存储空间大得多的地址空间(实质上是提高内存的利用率)。但不可避免地,开销也会相应增大。

    2.3 覆盖与对换

    实现对内存的扩充。

    1. 覆盖
    • 把用户空间分成一个固定区和若干覆盖区,将经常活跃的部分放在固定区,即将要访问的段放入覆盖区,其他放入外存,需要调用前将其调入覆盖区替换覆盖区中原有的段。
    • 覆盖技术可用于单一连续区分配、固定分区分配中,也常用于虚拟存储技术中。
    1. 对换
    • 把处于等待或被剥夺运行权利的程序从内存移到辅存,称为换出;把准备好竞争CPU的程序从辅存移到内存,称为换入。
    • 进程在I/O操作时不可交换出主存,否则旧进程的I/O数据被新进程所使用,出现错误。

    3. 连续分配存储管理方式

    连续分配:为一个用户程序分配一个连续的内存空间
    内碎片:给某进程的内存分区不完全能用到
    外碎片:内存中有些空闲分区太小而无法用到
    不会同时出现内碎片和外碎片

    3.1 单一连续分配

    1. 概念:
      内存在此方式下分为系统区和用户区,系统区仅供操作系统使用,通常在低地址部分;用户区给用户使用。用户区内存中只装有一道用户程序

    2. 特点:
      由于只有一道用户程序,该方式不具有并发性,且不存在多程序的访问越界问题,无需进行内存保护;该方式实现简单、开销小,但只能用于单用户、单任务的操作系统,且存储器利用率极低。

    3. 碎片:
      由于只有一个分区,无外碎片,有内碎片

    3.2 固定分区分配

    1. 概念:
      将用户内存空间划分为若干固定大小的区域,每个分区只装入一道作业。当有空闲分区时,可从外存的后备作业队列中选择合适大小的作业装入分区。

    2. 分区方法:

    • 分区大小相等。缺乏灵活性;
    • 分区大小不等。分区分配表(始址、大小、状态等信息)。
    1. 特点:
      是多道程序最简单的存储分配,可并发,但并发数固定;通过挂机就绪实现对内存的扩充;程序可能过大无法放进任何一个分区来运行;主存利用率低,程序小于内存分区造成主存空间的浪费。
    2. 固定分区在作业进入内存之后,其位置不再改变,所以在装入时可采用静态重定位方式。
    3. 碎片:
      分区内部会产生内碎片,由于分区已经固定,不会产生外碎片。

    3.3 动态分区分配

    1. 概念:
      不预先划分内存,而是在进程装入内存时,根据进程的大小动态地建立分区,使分区大小适合进程的需要。

    2. 特点:
      实现了动态分配内存,但随着时间的推移,会产生越来越多无法利用的小内存碎片,即外部碎片。可用紧凑技术(动态重定位机制)解决外部碎片;需对空闲空间进行记录方便进程使用。

    3. 空闲空间记录:

    • 空闲分区表(始址、大小)
    • 空闲分区链(内部有指向下一个空闲分区的指针)
    1. 碎片:
      无内碎片,有外碎片

    2. 动态分区分配策略:

    • 首次适应算法。空闲分区以地址递增的次序链接,分配内存时按顺序查找,找到大小能满足要求的第一个空闲分区。
    • 最佳适应算法。空闲分区按容量递增的方式形成分区链,找第一个能满足的空闲分区。(缺点:导致更多的外碎片)
    • 最坏适应算法。也称最大适应算法,空闲分区按容量递增的方式形成分区链,找第一个能满足的空闲分区,即最大的分区。(缺点:经过一段时间后无大分区可用)
    • 邻近适应算法。也称循环首次适应算法,分配内存时从上次查找结束的位置开始继续查找。

    3.4 伙伴系统(buddy)

    整个可分配分区大小为2的幂次方,当需要的内存空间大于当前块的一半的时候就将整个分区分配给进程,如果小于当前分区的一半,就将当前分区对半分开,将其中一半继续与需要的内存大小进行比较,递归进行下去,直到满足所需内存大小大于分区一半。可以看到这种分配方式内部碎片最大为分区大小的一半减一。

    xbuddy(x)
    x%2^(k+1)=0x+2^k
    x%2^(k+1)≠0x-2^k

    4. 非连续分配存储管理方式

    1. 分页管理方式目的是提高内存的利用率,提升计算机的性能;
    2. 分段是为了用户和程序员,以满足方便编程、信息保护与共享、动态增长及动态链接等多方面的需要。

    4.1 分页存储管理

    1. 分页:把主存空间划分为大小相等且固定的块,作为主存的基本单位;每个进程也以块为单位进行划分,进程在执行时以块为单位逐个申请主存中的块空间。

    2. 内存利用率:分页管理不会产生外部碎片,每个进程平均产生半个块大小的内部碎片,也称页内碎片。

    3. 一些基本概念

    • 页面和页面大小:进程中的块称为“页”,内存中的块称为“页框”;页面大小为2的整数幂,页和页框的大小相同。
    • 逻辑地址结构
      在这里插入图片描述
      如图所示,每页大小为4KB,地址空间最多允许2^20页
    • 根据页面的地址结构可以发现,对主存进行访问,是以字或字节为单位进行访问的,如页号(块号)、页内偏移等,都是以字或字节为单位的。
    1. 页表
    • 系统为每个进程建立一张页表,记录页面在内存中对应的物理块号,页表大都驻留在内存中
    • 在内存中查找页表时,对比页表项的状态位,看该页是否调入了内存,若没有调入内存则产生一个缺页中断,请求外存把该页调入内存。
    1. 基本地址变换机构
    • 地址变换机构的任务是将逻辑地址转换为内存中的物理地址。
    • 在系统中设置一个页表寄存器PTR,存放页表在内存的始址和页表长度,以减少访存的消耗,提高利用率。
    • 每次访存操作都需要进行逻辑地址到物理地址的转换
    • 进程未执行时,页表的始址和长度存放在本进程的PCB中,当程序调度某进程时才将这两项信息装入到PTR中。
    • 存取一个数据需要进行两次访存:①访问页表,确定所存取数据的物理地址;②根据该地址存取数据。
    1. 具有快表的地址变换机构
    • 快表:具有并行查找能力的高速缓冲寄存器(TLB),用来存放当前访问的若干页表项。
    • 若在快表中找到匹配的块号,即所要访问的页表项在快表中,则直接从中取出该页对应的页框号,与页内偏移量拼接形成物理地址,仅需要一次访存
    • 若未找到,则访问主存中的页表,在读出页表项的同时将其存入快表,以便后续访问;如果快表已满则根据一定的规则进行替换。此过程需要两次访存
    1. 多级页表
    • 考虑页表的大小,进一步延伸页表的思想,可得到二级或多级分页。
    • 若页表划分为N级,则需要访问内存N+1次。若系统有快表,则在快表命中时,只需访问1次内存即可
    • 为查询方便,顶级页表只能有一个页面单个页表大小不得超过系统最大连续可分配单元,即单个页面的大小。PTR中只有页表的始址、长度,它默认页表是连续的,当页表大于一页时引入2级页表,同样地,2级页表超过单个页面大小,将引入三级页表。

    4.2 分段存储管理

    1. 分段:按照用户进程中的自然段划分逻辑空间,段内必须是连续的,段间不要求连续,其逻辑地址由段号S和业内偏移量W两部分组成。
      在这里插入图片描述
    2. 段表:每个进程有一张逻辑空间与内存空间映射的段表,记录段号、段长和本段在主存中的地址。
    3. 地址变换机构
    • 为了实现进程从逻辑地址到物理地址的变换功能,在系统中设置了段表寄存器,用于存放段表始址和段表长度
    • 与基本页式存储相同,进行一次数据的存取需要进行两次访存
    1. 由于自然分段,段内连续段间不连续,所以会产生外部碎片,不会产生内部碎片。
    2. 信息共享与保护:
    • 段的共享通过两个作业的段表中相应表项指向被共享的段的同一个物理副本来实现。
    • 段的保护方法主要包括存取控制保护和地址越界保护。

    4.3 段页式存储管理

    1. 分页和分段的主要区别:
    • 页是信息的物理单位,是为实现离散的分配方式目的是提高内存的利用率,仅仅是系统管理上的需要;段是信息的逻辑单位,通常包含一组意义相对完整的信息,目的一般是满足用户的需要。
    • 页的大小固定且由系统决定,直接由硬件实现;段的长度却不固定,它决定于用户编写的程序,通常根据信息的性质划分。
    • 分页的用户程序地址空间是一维的,分页是系统的行为,用户程序的地址是属于单一的线性地址空间,只需用一个记忆符表示一个地址;分段的用户程序地址空间是二维的,既需得到段名,又需得到段内地址.
    1. 在段页式系统中,其地址结构由段号、段内页号及页内地址三部分所组成
      在这里插入图片描述

    2. 在段页式系统中,为了获得一条指令或数据,须三次访存。①访问内存中的段表查到页表的起始地址;②访问内存中的页表找到页帧号,形成物理地址;③得到物理地址后,再一次访问内存,存取指令或者数据。

    3. 段页式系统的固定分配模式决定了它会产生外碎片

    展开全文
  • 存储器的层次结构 层次结构:1、主存储器:CPU只能从主存储器中得到指令和数据,但运行速度远低于CPU执行指令的速度。 2、寄存器:访问速度最快,但价格最贵 3、高速缓存:容量远大于寄存器,但比主存小两三个数量级...
  • 存储器管理

    2021-11-13 20:40:02
    存储器管理的目的 主存的分配和管理: 当用户需要内存时,系统为之分配相应的存储空间;需要时,及时回收,以供其它用户使用。 提高主存储器的利用率: 不仅能使多道程序动态地共享主存,提高主存利用率...
  • 分段式存储管理的作业空间是以段为单位的,每个段将占据一个连续的存储区域,但各段之间不必连续。这样,一个作业的各个分段在主存的情况用一个段表来记录,它指出了主存中各个分段的起始地址和长度,如下图。 段...
  • 寄存器、主存,属于操作系统存储管理的管辖范畴,断电后存储的信息存在;(这两个又称为 可执行存储器) 辅存,属于设备管理的管辖范畴,存储信息被长期保存; 主存储器:简称内存或主存,是计算机系统中的主要...
  • from《计算机操作系统》第四版 ...操作系统存储管理管辖范畴(掉电后信息存在)——可执行存储器,可用load或store进行访问 CPU寄存器 寄存器 主存 高速缓存 主存储器 磁盘缓存 设备管
  • 目录多层结构的存储系统 多层结构的存储系统 存储器一般要满足 存储器访问速度快(要跟上cpu),存储量大,价格...主存储器和子磁盘缓存均属于操作系统存储管理管理范畴 所以再掉电后他们中存储的信息就不再存在 ...
  • 磁盘存储器管理

    2021-05-23 07:45:40
    磁盘存储器是存放大量数据的理想设备,容量大,可实现随机存取。 磁盘设备是一一个相当复杂的机电设备,有专门课程来讲述。本节课只讲述磁盘性能,如:数据组织、磁盘类型、访问时间等。 1.数据的组织和格式 磁盘设备...
  • 文章目录一、分页存储管理方式1. 分页存储管理的基本方法2. 地址变换机构3. 访问内存的有效时间4. 两级和多级页表5. 反置页表二、分段存储管理方式1. 分段存储管理方式的引入2. 分段系统的基本原理3. 信息共享4. 段...
  • 【单选题】《爸爸去出差》中的爸爸是去()【判断题】县级基层支库以及国库经收处,属于预算执行审计监督的范围。【多选题】基因突变的特点( )【多选题】Photoshop 中在橡皮擦工具中可以设定以下哪些擦除选项? ( )...
  • 操作系统存储管理的范畴包括:寄存器、高速缓存、主存储器和磁盘缓存。它们存储的信息在掉电后会消失。 操作系统的存储管理,负责对可执行存储器的分配、回收以及提供在存储层次间数据移动的管理机制,如主存与磁盘...
  • 文章目录3.1 存储器管理概述3.2 分区存储管理3.2.1 单一连续分区存储管理3.2.2 固定分区存储管理3.2.3 可变分区存储管理3.3 分页存储管理3.3.1 分页存储管理3.3.2 分页存储管理的改进3.4分段存储管理3.4.1 分段存储...
  • 【解析题】违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统能正常运行,后果严重的,处() 有期徒刑或者拘役。【解析题】微型计算机、单片机和单板机是( )。【解析题】计算机...
  • 存储器管理 一、存储器的层次结构 存储器多层结构 ​ 对于通用计算机而言,存储层次至少有三级:CPU寄存器——内存——外存 ​ 更详细的分层可以为[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接...
  •  在分析了处理器调度后,接着分析存储器管理,如何对存储器进行有效的管理,直接影响着存储器的利用率和系统性能。下面,开始存储器管理的学习。 二、存储器的层次结构  2.1 主存储器  主存储器是计算机系统中...
  • 存储器和虚拟存储器

    2021-01-24 20:38:36
    文章目录程序的装入和链接连续分配方式基本分页存储管理方式基本分段存储管理方式虚拟存储器的基本概念请求分页存储器管理方式页面置换算法请求分段存储管理方式 程序的装入和链接 用户程序要在系统中运行,必须先将...
  • 4.1 存储器的层次结构 寄存器,高速缓存,主存,磁盘缓存属于操作系统管理,掉电后将不复存在。 磁盘和可移动存储介质属于设备管理,他们存储的信息将会长期保留 4.2 程序的装入和链接 一个源程序变成一个内存中...
  • 虚拟存储器

    2021-05-30 21:19:30
    虚拟存储器是指,具有调入功能和置换功能,能从逻辑上对内存的空间进行扩充的一种存储器,实际存在,逻辑容量与内存容量和外存容量的和有关系。运行速度接近内存,但是每单位成本接近外存。 1.2 作用 虚拟存储就是...
  • 简述操作系统的基本功能是什么?

    千次阅读 2021-07-12 01:58:08
    操作系统的五大管理功能: (1)作业管理包括任务、界面管理、人机交互、图形界面、语音控制和虚拟现实等; (2)文件管理:又称为信息管理; (3)存储管理:实质是对存储“空间”的管理,主要指对主存的管理; (4)...
  • 存储器应该如何分类

    2021-07-22 03:24:44
    贤集网电子元器件频道讯:根据存储材料的性能及使用方法的不同,存储器可以有各种不同的分类方法。按存储介质分类1、半导体存储器半导体存储器用半导体器件组成的存储器。特点:集成度高、容量大、体积小、存取速度...
  • 四、存储器管理 1.存储器的层次结构 在计算机执行时,几乎每一条指令都涉及对存储器的访问,因此要求对存储器的访问速度能跟得上处理机的运行速度。或者说,存储器的速度必须非常快,能与处理机的速度相匹配,否则会...
  • 课后习题---存储器管理

    千次阅读 2021-01-19 22:09:09
    可重定向装入方式:适用于多道程序,根据内存的具体情况装入模块装入到内存的适当位置【允许程序运行时在内存中移动】 动态运行时的装入方式:适用于程序在内存中的移动 何谓静态链接?静态链接时需要解决两个...
  • 【单选题】《爸爸去出差》中的爸爸是去()【判断题】县级基层支库以及国库经收处,属于预算执行审计监督的范围。【多选题】基因突变的特点( )【多选题】Photoshop 中在橡皮擦工具中可以设定以下哪些擦除选项? ( )...
  • 虚拟存储器的实现方法二、请求分页存储管理方式1. 请求分页的硬件支持2. 请求分页中的内存分配3. 页面调入策略三、页面置换算法四、“抖动”与工作集1. 多道程序度与“抖动”2. 工作集3. “抖动”的预防方法五、...
  • 了解操作系统管理内存的框架、物理地址空间和逻辑地址空间的管理方式;掌握分配和回收物理内存的方法。 实验内容与记录 3.2 通过该节步骤,回答下述两个问题: (1)EOS所管理的虚拟机的物理地址大小是多少Mbyte,其...
  • 打开考生文件夹7下的Word文档WORD1.DOC,其内容如下:【WORD1.DOC文档开始】多媒体系统的特征多媒体电脑是指能对多种媒体进行综合处理的电脑,它除了有传统的电脑配置之外,还必须增加大容量存储器、声音、图像等...
  • 存储管理的四大基本功能 1、内存分配与回收 当有作业进入系统时,存储管理模块就会根据当前内存情况来分配内存给它;当作业完成后,就会回收作业占用的内存,将这部分内存设置为可分配状态。 分配方式主要有两种: ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,953
精华内容 34,781
关键字:

存储器管理不包含的功能是

友情链接: bianyiyuanli.zip