操作系统概论-3存储器管理

合集下载

操作系统中存储器管理

操作系统中存储器管理

03
访问。
存储器管理的目标和功能
存储器管理的目标是实现高效、安全、 可靠和灵活的存储器管理。
存储器管理的基本功能包括内存分配、 内存回收、内存保护和内存扩充等。
内存分配是指根据程序的需求为其分 配所需的内存空间。
内存回收是指将不再使用的内存空间 释放出来,以便其他程序使用。
内存保护是指通过内存访问权限的设置,防止 程序访问非法内存地址,保护用户数据和程序 的安全。
03
存储器管理技术
分段存储管理
总结词
分段存储管理是一种将程序划分为若干个逻辑段,并为每个段分配一个连续的内存空间 的存储管理方式。
详细描述
分段存储管理的主要优点是方便编写程序和使用内存,因为每个段可以独立分配和释放, 提高了内存利用率。然而,它也存在一些缺点,例如内存碎片化和难以实现内存保护。
页式存储管理
BSD操作系统的内存管理
BSD使用类似于Linux的内存管理机制,包 括伙伴系统算法、内存保护和共享等。
Solaris操作系统的内存管理
Solaris采用ZFS文件系统和zones技术进行内存管 理,提供灵活的资源隔离和分配。
macOS操作系统的内存 管理
macOS使用Mach微内核架构进行内存管理 ,通过虚拟化技术实现高效的资源管理和隔 离。
通过将内存划分为不同的区域,根据不同任务的需求分配相应的 内存空间,以提高内存利用率。
内存交换
当系统内存不足时,将部分内存中的数据暂时存放到硬盘上,以 释放出更多的内存空间供其他任务使用。
内存共享
多个进程或线程可以共享同一块内存区域,以减少内存占用和提 高数据访问效率。
内存压缩技术
数据压缩
通过压缩技术将内存中的数据压缩,以减少内存占用和提高存储效 率。

2.3 存储器管理

2.3 存储器管理

2.3.1.2 程序准备执行(续)
图 程序链接
2.3.1.2 程序准备执行(续)
(2)装入时动态链接 装入时动态链接将目标模块的链接过程放在这 些目标模块装入内存的过程中完成。 装入时动态链接的优点如下: 便于模块的修改和更新 静态链接会使得系统每次修改或更新某个模块, 都要重新完成所有模块的链接。装入时动态链接, 只要模块没有装入内存,系统都可以随时修改和 更新模块。 便于实现目标模块的共享 静态链接只要有某个目标模块被多个模块共享, 会多次链接该目标模块,装入内存后,在内存中 存在共享模块的多个副本。而装入时动态链接将 共享模块只放一个版本在内存中,节约了内存, 实现了真正的模块共享。
2.3存储器管理
内存管理分为连续管理方式和离散管理方式。 连续管理方式将用户程序连续放置在内存,适合 单道程序环境。 离散管理方式将用户程序以分页或分段方式放置 在内存,适合多道程序环境。 离散分配方式也是实现虚拟存储器管理的基础。 本章针对传统存储器管理进行讲解,虚拟存储器 管理在下一章中讲述。
2.3.1.1 存储器的层次 (续)
地址空间 在操作系统中,存储器管理功能负责为进程分配 和回收内存,实现内存空间在时间和空间上的复 用,在某一进程结束或撤销后,进程的内存空间 可以由其它进程覆盖; 当内存空间占满时,通过外存与内存的对换实现 内存空间的虚拟扩充。存储器管理在提供多进程 共享内存的同时,还通过可靠的隔离机制阻止一 个进程读写另一个进程的内存,实现内存地址空 间的保护。
2.3.1.2 程序准备执行(续)
动态重定位的优点是内存的使用灵活有效, 容易实现内存的动态扩充和共享; 缺点是实现过程中需要附加硬件支持,内存 管理更加复杂。
2.3.1.3
覆盖技术

自考_操作系统概论真题第3章 存储管理

自考_操作系统概论真题第3章 存储管理

