操作系统考研资料:第五章 存储器管理学习辅导资料
计算机操作系统考研辅导第五章
3、I/O通道 、 通道 (1)引入 ) (2)通道类型:字节多路通道、数组选择通道、数组多路通道。 )通道类型:字节多路通道、数组选择通道、数组多路通道。 注意:哪种类型的通道可以连接哪种类型的设备。 注意:哪种类型的通道可以连接哪种类型的设备。 (3)瓶颈问题: )瓶颈问题: 4、总线系统 、 (1)ISA(16位):80286 连接12台设备,传输速率16MB/S ) ( 位): 连接 台设备,传输速率 台设备 连接12台设备 (2)EISA(32位):连接 台设备,速率 ) ( 位):连接 台设备,速率32MB/S 专为486,不能支持 (3)VESA(32位):专为 ) ( 位):专为 ,不能支持Pentium,速率 ,速率132 连接10台 速率512 (4)PCI(64位):连接 台,速率 ) ( 位):连接
四个层次 (1)用户层软件:实现与用户程序链接在一起的I/O库函 )用户层软件:实现与用户程序链接在一起的I 库函 以及在操作系统核心外运行的程序( 数,以及在操作系统核心外运行的程序(如Spooling系统 系统 的守护进程) 的守护进程) (2)设备独立性软件:负责实现适用于所有设备的公用操 )设备独立性软件: 并向用户层软件提供一个统一的接口。 作,并向用户层软件提供一个统一的接口。实现与设备驱 动器的统一接口 (3)设备驱动程序:与硬件直接相关,负责具体实现系统 )设备驱动程序:与硬件直接相关, 对设备发出的操作命令,驱动I/O设备工作的驱动程序 设备工作的驱动程序。 对设备发出的操作命令,驱动 设备工作的驱动程序。 接收到因I/O操作结束而发出 (4)中断处理程序:当CPU接收到因 操作结束而发出 )中断处理程序: CPU接收到因 中断时,CPU将转入相应的中断处理程序进行I/O 的I/O中断时,CPU将转入相应的中断处理程序进行 中断时,CPU将转入相应的中断处理程序进行 善后处理。 善后处理。
考研操作系统讲义5设备管理
考研操作系统讲义5设备管理
图 5-10 利用缓冲寄存器实现缓冲
考研操作系统讲义5设备管理
5.3.2 单缓冲和双缓冲
1. 单缓冲(Single Buffer)
图
5-11
单缓冲工作示意图 考研操作系统讲义5设备管理
2. 双缓冲(Double Buffer)
考研操作系统讲义5设备管理
2. 局部总线(Local Bus) 1) VESA(Video Electronic Standard Association)总线 2) 2) PCI(Peripheral Component Interface)
考研操作系统讲义5设备管理
5.2 I/O控制方式
5.2.1 程序I/O方式
3. 进程同步 (1) Nexti指针追赶上Nextg指针。 (2) (2) Nextg指针追赶上Nexti指针。
考研操作系统讲义5设备管理
5.3.4 缓冲池(Buffer Pool)
1. 缓冲池的组成
1. 缓冲池的组成
对于既可用于输入又可用于输出的公用缓冲池, 其中 至少应含有以下三种类型的缓冲区:① 空(闲)缓冲区; ② 装满输入数据的缓冲区; ③ 装满输出数据的缓冲区。 为了 管理上的方便,可将相同类型的缓冲区链成一个队列,于是 可形成以下三个队列:
在程序I/O方式中,由于CPU的高速性和I/O设备的低速 性, 致使CPU的绝大部分时间都处于等待I/O设备完成数据 I/O的循环测试中, 造成对CPU的极大浪费。在该方式中, CPU之所以要不断地测试I/O设备的状态,就是因为在CPU 中无中断机构, 使I/O设备无法向CPU报告它已完成了一个 字符的输入操作。
计算机操作系统第五章设备管理复习资料
第五章设备管理(一)简答题1、为什么要在设备管理中引入缓冲技术?解:缓冲技术是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。
在OS的设备管理中,引入缓冲技术的主要原因可归结为以下几点。
(1)缓和CPU与I/O设备间速度不匹配的矛盾。
一般情况下,程序的运行过程是时而进行计算,时而进行输入或输出。
以打印机输出为例,如果没有缓冲,则程序在输出时,必然由于打印机的速度跟不上而使CPU停下来等待;然而在计算阶段,打印机又无事可做。
如果设置一个缓冲区,程序可以将待输出的数据先输出到缓冲区中,然后继续执行;而打印机则可以从缓冲区取出数据慢慢打印。
(2)减少中断CPU的次数。
例如,假定设备只用一位二进制数接收从系统外传来的数据,则设备每接收到一位二进制数就要中断CPU一次,如果数据通信速率为9.6Kb/s,则中断CPU的频率也是9.6KHz,即每100us就要中断CPU一次,若设置一个具有8位的缓冲寄存器,则可使CPU被中断的次数降低为前者的1/8。
(3)提高CPU和I/O设备之间的并行性。
由于在CPU和设备之间引入了缓冲区,CPU可以从缓冲区中读取或向缓冲区写入信息,相应地设备也可以向缓冲区写入或从缓冲区读取信息。
在CPU工作的同时,设备也能进行输入输出操作,这样,CPU和I/O设备就可以并行工作。
2、引入缓冲的主要原因是什么?P155【解】引入缓冲的主要原因是:●缓和CPU和I/O设备速度不匹配的矛盾;●减少对CPU的中断频率,放宽对中断响应时间的限制●提高CPU和I/O设备之间的并行性。
3、请简述为什么要在核心I/O子系统中要引入缓冲机制(Buffering)。
答:引入缓冲的主要原因:(1)缓和CPU与I/O设备间速度不匹配的矛盾。
(2)减少对CPU的中断频率,放宽对中断响应时间的限制。
(3)提高CPU与I/O设备之间的并行性。
4、简述SPOOLing(斯普林)系统的工作原理。
解:多道程序并发执行后,可利用其中的一道程序来模拟脱机输入时外围控制机的功能,将低速I/O设备上的数据传送到高速磁盘上;再利用另一道程序来模拟脱机输出时外围控制机的功能,将高速磁盘上的数据传送到输出设备上,这样就可以在主机的直接控制下,实现脱机输入、输出操作,这时外围操作与CPU对数据的执行同时进行。
操作系统原理与实践教程第二版第5章:存储管理
根据具体功能还可以细分为寄存器、高速缓存、 主存储器、磁盘缓存、辅存储设备(固定磁盘、可 移动存储介质)5层。
CPU寄存器
寄存器
高速缓存
主存
主存
磁盘缓存
辅存
磁盘 可移动存储介质
2
5.1 存储管理的概念
操作系统的存储管理负责对存储器空间的分配、 回收以及提供存储层次间数据移动的管理机制。
例如主存与磁盘缓存、高速缓存与主存间的数据 移动等。
3. 链接阶段
➢ 将编译或汇编后得到的一组目标模块以及它们所需的库函数 装配成一个完整的装入模块的过程就是程序的链接阶段。根 据链接时间的不同,链接可分为三种: (1) 静态链接。在程序运行之前,先将各目标模块及它们所 需的库函数,链接成一个完整的装配模块,以后不再拆开。 (2) 装入时动态链接。用户源程序编译后得到的一组目标模 块,在装入内存时,采用边装入边链接的链接方式,即在装 入一个目标模块时,若发生一个外部模块调用事件,将引起 装入程序去找出相应的外部目标模块,并将它装入内存。 (3) 运行时动态链接。对某些目标模块的链接,是在程序执 行中需要该模块时,才对它进行链接。运行时动态链接是装 入时动态链接方式的一种改进,即在执行过程中,当发现一 个被调用模块尚未装入内存时,立即由系统去找到该模块并 将之装入内存,把它链接到调用模块上。
2. 编译阶段
➢ 计算机只能识别二进制语言,所以源程序文件不能 直接在计算机上运行,必须经过编译软件的编译, 形成相应的二进制目标代码后才能被计算机识别。 通常,用户程序的执行需要经过编译阶段,由初始 的文本文件(file1.c)变成CPU可以识别的一系列二 进制代码文件(file1.o)。
9
5.1.2 程序的运行过程
某个位置; (3)用来读写数据到计算机的外围设备。
2024版《操作系统第五章》ppt课件
云计算、大数据等新技术对操作系统影响
要点一
云计算对操作系统的影响
要点二
大数据对操作系统的影响
云计算是一种基于互联网的计算方式,它将计算资源和服务 以虚拟化的形式提供给用户。云计算对操作系统提出了新的 要求,如支持虚拟化技术、提供弹性资源调度、保障数据安 全性等。
大数据是一种基于海量数据的存储和处理技术,它要求操作 系统能够提供高效的数据存储、管理和处理能力。为了适应 大数据的需求,操作系统需要采用一系列优化技术,如分布 式文件系统、内存数据库等,提高数据处理效率和可靠性。 同时,还需要加强对数据安全和隐私的保护。
要点二内 地址两部分组成。
要点三
内存分配
在为进程分配内存时,以块为单位将进 程中的若干个页分别装入到多个可以不 相邻接的物理块中。
分段存储管理方式
基本原理
地址结构
分段存储管理方式是按照用户进程中的 自然段划分逻辑空间。例如,用户进程 由主程序、两个子程序、符号表、栈和 一组数据组成,于是可以把这个用户进 程划分为5个段,每一段的起始地址由 用户给出。
进程通信
指进程之间的信息交换。进程是分配系统资源的单位(包括内存地址空间),因此 各进程拥有的内存地址空间相互独立。为了保证安全,一个进程不能直接访问另一 个进程的地址空间。但是进程之间的信息交换又是必须实现的。
03
CATALOGUE
内存管理
内存基本概念及原理
01
内存定义
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机
中断技术原理及应用
01
中断技术应用
02
实现多道程序并发执行。
03
实现实时处理。
计算机操作系统 教学课件 第五章 存储器管理
02:59:43
BACK 返回本节目录 NEXT
10
整个计算机系统的功能很大程度上取决于主存储 器的结构组织和实现方法,就主存的功能而言,首先 是存放系统和:43
BACK 返回本节目录 NEXT
11
信息在主存是按“位”存放的。为了能对信息进 行访问,要对这些位置进行编号,这些编号称为地 址。
以什么为单位进行编址呢?早期的计算机中,存 储器是按字组织,每个字分配一个地址。
目前多数计算机以字节为单位进行编址。
02:59:43
BACK 返回本节目录 NEXT
12
为了更多的存放并更快地处理用户信息,目前许 多计算机把存储器分为三级(高速缓冲存储器、主存储 器和外部存储器),用户的程序在运行时应存放在主存 中。所以把那些不马上使用的程序、数据放在外部存 储器(又称次级存储)中。当用到时再把它们读入主存。
02:59:43
返回本章目录
8
存储器管理
主存储器(又称内部存储器,处理机存储器), 存储器管理,讨论的主要对象就是主存储器。
02:59:43
BACK 返回本节目录 NEXT
9
许多操作系统之间最明显的区别特征之一是所使 用的存储管理方法不同。
主存储器管理技术分为两大类: 实存储器管理和虚拟存储器管理。 本章研究常用的几种实存储管理技术。
02:59:43
BACK 返回本节目录 NEXT
22
02:59:43
BACK 返回本节目录 NEXT
23
二、可重定位装入方式relocatable loading mode
02:59:43
BACK 返回本节目录 NEXT
24
可重定位装入程序,根据内存的当前使用情况, 将程序装入到内存的某个位置,把有效地址(相对地址) 与本程序在内存中的起始地址相加,得到正确的物理 地址。
计算机操作系统考研辅导讲义(第4、5章)
四、文件管理4.1 考试大纲(一)文件系统基础1.文件概念2.文件结构顺序文件;索引文件;索引顺序文件3.目录结构文件控制块和索引结点;单级目录结构和两级目录结构;树形目录结构。
4.文件共享共享动机;共享方式;共享语义。
5.文件保护访问类型;访问控制。
(二)文件系统实现1.文件系统层次结构2.目录实现3.文件实现(三)磁盘组织与管理1.磁盘的结构2.磁盘调度算法3.磁盘的管理4.2 知识点归纳4.2.1 文件系统基础文件系统的管理功能是通过把它所管理的程序和数据组织成一系列文件的方法来实现的。
而文件是指具有文件名的若干相关元素的集合。
元素通常是记录,而记录又是一组有意义的数据项的集合。
基于文件系统的概念,可以把数据组成分为数据项、记录和文件三级。
一、文件概念1、数据项在文件系统中,数据项是最低级的数据组织形式,可把它分成以下两种类型:(1)基本数据项。
用于描述一个对象的某种属性的字符集,是组织中可以命名的最小逻辑数据单位,即原子数据。
(2)组合数据项。
它是由若干基本数据项组成的。
简称组项。
基本数据项除了数据名外,还应有数据类型。
2、记录记录是一组相关数据项的集合,用于描述一个对象在某方面的属性。
一个记录应包含哪些数据项,取决于需要描述对象的哪个方面。
而在诸多记录中,为了能唯一地标识一个记录,必须在一个记录的各个数据项中,确定出一个或几个数据项,把它们的集合称为关键字。
3、文件文件是由创建者所定义的、具有文件名的一组相关元素的集合,可分为有结构文件和无结构文件两种。
在有结构的文件中,文件由若干个相关记录组成;而无结构的文件则被看成是一个字符流。
文件在文件系统中是一个最大的数据单位。
此外,文件应具有自己的属性,属性可以包括:文件类型、文件长度、文件的物理位置、文件的建立时间等。
二、文件结构文件是由一系列的记录组成的。
文件系统设计的关键要素,是将这些记录构成一个文件的方法,以及将一个文件存储到外存上的方法。
计算机操作系统_复习_存储器管理
共享与保护
分段易于实现段的共享,即允许若干个进程共享一个 或多个分段
段的共享,是通过不同作业段表中的项指向同一个段 基址来实现
几道作业共享的例行程序就可放在一个段中,只要让 各道作业的共享部分有相同的基址/限长值
对共享段的信息必须进行保护
段页式存储管理
主程序段
子程序段 数据段
段式、段页式(习题)
分区存储分配(习题)
1.分区式存储管理方式中,每个程序( B ) A、一定在分区中连续,可部分存放 B、一定在分区中连续,整体存放 C、可以在分区中不连续,整体存放 D、可以在分区中连续,部分存放
分区存储分配(习题)
2.在可变式分区分配方案中,某一作业完成后系统收回其 主存空间,并与相邻空闲区合并,为此需修改空闲区表, 造成空闲数减1的情况是( D ) A、无上邻空闲区,也无下邻空闲区 B、有上邻空闲区,但无下邻空闲区 C、有下邻空闲区,但无上邻空闲区 D、有上邻空闲区,也有下邻空闲区
换出 换入
进程(程序或数据)
内存
对换(习题)
1.在系统中引入对换后会带来哪些好处?
解析: 早期的系统中引入对换技术,可以解决由于内存不足而 无法同时接纳多个用户程序参加运行的问题。后来在系 统中引入对换技术,则是作为提高内存利用率的有效措 施,并作为虚拟存储系统的支持手段。
存储方式 的变化:
从连续分配到离散分配 —— 内零头或内部碎片:在存储管理中,分配给了用户而用户未用的存储区
存储器管理复习(一)
程序的链接和装入
连续分配
存
储
器
对换
管
理
基本分页存储
程序的链接 程序的装入
单一连续分配 固定分区分配 动态分区分配 动态重定位
操作系统课件-第5章存储器管理
►
(2)动态地址重定位是指程序在执行的过程中,在CPU访 问内存地址之前,由地址变换(硬件)机构来完成将要访 问的指令或数据的逻辑地址到物理地址的转换。地址变换 机构通常设置一个公用的基址寄存器BR(Base Register), 它存放现行进程在内存空间的起始地址。当CPU经逻辑地 址访问内存时,地址变换机构将自动把该逻辑地址加上BR 中的地址而形成实际物理地址。显然,只要改变BR的内容, 就可以改变程序在内存的存放空间。
2
► 2)循环首次适应算法。该算法是由首次适应算法
演变而成的。在为进程分配内存空间时,不再是每 次都从链首开始查找,而是从上次找到的空闲分区 的下一个空闲分区开始查找,直至找到一个能满足 要求的空闲分区,从中划出一块与请求大小相等的 内存空间分配给进程。为实现该算法,应设置一起 始查寻指针,用于指示下一次起始查寻的空闲分区, 并采用循环查找方法,即如果最后一个(链尾)空 闲分区的大小仍不能满足要求,则应返回到第一个 空闲分区,比较其大小是否满足要求。找到后,应 调整起始查寻指针。该算法能使内存中的空闲分区 分布得更均匀,从而减少了查找空闲分区时的开销, 但这样会缺乏大的空闲分区。
► 2)保护键法。保护键法为每一个被保护存储
块分配一个单独的保护键,保护键可设置成 对读写同时保护的,也可设置成只对读或写 进行单项保护的。在程序状态字(PSW)中 设置相应的保护键开关字节,对不同的进程, 赋予不同的开关代码与被保护的存储块中的 保护键相匹配。如果开关字中的代码与保护 键匹配或存储块未受到保护,则允许访问该 存储块,否则将产生访问出错中断。
► 固定分区管理能使多个进程共享内存,具有
数据结构简单,分配和回收算法容易实现等 优点。但是,存在小进程占据大分区,造成 内存浪费的碎片现象和可调入的进程大小受 到分区大小限制等的问题。
第五章 存储器管理学习辅导资料
第五章存储器管理5.1 知识点汇总1、存储器的层次操作系统的内存管理功能,使之操作系统中负责管理内存使用的那部分功能子集,又称主存管理。
在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。
但是,在现有技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
图5-1 三级存储器结构2、内存管理的目的✧主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。
✧提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率,最好还能共享主存中某个区域的信息。
✧“扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他的作业是在这样一个大的存储器中运行。
(虚拟内存技术)✧存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破坏其它作业或系统文件的信息。
程序的各个阶段:编辑―――编译―――链接―――装入―――运行1). 编辑阶段:创建源文件2). 编译阶段:生成目标文件3). 连接阶段:生成可执行文件4). 装入阶段:重定位,装入内存5). 运行阶段:得到结果图5-2 程序的各个阶段3、存储器管理的功能存储器管理的功能:内存分配、地址映射、内存保护、内存扩充。
4、存储器有关概念地址空间:程序用来访问信息所用地址单元的集合。
逻辑(相对)地址的集合。
由编译程序生成存储空间:主存中物理单元的集合物理(绝对)地址的集合由装配程序等生成(1)逻辑地址(相对地址,虚地址)用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。
不能用逻辑地址在内存中读取信息(2)物理地址(绝对地址,实地址):内存中各物理单元的地址是从统一的基地址顺序编址。
(3)重定位:把作业地址空间中使用的逻辑地址变换成内存空间中的物理地址的过程。
操作系统教程第5版第5章【存储管理】
缺点
大作业可能无法装入 主存空间利用率不高,会出现内碎片 扩充困难 限制多道运行程序的个数
19
可变分区存储管理
可变分区存储管理: (1)按作业的实际大小来划分分区; (2)且分区个数也是随机的;
实现多个作业对主存的共享,进一步提高 主存资源利用率。
16
固定分区
分区1 分区2
分区3 分区4
OS
缺点:
分区4老被占用,进程难以 进入,但分区2是空闲的, 资源没有合理利用
17
固定分区
分区1 分区2
分区3 分区4
OS
Hale Waihona Puke 资源利用率提高 分区1分区2
分区3 分区4
OS
18
固定分区的优缺点
优点
能够解决单道程序运行在并发环境下不能与CPU速度匹 配的问题
8
地址重定位
物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址
为了保证CPU执行指令时,可以正确访问内存单元, 需要将用户程序中的逻辑地址转换为运行时可由机器 直接寻址的物理地址,这一过程称为地址重定位
9
静态重定位与动态重定位
静态重定位: 当用户程序加载到内存时,一次性实现逻辑地址到物 理地址的转换 一般由软件完成 动态重定位: 在进程执行过程中进行地址变换,即逐条指令执行时 候完成地址转换 需要硬件支持
进程 地址 空间
物理 内存
内存不足时,怎么办? 如何在较小的内存空间运行较大进程?
36
主存不足的存储管理技术
1.移动技术
操作系统 作业1 空闲区 作业2 空闲区 作业3 空闲区
操作系统 作业1 作业2 作业3 空闲区
操作系统第5章
5.1.3 重定位
把地址空间中使用的逻辑地址转换为内 存空间中的物理地址的地址转换叫做重 定位,也称为地址映射或地址映像。根 据地址转换的时间及采用技术手段的不 同,把重定位分为静态重定位和动态重 定位两种。
6
5.1.3 重定位
1. 静态重定位 静态重定位是由专门设计的重定位装配程序来完成 的,是在目标程序装入到内存区时由装配程序来完 成地址转换。 优点:无需增加地址转换机构 缺点 : • 不能实现重新分配内存 • 用户必须事先确定所需的存储量 • 每个用户进程需各自使用一个独立的副本。
8
5.2 存储管理的基本技术
最基本的4种存储管理技术是分区法、 可重定位分区法、覆盖技术、交换 技术 。
9
5.2.1 分区法
分区管理是满足多道程序设计的一种最 简单的存储管理方法。其基本原理是给 每一个内存中的进程划分一块适当大小 的存储块,以连续存储各进程的程序和 数据,使各进程能并发进行。
10
第5章 内存管理 章
本章知识点: 本章知识点:
• 5.1 • 5.2 • 5.3 • 5.4 • 5.5 • 5.6 • 5.7 概述 存储管理的基本技术 分页存储管理 分段存储管理 段页式存储管理 虚拟内存的置换算法 系统举例( 系统举例(略)
1
5.1 概述
在计算机系统中,内存管理在很大程度 上影响着这个系统的性能,这使得存储 管理成为人们研究操作系统的中心问题 之一。虽然随着硬件技术和生产水平的 迅速发展,内存的成本急速下降,但是, 内存容量仍是计算机资源中最关键且最 紧张的资源。因此,对内存的有效管理 仍是现代操作系统中十分重要的问题。
12
5.2.2 可重定位分区法
使用动态分区法会出现“碎片”问题,解决碎 片问题的方法,是允许存储块的大小可动态变 化,采用动态重定位技术可以较好地解决这个 问题。 动态重定位分区分配算法,与动态分区分配算 法基本上相同;差别仅在于:在这种分配算法 中,增加了“紧凑”功能,通常是在找不到足 够大的空闲分区来满足用户需求时,进行紧凑 处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
第五章 存储器管理
5.1 知识点汇总
1、存储器的层次
操作系统的内存管理功能,使之操作系统中负责管理内存使用的那部分功能子集,又称主存管理。
在现代计算机系统中,存储器是信息外理的来源与归宿,占据重要位置。
但是,在现有
技术条件下,任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。
实际上它们组成了一个速度由快到慢,容量由小到大的存储装置层次。
图5-1 三级存储器结构
2、内存管理的目的
✧ 主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及
时回收,以供其它用户使用。
✧ 提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率,
最好还
能共享主存中某个区域的信息。
✧“扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他
的作业是在这样一个大的存储器中运行。
(虚拟内存技术)
✧存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破
坏其它作业或系统文件的信息。
程序的各个阶段:编辑―――编译―――链接―――装入―――运行
1). 编辑阶段:创建源文件
2). 编译阶段:生成目标文件
3). 连接阶段:生成可执行文件
4). 装入阶段:重定位,装入内存
5). 运行阶段:得到结果
图5-2 程序的各个阶段
3、存储器管理的功能
2
存储器管理的功能:内存分配、地址映射、内存保护、内存扩充。
4、存储器有关概念
地址空间:程序用来访问信息所用地址单元的集合。
逻辑(相对)地址的集合。
由编译程序生成
存储空间:主存中物理单元的集合物理(绝对)地址的集合由装配程序等生成
(1)逻辑地址(相对地址,虚地址)用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。
不能用逻辑地址在内存中读取信息
(2)物理地址(绝对地址,实地址):内存中各物理单元的地址是从统一的基地址顺序编址。
(3)重定位:把作业地址空间中使用的逻辑地址变换成内存空间中的物理地址的过程。
又称地址映射。
1)绝对装入:编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位。
绝对地址的产生:(1)由编译器完成,编程时使用符号地址(2)由程序员编程完成。
程序中所使用的绝对地址,可在编译或汇编时给出,也可由程序员直接赋予。
但在由程序员直接给出绝对地址时,不仅要求程序员熟悉内存的使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。
因此,通常是宁可在程序中采用符号地址,然后在编译或汇编时,再将这些符号地址转换为绝对地址。
3
2)静态重定位:是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。
重定位在程序装入时一次完成。
图5-3 程序静态运行
3)动态运行时装入:(动态重定位)在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。
因此,装入内存后的所有地址都仍是相对地址。
4
5
图5-4 动态重定位示意图
(4)程序的链接
1)静态链接:对相对地址的修改,变换外部调用符号。
图5-5 程序的静态链接
2)装入时动态链接:便于修改和更新,便于实现对目标模块的共享。
(DLL 动态链接库)
3)运行时动态链接:
这种链接方式是将对某些模块的链接推迟到执行时才执行,即,
在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。
4) 碎片:内存中容量太小、无法被利用的小分区。
5、内存管理技术-分区管理
三种基本的存储管理技术:分区法、可重定位分区法和对换技术
(1)分区法:把内存划分成若干分区,每个分区里容纳一个作业。
1)固定分区模式(定长分区模式):是将内存用户区域划分为几个固定大小的区域,在系统运行过程中,每个区域任意时刻只存放一个程序,且连续完整存放。
通过设置内存分配表,内存分配简单,但内存利用率不高
分区的分配策略:
最先适配,任何时刻只要一个分区变成空闲的,队列中的第一个可装入的作业就被装入执行,经常把大分区分给小作业。
6
最优适配,一旦某分区变成空闲,便寻找可装入的最大作业,有待大作业而其实小作业,与优待小作业的处理机调度算法相互抵触。
固定分区在内存利用率上存在的问题:
✧分区经常没有被填满。
因为分区的大小是固定的,所以分给进程的多余存储空间将被浪
费。
被浪费的空间成为内部存储碎片。
✧存在所有空闲分区总合够,但每个空闲分区太小而无法装入的现象。
✧多道并行的程序数量受到分区数量的限制。
2)动态分区
将内存用户区划分为若干个分区,每个分区内任意时刻只有一个程序,且为连续完整存放。
但划分的实际、大小和位置时动态的,即在系统运行从开机到关机这段时间内,各分区的大小、位置等划分情况,是根据用户程序的来去而变化的。
动态分区的策略:
①必须维持一张内存空闲区表和已分配区表来动态地跟踪记录内存空闲块和已用
块的分布情况。
7
图5-6 内存动态分区
②分配策略
✧最先适配。
为作业选择分区时总是按地址从高到低搜索,只要找到可以容纳该作业的空
白块,就把该空白块分配给该作业。
✧下次适配。
总是从上次查找结束的地方开始,找到一个足够大的空白区分配。
✧最佳适配。
接到内存申请时,在空闲块表中找到一个不小于请求的最小空块进行分配,
为作业选择分区时总是寻找其大小最接近于作业所要求的存储区域。
特点:用最小空间满足要求。
✧最坏适配。
接到内存申请时,在空闲块表中找到一个不小于请求的最大空块进行分配,
与最佳适应法相反,它在作业选择存储块时,总是寻找最大的空白区。
特点:当分割后空闲块仍为较大空块
✧快速适配
③分配多大的空闲块
8。