一、单项选择题7.计算机主存储器中,存储单元的编址单位是( )A.二进制位B.字节C.字D.块8.计算机系统中,存取速度最快的存储器是( )A.寄存器B.主存储器C.高速缓冲存储器D.辅助存储器9.减少可变分区存储管理中碎片的措施是( )A.增大分区长度B.增加分区数目C.采用移动技术D.减少分区长度10.可变分区存储管理中,通常分配最快的算法是( )A.最先适应分配B.最优适应分配C.最坏适应分配D.随机分配7、存储管理中的地址转换(重定位)指的是( )A、将绝对地址转换成逻辑地址B、将物理地址转换成逻辑地址C、将逻辑地址转换成绝对地址D、将物理地址转换成相对地址8、页式管理系统中,页面调度算法淘汰最近使用次数最少的算法是( )A、FIFOB、FILOC、LRUD、LFU9、可以采用静态重定位方式转换地址的管理内存方案是( )A、页式管理B、页式虚拟管理C、可变分区管理D、固定分区管理8.处理器不能..直接访问的存储器是()A.寄存器B.高速缓冲存储器C.主存储器D.辅助存储器9.断电停机后,存储信息随之消失的存储器是()A.磁盘B.磁带C.主存储器D.U盘10.处于运行状态的操作系统程序应放在()A.寄存器中B.高速缓冲存储器中C.主存储器中D.辅助存储器中8.价格昂贵、存取速度最快,但容量较小的存储器是()A.寄存器B.高速缓冲存储器C.主存储器D.辅助存储器9.程序状态字寄存器是属于()A.指令寄存器B.通用寄存器C.控制寄存器D.时钟寄存器10.处理器中仅设置一个界限寄存器的存储管理方式是()A.页式存储管理B.可变分区存储管理C.固定分区存储管理D.单用户连续存储管理7、处理器不能..直接访问的存储器是()A、寄存器B、高速缓冲存储器C、主存储器D、光盘)A、256和65536B、255和65535C、256和65535D、255和655369、页式存储管理中,作业运行时,该作业的页表是放在()A、磁盘B、主存系统区C、主存用户区D、用户程序7.可用来长期存储大量信息的存储器是( )A.寄存器B.高速缓冲存储器C.主存储器D.辅助存储器8.可变分区存储管理的主存分配算法中,查找次数最少的是( )A.随机适应分配算法B.最先适应分配算法C.最优适应分配算法D.最坏适应分配算法9.页式存储管理中,作业运行时,该作业的页表是放在( )A.磁盘中B.主存系统区中C.主存用户区中D.用户程序中7.基址寄存器和界限寄存器是属于()A.指令寄存器B.通用寄存器C.控制寄存器D.时钟寄存器8.存储管理实际管理的是()A.辅助存储器B.全部主存储器C.主存储器中的用户区D.主存储器中的系统区9.页式存储管理中,若不使用快表,则采用二级页表时,每访问一个操作数要访问主存()A.1次B.2次C.3次D.4次10.存储介质上可连续存储信息的一个区域称为“块”,下列关于“块”的错误..概念是()A.块是主存储器与存储设备进行信息交换的逻辑单位B.每次交换总是交换一块或整数块信息C.存储设备的类型是决定块的大小的因素之一D.信息传输的效率是决定块的大小的因素之一7.下列存储设备中,存取速度最快的是( )A.RAMB.硬盘C.光盘D.U盘8.对页式管理中页表的描述,正确的是( )A.页表主要指出主存中块号与磁盘中块号的对应关系B.每个作业的页表长度是固定的,由操作系统指定C.每个作业的页表长度是不同的,由作业所占页的多少而定D.每个作业的页表长度是不同的,由用户事先指定9.存储管理实际上是管理( )A.主存中的操作系统部分B.主存中的用户区域C.整个主存储器D.主存和辅存7.主存储器中,存储单元通常使用的编址单位是A.字B.字节C.块D.二进制位8.处理器中设置有上限寄存器和下限寄存器的存储管理是A.单用户连续B.固定分区C.可变分区D.页式虚拟9.关于虚拟存储器技术的概念,不正..确.的是采用该技术时A.允许用户的逻辑地址空间大于主存的绝对地址空间B.用户的逻辑地址空间的大小由计算机的地址结构和磁盘容量决定C.比较适用于大型作业的运行D.比较适用于多个小型作业的运行7、某一主存储器容量为1M的计算机,分割成4K的等长块。

操作系统教程 第3章存储器管理

操作系统教程  第3章存储器管理

(2)如果无阻塞进程,则选择优先级低的就绪进程。
换入进程的选择: 当有空闲内存时,便执行进程的换入操作。 首先选择“就绪且换出”状态的进程换入,如果存在 多个,则选择换出时间最久的进程。
3.4.6 可变分区存储管理举例
【例 3-2】主存有两个空闲区 F1 、 F2 如图所示。 F1 为 220KB , F2为 120KB,另外依次有 J1 、 J2、 J3三个作业请求加 载 运 行 , 它 们 的 主 存 需 求 量 分 别 是 40KB 、 160KB 、 100KB,试比较最先适应算法、最优适应算法和最坏适应 算法的性能。
高速缓存(cache)
高速缓存是现代计算机结构中的一个重要部件。 ★ 有些cache由硬件实现 如,指令cache,用于暂存下一条欲执行的指令,纯硬 件cache不需要os控制。 ★ 有些cache由程序员、编译系统和os实现 如,快表。 在采用cache的系统中,要注意解决数据的一致性问题 。因为这时数据可能出现在不同的层次上。在多处理机的 环境中,情况会更复杂。
不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存空间
的扩充。
寄存器 高速缓存 主存储器 磁盘缓存 固定磁盘 可移动存储介质
存储管理
设备管理
寄存器访问速度最快且最昂贵,它容量小,以字( word)为单位。一个计算机系统可能包括几十个至上百 个寄存器,用于提高存储访问速度。比如,用寄存存放操 作数,或用地址寄存器加快地址转换速度。 高速缓存的容量稍大,速度快于主存,利用它存放主 存中马上要访问的指令,可大大提高执行速度。主存的速 度为1µ s,高速缓存为0.1µ s。 要执行的程序必须先装入主存,根据局部性原理,只 要将程序的一部分装入主存就可以执行,其余部分放在磁 盘缓存。

操作系统原理教程 第3章 存储器管理

操作系统原理教程  第3章  存储器管理

第3章 存储器管理
3.1
3.1.3
存储器管理概述
程序的装入与链接
1.源程序的执行过程 在多道程序环境下,程序要运行必须先将程序和数据装入主 存。那么,如何将一个用户源程序变为一个在主存中可执行的程 序呢?通常需要经过编译、链接和装入等几个步骤,其控制步骤
如图3-1所示。
第3章 存储器管理
3.1
3.1.3
第3章 存储器管理
3.2 单用户连续存储管理方式
3.2.4 管理特点
(1)管理简单。它把主存分为两个区,用户区一次只 能装入一个完整的作业,且占用一个连续的存储空间。 它需要很少的软硬件支持,且便于用户了解和使用。 (2)在主存中的作业不必考虑移动的问题,并且主存 的回收不需要任何操作。 (3)资源利用率低。不管用户区有多大,它一次只能 装入一个作业,这样就造成了存储空间的浪费,使系统 整体资源利用率不高。 (4)这种分配方式不支持虚拟存储器的实现。
第3章 存储器管理
3.1
3.1.2
存储器管理概述
存储器管理的主要功能
3.主存空间的共享与保护 在多道程序设计系统中,同时进入主存执行的作业可能需要 调用相同的程序或数据,这就是主存的共享。例如,调用编译程 序进行编译,把这个编译程序存放在某个区域中,各作业要调用 时就访问这个区域,因此这个区域就是共享的。同样也可以实现 公共数据的共享。 在实现主存分配与共享时,必须解决主存中信息的保护问题。 存储保护的工作一般由硬件和软件配合实现。 4.主存空间的扩充 提供虚拟存储器的管理功能,使用户编写程序时不必考虑主 存的实际容量,使计算机系统有一个比实际主存容量大得多的存 储空间。这样就可以运行较多的程序和较大的程序。
1.主存空间的分配 (1)系统区是仅提供给操作系统使用的主存区,它可以以驻留在 主存的低地址部分,也可以驻留在主存的高地址部分。 (2)用户区是指除系统区以外的主存空间,提供给用户使用。 在这种管理方式下,主存分配的流程如图3-5所示。

操作系统实验报告三存储器管理实验

操作系统实验报告三存储器管理实验

操作系统实验报告三存储器管理实验操作系统实验报告三:存储器管理实验一、实验目的本次存储器管理实验的主要目的是深入理解操作系统中存储器管理的基本原理和方法,通过实际操作和观察,掌握内存分配与回收的算法,以及页面置换算法的工作过程和性能特点,从而提高对操作系统资源管理的认识和实践能力。

二、实验环境本次实验使用的操作系统为 Windows 10,编程语言为 C++,开发工具为 Visual Studio 2019。

三、实验内容1、内存分配与回收算法实现首次适应算法(First Fit)最佳适应算法(Best Fit)最坏适应算法(Worst Fit)2、页面置换算法模拟先进先出页面置换算法(FIFO)最近最久未使用页面置换算法(LRU)时钟页面置换算法(Clock)四、实验原理1、内存分配与回收算法首次适应算法:从内存的起始位置开始,依次查找空闲分区,将第一个能够满足需求的空闲分区分配给进程。

最佳适应算法:在所有空闲分区中,选择能够满足需求且大小最小的空闲分区进行分配。

最坏适应算法:选择空闲分区中最大的分区进行分配。

2、页面置换算法先进先出页面置换算法:选择最早进入内存的页面进行置换。

最近最久未使用页面置换算法:选择最近最长时间未被访问的页面进行置换。

时钟页面置换算法:给每个页面设置一个访问位,在页面置换时,从指针指向的页面开始扫描,选择第一个访问位为0 的页面进行置换。

五、实验步骤1、内存分配与回收算法实现定义内存分区结构体,包括分区起始地址、大小、是否已分配等信息。

实现首次适应算法、最佳适应算法和最坏适应算法的函数。

编写测试程序,创建多个进程,并使用不同的算法为其分配内存,观察内存分配情况和空闲分区的变化。

2、页面置换算法模拟定义页面结构体,包括页面号、访问位等信息。

实现先进先出页面置换算法、最近最久未使用页面置换算法和时钟页面置换算法的函数。

编写测试程序,模拟页面的调入和调出过程,计算不同算法下的缺页率,比较算法的性能。

操作系统 存储器管理

操作系统 存储器管理

操作系统存储器管理在计算机系统中,操作系统的存储器管理是一项至关重要的任务。

它就像是一位精明的管家,负责合理地分配和管理计算机的内存资源,以确保各个程序能够高效、稳定地运行,同时避免出现资源浪费和冲突的情况。

要理解存储器管理,首先得明白什么是存储器。

简单来说,存储器就是计算机用于存储数据和程序的地方。

它就像一个巨大的仓库,里面存放着各种各样的“货物”(数据和程序)。

而操作系统的存储器管理功能,就是要确保这些“货物”能够被妥善地存放和取出,并且在需要的时候能够快速找到。

在存储器管理中,有几个关键的概念需要了解。

首先是地址空间。

每个程序在运行时,都认为自己拥有一个从0 开始的连续的地址空间。

但实际上,这些地址是虚拟的,通过操作系统的映射,才能对应到实际的物理存储器地址。

这就好比每个租客都认为自己住在从 1 号开始的连续房间,但实际上房东会根据实际情况进行分配。

接下来是分页和分段。

分页是将存储器空间划分成固定大小的页,分段则是根据程序的逻辑结构将其划分成不同的段。

分页的好处是管理简单,易于分配和回收内存;分段则更符合程序的逻辑结构,方便程序的编写和理解。

那么,操作系统是如何进行存储器管理的呢?首先是内存分配。

当一个程序需要运行时,操作系统会为其分配一定的内存空间。

这就像是给租客分配房间,要根据租客的需求和房屋的空闲情况来决定。

分配的策略有很多种,比如最先适配法、最佳适配法和最差适配法等。

最先适配法就是从内存的开头开始查找,找到第一个足够大的空闲区域就分配给程序。

这种方法简单快捷,但容易导致内存碎片的产生。

最佳适配法会查找整个内存空间,找到大小最接近程序需求的空闲区域进行分配。

这种方法可以减少内存碎片,但查找的时间较长。

最差适配法则是选择最大的空闲区域进行分配,虽然可以避免产生太小而无法使用的碎片,但可能会导致大的程序无法得到足够的内存。

内存回收也是存储器管理的重要环节。

当一个程序结束运行或者释放了一部分内存时,操作系统需要将这些内存回收,以便再次分配给其他程序使用。

《操作系统》教学课件 项目三 存储器管理

《操作系统》教学课件 项目三 存储器管理

区号 1 2 3 4 …
固定分区分配表
大小 起始地址
8KB
16KB
16KB
24KB
32KB
40KB
64KB
72KB


状态 J1 0 J2 0 …
0 16KB
24KB 40KB
操作系统区 作业J1
作业J2
72KB
136KB
内存空间
因为在作业装入之前,主存中的分区大小和个数已经确定,也就是说分 区分配表的记录个数是确定的。所以,分区分配表一般采用顺序存储方式, 即用数组存储。
内存由用户独占,不可能存在受其他用户程序干扰的问题;
可能出现的破坏行为也只是由用户程序自己去破坏操作系统,其后果并不严重, 只是影响该用户程序的运行;
用户程序也很容易通过系统的再启动而重新装入内存。
三 分区存储管理方式
具体内容
一、固定分区存储管理方式 二、可变分区存储管理方式 三、紧凑技术
一、固定分区存储管理方式
例1:在某系统中采用固定分区分配管理方式,内存分区情况如左图所
示。现有大小为1KB,9KB,33KB,121KB的多个作业要求进入内存,试画出它 们进入内存后的空间分配情况,并说明内存浪费有多大?
解析:采用固定分区存储管理方式,作业进入系统后的分配情况如右
图所示,内存浪费512KB-20KB-(1KB+9KB+33KB+121KB)=328KB。
具体实现是在硬件支持下,软件、硬件相互合作,将内存和外存结合起 来统一使用。通常是借助虚拟存储技术。
三、地址变换
1. 逻辑地址
用户源程序经过编译后的每个目标模块都以0为基地址顺序编址,这种地 址称为逻辑地址,也称为相对地址。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
3.2重定位 重定位
程序的装入 可重定位装入方式(Relocation Loading Mode) 二、可重定位装入方式 亦称静态地址重定位) (亦称静态地址重定位)
优点: 优点:实现简单,不需要硬件的支持。 缺点: 缺点:程序一旦装入内存,移动就比较困难。有时间上的浪费。在程序 装入内存时要将所有访问内存的地址转换成物理地址。
6
ቤተ መጻሕፍቲ ባይዱ 3.2重定位 重定位
程序的逻辑结构
程序地址:用户编制程序时所用的地址(或称相对地址、逻辑地址 、虚 地址)。源程序经过汇编或编译后再经过链接形成程序的装配模块形式 ,即转换为相对地址编址形式,它是以0为基址顺序进行编址的。 程序地址空间(相对地址空间、逻辑地址空间、虚地址空间):是逻辑地 址的集合,它的编址总是从0开始的,可以是一维线性空间,也可以是 多维空间。
11
F function1(){ ... } M-1
L+F function1(){ ... } L+M-1
3.2重定位 重定位
程序的链接 2.装入时动态链接(dynamic装入时动态链接(dynamic 2.装入时动态链接(dynamic-linking)
将编译后所得的一组目标模块,在装入内存时边装入边 进行链接。即在装入一个目标模块时,若发生一个外部模块 调用事件,将引起装入程序去找出相应的外部目标模块,并 将它装入内存,以及修改目标模块中的相对地址。 通常被链接的共享代码称为动态链接库(DLL, DynamicLink Library)或共享库(shared library)。
14
缺点:
– 链接开销:增加了程序执行时的链接开销; – 管理开销:程序由多个文件组成,增加管理复杂度。
3.2重定位 重定位
程序的装入 绝对装入方式(Absolute Loading Mode) 一、绝对装入方式
绝对装入程序按照装入模块中的逻辑地址,将程序和数 据装入内存。装入模块被装入内存后,由于装入模块 中的逻辑地址与实际物理地址完全相同,因此不须对 程序和数据的地址进行修改。 优点:装入过程简单,不需要硬件的支持。 缺点:
存储器分成三个层次
4
寄存器 处理机能直接访问的存 储器。存取速度最快, 但容量小,一般每个寄 存器只能存储一个字长 的信息。用来存放临时 的工作数据和控制信息 。常用的寄存器主要有 :指令寄存器、通用寄 存器、控制寄存器等。
主存储器(内存、主存) 主存储器(内存、主存) 辅助存储器(外存、辅存) 处理机能直接访问的存储 处理机不能直接访问的存 器。存储容量较大,存取 储器。存储容量很大,可 速度也较快,存储单元以 用来长期保存用户信息( 字节为单位进行编址。用 如程序、数据、执行的结 来存放系统和用户的程序 果等),但处理器不能直 和数据,其存储方式是以 接读/写辅助存储器上的 新换旧,断电信息丢失。 信息,必须在输入输出控 制系统的管理下,才能够 高速缓冲存储器 处理机能直接访问的存储 使辅助存储器与主存之间 相互传送信息。 器。存取速度快于主存, 存储容量较小。用来存放 主存中经常要被访问的信 寄存器不存在分配问题,但主存和辅存中经常存放多个程序 息。 和数据,会发生竞争的现象,因此要合理的分配和使用。
由装入程序根据内存中当前的实际使用情况将装入模块装入到内存 中某个适当位置。在程序装入内存时完成从逻辑地址到物理地址的 转换。即装入程序将程序中的逻辑地址与本程序在内存中的起始地 址相加得到正确的物理地址,将程序和数据装入内存。 由于程序中的逻辑地址是从0开始编址的,因此需要对程序中指令 和数据的地址进行修改,这种由于一个作业装入到与其逻辑地址空 间不一致的绝对地址空间,使得逻辑地址与绝对地址不同,而引起 的对有关地址部分的调整,即逻辑地址转换成绝对地址的过程称为 重定位,也称为地址转换 地址转换。 重定位 地址转换 可重定位装入方式是在装入一个作业的时候,把作业中的指令地址 和数据地址全部一次性地转换成绝对地址,以后不再改变。故称为 静态地址重定位。 静态地址重定位
只能将装入模块装入到内存中事先指定的位置,因此只能用于 单用户、单任务的操作系统,不适于多道程序系统(此环境下, 编译程序不可能预知所编译的目标模块应放在内存的何处)。 装入模块在系统中是不能做任何移动的,否则就会出错。
15
3.2重定位 重定位
程序的装入 可重定位装入方式(Relocation Loading Mode) 二、可重定位装入方式 亦称静态地址重定位) (亦称静态地址重定位)
13
3.2重定位 重定位
程序的链接 动态链接的优缺点
优点:
– 共享:多个进程可以共用一个DLL,节省内存,减少文件交换。 – 部分装入:一个进程可以将多种操作分散在不同的DLL中实现,而 只将当前操作相应的DLL装入内存。 – 便于局部代码修改:即便于代码升级和代码重用;只要函数的接口 参数(输入和输出)不变,则修改函数及其DLL,无需对可执行文 件重新编译或链接。 – 便于运行环境适应:调用不同的DLL,就可以适应多种使用环境和 提供不同功能。如:不同的显示卡只需厂商为其提供特定的DLL, 而OS和应用程序不必修改。
5
3.2重定位 重定位
内存的物理组织
物理地址: 把内存分成若干个大小相等的 存储单元,每个单元给一个编号 ,这个编号称为内存地址(物理 地址、绝对地址 、 实地址), 存储单元占8位,称作字节(byte )。 物理地址空间: 物理地址的集合称为物理地址 空间(主存地址空间),它是一 个一维的线性空间。
3.2重定位 重定位
10
程序的链接
根据链接时间的不同,可把链接分成如下三种: 1. 静态链接(static-linking) 2.装入时动态链接(dynamic-linking) 3. 运行时动态链接(dynamic-linking)
3.2重定位 重定位
程序的链接 静态链接(static (static1. 静态链接(static-linking)
操作系统概论
1
第三章 存储管理
主要内容
3.1 计算机系统中的存储器 3.2 重定位 3.3 单用户连续存储管理 3.4 固定分区存储管理 3.5 可变分区存储管理 3.6 页式虚拟存储管理
2
3.1 计算机系统中的存储器
存储器 storage, memmory
寄存器
3
能接收数据和保存数据、而且能根据命令提供这些数据的装置
3.2重定位 重定位
程序的装入 动态运行时装入方式( RunLoading) 三、动态运行时装入方式(Dynamic Run-Time Loading) 亦称动态地址重定位) (亦称动态地址重定位)
19
3.2重定位 重定位
程序的装入 动态运行时装入方式( RunLoading) 三、动态运行时装入方式(Dynamic Run-Time Loading) 亦称动态地址重定位) (亦称动态地址重定位)
7
3.2重定位 重定位
程序的逻辑结构
8
物理存储器的结构是个一维的线性空间,容量是有限的。 用户程序结构: 一维空间 一个用户程序就是一个程序,并且程序和数据是不分离的; 二维空间 程序由主程序和若干个子程序(或函数)组成,并且程序 与数据是分离的; n维空间 即一个大型程序,由一个主模块和多个子模块组成,其中 维空间 ,各子模块又由主程序和子程序(或函数)组成。 用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要 大得多。
存储器
主存储器和高速缓冲存储器
辅存(外存)硬盘、光盘、磁带、软盘 存储器的层次结构 寄存器(register) 系统区 (OS标准子程序)
命令处理程序 DOS核心 内存(primary storage)
高速缓存(cache) 外存(secondary storage)
主 存
用户区(用户程序、数据)
3.1 计算机系统中的存储器
17
3.2重定位 重定位
程序的装入 动态运行时装入方式( RunLoading) 三、动态运行时装入方式(Dynamic Run-Time Loading) 亦称动态地址重定位) (亦称动态地址重定位)
18
在程序运行时完成从逻辑地址到物理地址的转换, 在程序运行时完成从逻辑地址到物理地址的转换,靠硬件地址变换机 构实现。 构实现。即装入程序在把程序(装入模块)装入内存后,并不立即把程 序中的逻辑地址转换为物理地址,而是把这种地址转换推迟到程序真 正要执行时才进行。 最简单的办法是利用一个基址(重定位)寄存器。在程序实际运行前, 基址(重定位)寄存器 基址 由操作系统把程序在内存的起始地址送入基址寄存器。在程序运行期 间,凡遇到访问内存的操作,就由硬件机制自动地把用户程序的逻辑 地址与基址寄存器的内容相加,其和就是实际访问内存的有效地址。 动态重定位是由软件和硬件相配合来实现的。地址重定位不再是 所谓动态重定位 动态重定位 装入的时候一次完成了,而是设置一个基址寄存器,装入作业的时候 ,将作业在主存区域的首地址放入到基址寄存器中。作业执行的时候 ,由硬件的地址转换机构动态地对地址进行转换,执行指令的时候, 只要将逻辑地址加上基址寄存器的内容,就得到了绝对地址。
3.1 计算机系统中的存储器
存储管理的功能
对主存储器中的用户区域进行管理,包括: 对主存储器中的用户区域进行管理,包括: (1)地址转换 地址映射、地址重定位) (1)地址转换 (地址映射、地址重定位) 把程序的逻辑地址变换为存储器 的物理地址的过程 。地址转换的方式有静态重定位和动态重定位。 (2)主存空间的分配与回收 为多个程序分配内存空间,各程序在规定的 (2)主存空间的分配与回收 那一部分内存空间里运行。程序运行完毕时,回收相应的内存空间。 (3)主存空间的共享与保护 (3)主存空间的共享与保护 对OS以及各用户的信息提供保护措施。 主存空间的 (4)主存空间的的扩充(提供虚拟存储技术) (4)主存空间的的扩充(提供虚拟存储技术) 使用户程序的大小和结构 主存空间的的扩充 不受主存容量和结构的限制,即使在用户程序比实际主存容量还要大 的情况下,程序也能正确运行。 存储器管理的基本目的是:①充分发挥内存的利用率;②为用户使用存储 存储器管理的基本目的 器提供方便。
相关文档
最新文档