操作系统原理 第4章 存储管理-段式存储管理

合集下载

操作系统-存储管理(4)段页式虚拟存储

操作系统-存储管理(4)段页式虚拟存储

操作系统-存储管理(4)段页式虚拟存储物理地址:⼜称绝对地址,即程序执⾏所使⽤的地址空间(处理器执⾏指令时按照物理地址进⾏)逻辑地址:⼜称相对地址,即⽤户编程所使⽤的地址空间,从0开始编号,有两种形式:⼀维逻辑地址(地址)⼆维逻辑地址(段号:段内地址)主存储器空间的分配与去配:分配:进程装⼊主存时,存储管理软件进⾏具体的主存分配操作,并设置⼀个表格记录主存空间的分配情况去配:当某个进程撤离或主动归还主存资源时,存储管理软件要收回它所占⽤的全部或者部分存储空间,调整主存分配表信息主存储器空间的共享:多个进程共享主存储器资源:多道程序设计技术使若⼲个程序同时进⼊主存储器,各⾃占⽤⼀定数量的存储空间,共同使⽤⼀个主存储器多个进程共享主存储器的某些区域:若⼲个协作进程有共同的主存程序块或者主存数据块多道程序设计需要复⽤主存:按照分区复⽤:主存划分为多个固定/可变尺⼨的分区,⼀个程序/程序段占⽤⼀个分区按照页架复⽤:主存划分成多个固定⼤⼩的页架,⼀个程序/程序段占⽤多个页架装载程序/加载器(loader)把可执⾏程序装⼊内存的⽅式有:绝对装载可重定位装载动态运⾏时装载地址转换:⼜称重定位,即把可执⾏程序逻辑地址转换成绝对地址,可分为:静态地址重定位:由装载程序实现装载代码模块的加载和地址转换(⽆需硬件⽀持),把它装⼊分配给进程的内存指定区域,其中所有指令代码和数据的逻辑地址在执⾏前⼀次全部修改为内存物理地址。

早期单任务单⽤户OS使⽤。

动态地址重地位:由装载程序实现装载代码模块的加载,把它装⼊进程的内存在指定区域,但对链接程序处理过的应⽤程序逻辑地址不做修改,程序内存起始地址被置⼊重定位寄存器(基址寄存器)。

程序执⾏过程中每当CPU访问程序和数据引⽤内存地址时,由硬件地址转换机构截取此逻辑地址并加上重定位寄存器的值。

运⾏时链接地址重定位存储保护:为避免主存中的多个进程相互⼲扰,必须对主存中的程序和数据进⾏保护。

计算机操作系统第四章存储器管理复习资料

计算机操作系统第四章存储器管理复习资料

第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。

进行地址变换时,首先利用段号S,将它与段长TL进行比较。

若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。

在段页式系统中,为了获得一条指令或数据,须三次访问内存。

第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。

显然,这使访问内存的次数增加了近两倍。

为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。

每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。

19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。

多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。

因此,认为虚拟存储器是具有多次性特征的存储器系统。

对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。

《操作系统》第4章教材习题解答

《操作系统》第4章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。

内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。

由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。

由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。

程序和数据装入内存时,需对目标程序中的地址进行修改。

这种把逻辑地址转变为内存物理地址的过程称作重定位。

静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。

动态重定位是在程序执行期间,每次访问内存之前进行重定位。

这种变换是靠硬件地址转换机构实现的。

内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。

为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。

这种技术称为紧缩(或叫拼凑)。

虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。

为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。

若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。

此时,系统好像很忙,但实际效率却很低。

这种现象称为“抖动”。

2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。

CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。

操作系统原理知识点总结

操作系统原理知识点总结

第一章绪论1、操作系统是一组控制和管理计算机硬件和软件资源、合理的对各类作业进行调度以方便用户的程序集合※2、操作系统的目标:方便性、有效性、可扩展性、开发性※3、操作系统的作用:作为计算机硬件和用户间的接口、作为计算机系统资源的管理者、作为扩充机器4、单批道处理系统:作业处理成批进行,内存中始终保持一道作业(自动性、顺序性、单道性)5、多批道处理系统:系统中同时驻留多个作业,优点:提高CPU利用率、提高I/O设备和内存利用率、提高系统吞吐量(多道性、无序性、调度性)6、分时技术特性:多路性、交互性、独立性、及时性,目标:对用户响应的及时性7、实时系统:及时响应外部请求,在规定时间内完成事件处理,任务类型:周期性、非周期性或硬实时任务、软实时任务※8、操作系统基本特性:并发、共享、虚拟、异步性并行是指两或多个事件在同一时刻发生。

并发是两或多个事件在同一时间间隔内发生。

互斥共享:一段时间只允许一个进程访问该资源同时访问:微观上仍是互斥的虚拟是指通过某种技术把一个物理实体变为若干个逻辑上的对应物。

异步是指运行进度不可预知。

共享性和并发性是操作系统两个最基本的特征※9、操作系统主要功能:处理机管理、存储器管理、设备管理、文件管理、用户管理第二章进程的描述和控制※1、程序顺序执行特征:顺序性、封闭性、可再现性※2、程序并发执行特征:间断性、失去封闭性、不可再现性3、前趋图:有向无循环图,用于描述进程之间执行的前后关系表示方式:(1)p1--->p2(2)--->={(p1,p2)| p1 必须在p2开始前完成}节点表示:一条语句,一个程序段,一进程。

(详见书P32)※4、进程的定义:(1)是程序的一次执行过程,由程序段、数据段、程序控制块(PBC)三部分构成,总称“进程映像”(2)是一个程序及其数据在处理机上顺序执行时所发生的活动(3)是程序在一个数据集合上的运行过程(4)进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位进程特征:动态性、并发性、独立性、异步性由“创建”而产生,由“调度”而执行;由得不到资源而“阻塞”,由“撤消”而消亡※5、进程与程序关系※6、进程的三种状态:就绪、阻塞、执行转换:增加挂起:7、进程控制块(PCB)的作用:进程存在的唯一标志。

基本分段存储管理方式

基本分段存储管理方式

基本分段存储管理方式基本分段存储管理方式是计算机操作系统用来管理内存的一种方法。

通常将内存分成固定大小的若干段,每个段都有一个起始地址和一个长度,随着程序的运行,可以动态地将不同大小的进程加载到这些段中,从而优化内存使用,提高系统性能。

基本分段存储管理方式的实现过程大致分为三个步骤:操作系统将物理内存划分成若干固定大小的段,这些段称为物理段或实际段。

接着,操作系统为每个进程分配虚拟地址空间,并用一组相同的大小将其划分为若干虚拟段。

每个虚拟段的起始地址和长度都与实际段相对应,但它们不一定在物理空间上是连续的。

操作系统将进程的虚拟地址映射到实际的物理地址,以便进程能够访问内存。

基本分段存储管理方式有以下几个优点:1. 灵活性:基本分段存储管理方式可以用相对较少的内存空间来持久存储多个进程,这增加了系统的灵活性,使得操作系统能够同时运行多个进程,而不会导致内存溢出。

2. 内存利用率:基本分段存储管理方式允许操作系统根据每个进程的需求动态分配内存,从而提高内存利用率。

如果一个进程只需要几百KB的内存,而系统中的物理内存大大小于这个需求,那么只需要分配给它一个相应的虚拟段就可以了,这样就避免了浪费内存的情况。

3. 保护:基本分段存储管理方式可以通过在每个虚拟段中设置访问权限进行内存保护。

只允许进程访问它被授权访问的虚拟地址范围,而禁止它访问其他虚拟地址空间,从而增强系统的安全性。

基本分段存储管理方式也有以下几个缺点:1. 内部碎片:由于每个分段的大小是固定的,使得当进程只需要使用部分段时,其中未使用的部分会变成内部碎片。

这会浪费一些内存,降低内存利用率。

2. 外部碎片:当系统中有大量的小进程时,这些小进程可能会被分配到不同的分段中。

当一些分段中的进程被撤销时,这些空闲的小空间难以合并在一起,从而导致外部碎片的产生。

3. 上下文切换:由于每个进程的虚拟空间不一定是连续的,因此在进程切换时需要进行频繁的虚拟地址到物理地址的映射操作,这会增加系统的开销。

天大《操作系统原理》学习笔记三

天大《操作系统原理》学习笔记三

主 题题: 《操作系统原理》学习笔记内 容容:《操作系统原理操作系统原理》》学习笔记学习笔记三三————存储管理存储管理存储管理主存储器又称为内存储器,它是处理机可以直接访问的存储器。

主存速度快,但容量有限。

存储管理主要是对主存的管理,同时也涉及到主存和外存交换信息。

一、存储管理的目的与功能计算机的系统结构是以内存储器为中心。

受系统地址总线的限制,内存空间并不能做的很大。

16位地址总线,内存最大64KB 。

32位地址总线,内存最大4GB 。

在多道系统中,多个用户作业要同时使用有限的内存空间。

内存储器成为系统的“瓶颈”资源。

如何充分利用和有效管理内存空间,是操作系统必须完成的主要任务。

在多道系统中,存储管理的目的是为系统中并发运行的多道作业提供相互独立的存储空间,并为用户使用存储器提供方便。

主存储器的存储空间分为两个部分:系统区:用于存放操作系统的程序和数据。

用户区:存放系统应用程序和用户的程序和数据。

存储管理主要是对用户区的存储空间进行管理。

操作系统中存储管理的功能主要有五个方面:存储分配。

为进入系统的多个作业合理地分配存储空间每个作业的程序及其数据存放在内存空间的什么区域。

使用连续的内存区域,还是把它分成若干块来占用不连续的存储空间。

合理组织作业占用的空间,以达到既便于程序运行时存取信息,又能够最大限度地减小空间的浪费,使内存空间得到充分的利用地址变换。

用户作业调入内存空间时所处的位置是根据内存空间当时的状况决定的。

一般情况下,同一个程序在每次调入内存时所占用的位置是完全不同的。

为了保证程序在使用内存的不同区域时仍能正确地执行,必须把在程序执行时要访问的存储单元的位置,由用户在编制程序时所定的地址变换成它们在内存的实际地址。

地址变换又称为地址重定位。

存储保护。

在整个内存空间中既存放着系统的程序和数据,又有多个用户的程序和数据。

保证系统的程序和数据不被用户非法访问和破坏。

保证每一个用户信息的安全。

第四章 内存管理

第四章 内存管理
操作系统原理
2022/12/21
1
第四章 内存管理
4.0 问题导入
在现代操作系统中同时有多个进程在运行,每 个进程的程序和数据都需要放在内存中,那么 程序员在编写程序时是否需要知道程序和数据 的存放位置呢?
如果不知道,那么多个进程同时在内存中运 行,每个进程应占用哪些空间呢,
如何保证各个进程占用的空间不冲突呢? 内存空间如何进行分配和管理呢?
2022/12/21
2
第四章 内存管理
4.1 内存管理概述 4.2 内存管理的基础 4.3 连续内存分配存储方式 4.4 虚拟存储
2022/12/21
2
4.1 内存管理概述
4.1.1 存储结构
存储层次
➢ CPU寄存器
➢ 辅存:固定磁盘、可移动 介质
层次越高,访问速度越快,
价格也越高,存储容量也
最小
7
4.1 内存管理概述
4.1.3 操作系统在内存中的位置
图4-2 仅有RAM时操作系统与用户程序的内存分配
2022/12/21
8
4.1 内存管理概述
4.1.3 操作系统在内存中的位置
图4-3 备有ROM时操作系统和用户程序之内存分配
2022/12/21
9
4.1 内存管理概述
4.1.3 操作系统在内存中的位置
多个小分区 适量中分区 少量大分区
34
内存分配例子
分区号 大小(K) 起始地址(K) 状态
1
12
20
已分配
2
32
32
已分配
3
64
64
已分配
4
128
128
未分配
固定分区使用表

操作系统课后答案——第四章

操作系统课后答案——第四章

第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。

b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。

c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。

增加CPU中寄存器的数量,也可大大缓解对存储器的压力。

2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。

3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。

b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。

c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。

4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。

引入重定位的目的就是为了满足程序的这种需要。

b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。

程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。

ch4-4.3分页和4.4分段式存储管理

ch4-4.3分页和4.4分段式存储管理

可执行程序 主存
调用DLL中的函数
Windows动态链接
24/51
共享信息的保护问题 标志位保护方法 键保护方法
25/51
4.3.5 多级页表
多级页表的概念 多级页表的具体做法 逻辑地址结构 逻辑地址到物理地址转 换过程
26/51
页表存储开销太大
CPU具有32位地址时 ,使用232逻 辑地址空间的分页系统,规定页面 4KB时,每个进程页表的表项有1兆 (220)个,若表项占用4个字节,则每 个进程需要占用4MB连续 连续内存空 连续 间存放页表。
28/51
系统为每个进程建一张页目录表, 它的每个表项对应一个页表页,而页 表页的每个表项给出了页面和页框 的对应关系,页目录表是一级页表, 页表页是二级页表。 逻辑地址结构有三部分组成:页目 录、页表页和位移。
29/51
多级页表地址转换过程
页目录表控制寄存器指出当前运行进 程的页目录表内存所在地址,由页目录 表起址加上dir作索引,可找到某个页表 页在内存页框的地址, 以page作索引,找到页表页的页表项, 而该表项中包含了页面对应的页框号 页框号和位移offset便可生成物理地址
偏移(12) 偏移
第一级
第二级
第三级
4K页面 页面
4095
页表
36/51
多级页表结构的本质
多级不连续导致多级索引。 以二级页表为例,用户程序的页面不连续 存放,要有页面地址索引,该索引是进程 页表;进程页表又是不连续存放的多个页 表页,故页表页也要页表页地址索引,该 索引就是页目录。 页目录项是页表页的索引,而页表页项是 进程程序的页面索引。
5/51
0 1 2 3 4 5 6 作业的 地址空间
页框 页 (物理块) 物理块) 号 0 1 2 3 4 5 6

段页式存储管理

段页式存储管理

管理(续)
空闲块管理 空闲块表 内存分配算法(三种)
思考:与可变分区存储管理方案的相同点 与不同点?
3. 硬件支持
系统设置一对寄存器 段表始址寄存器: 用于保存正在运行进程的段表的始址 段表长度寄存器: 用于保存正在运行进程的段表的长度 相联存储器——快表 快表项目:段号;段始址;段长度;标识(状 态)位;访问位(淘汰位)
2. 管理
结合所学的分区和页式管理方 请设计如何实现段式管理? 式,请设计如何实现段式管理?
段表 记录了段号,段的首(地)址和长度之 间的关系 每一个程序设置一个段表,放在内存系统区 属于进程的现场信息 段表的项目:
逻辑段号 物理段起始地址(段首址) 物理段长度 段号 段首址 0 1 2
58K 100K 260K 段长度 20K 110K 140K
段页式存储管理方案(续2)
4. 硬件支持
基于所学的理论,试分析硬件支持? 基于所学的理论,试分析硬件支持?
段表始址寄存器 段表长度寄存器 相联存储器(快表)
试设计: 利用段表和页表实现地址映射
段表寄存器 段表大小 段表始址 操作系统 页号 状态 存储块# 0 1 1 1 2 1 3 0 4 1
段号 状态 页表大小 页表始址 0 1 1 1 2 1 3 0 4 1 段表
分页系统中共享editor的示意图
进程1 ed 1 ed 2 ed 40 data 1 data 10 进子2 ed 1 ed 2 ed 40 data 1 data 10 … … … … 页表 21 22 60 61 70 页表 21 22 60 71 80 … … … …
主存 0 ed 1 ed 2 ed 40 data 1 data 10 data 1 data 10 … … … … 21 22 60 61 70 71 80

操作系统原理教程(胡元义)-第4章

操作系统原理教程(胡元义)-第4章

第4章 存储管理
根据进行地址转换时间的不同,可以将程序装入分为运行 前静态装入和运行时动态装入两种。静态装入指在运行之前一 次性地将程序(装入模块)装入内存,且在装入过程中同时完成 相对地址(逻辑地址)到绝对地址(物理地址)的转换工作。运 行时动态装入是指把装入模块装入内存后,并不立即完成地址 转换,而是把地址转换工作推迟到程序真正执行时才进行。静 态装入时进行的地址转换称为静态地址转换或静态重定位,运 行时动态装入涉及的地址转换称为动态地址转换或动态重定位。
第4章 存储管理
第4章 存储管理
4.1 程序的链接和装入 4.2 存储器及存储管理的基本功能 4.3 分区式存储管理 4.4 分页存储管理 4.5 分段存储管理 4.6 段页式存储管理 4.7 虚拟存储管理
第4章 存储管理
4.1 程序的链接和装入 在多道程序环境中要使程序运行,首先必须为它创建进程, 而创建进程就必须将程序和数据装入内存。能装入内存执行的 程序属于可执行程序。通常,用户编写的源程序要经过以下步 骤才能转变为可执行程序:首先由编译程序把源程序编译成若 干个目标模块,然后由链接程序把所有目标模块和它们需要的 库函数链接在一起,形成一个完整的可装入模块。可装入模块 可以通过装入程序装入内存成为可执行程序,当把CPU分配给 它时就可以投入运行。整个处理过程如图4-1所示。
(2) 装入时动态链接。目标模块的链接是在模块装入内 存时进行的,即在模块装入过程中同时完成所有目标模块的链 接。
第4章 存储管理
(3) 运行时动态链接。先将一个目标模块装入内存且启 动运行,在进程运行过程中如果需要调用其他模块,则再将所 需模块装入内存并把它链接到调用模块上,然后进程继续运行。
上述三种链接方式中,运行时动态链接比较流行,这是因 为它把对某些模块的链接推迟到运行时才进行,这样,凡程序 执行过程中未用到的模块都不会装入内存和链接到运行模块上。 显然,这种链接方式不仅可以节省内存空间,而且加快了程序 目标模块的装入过程。

段式存储管理

段式存储管理

. . .
12345 数组[A]
子程序段[X]
0 F L 0
K
. . . CALL [A] 116 . . .
主程序段[M]
CALL [Y] [F]
. . .
S
子程序段[Y]
工作区段[B]
分段式存储管理的基本思想概念

分段存储管理中的逻辑地址空间


用户程序的划分:按程序自身的逻辑关系划分为若 干个程序段,例如主程序段(MAIN)、子程序段、 数据段、堆栈段等,每个程序段都有一个段名,且 有一个段号。段号从0开始,每一段也从0开始编址, 段内地址是连续的 逻辑地址
段式存储管理存储保护与共享

在段式存储管理中很容易实现段的共享,只需在作 业的段表中都增加一个表项,让该段的基址指向共 享段在内存中的起始地址即可。
进程A的逻辑地址空间 文本 段 0 编辑程序 段1 段2 程序段 数据段 进程A的段表 段号 段长 基址 43062 内 存 操作系统 进程A的数据段 文本编辑程序
段页式存储管理中的逻辑地址
0 第0页 4KB 第1页 段MAIN 8KB 第2页 12KB 14KB 16KB 第3页 段号s 段内页号p 段内位移d 页内位移w 第2页 段SUBP 第1页 第0页 段DATA 第1页 第0页
用户逻辑地址空间中的地址结构将由上图所示的三个部分组成: 段号s,段内页号p,页内位移w。 (其中,段内页号p和页内位移w是由段内位移d分解而成。) 如: (0,1,100)
段表
段号 0 1 2 段首址 100K 50K 120K 段长度 10K 15K 25K
段表记录了段号,段的首(地)址和长度之 间的关系 每一个程序设置一个段表,放在内存

计算机操作系统(第四版)第四章分页与分段存储管理

计算机操作系统(第四版)第四章分页与分段存储管理
31 页号P 12 11 页内地址W 0
图中地址长度为32位,其中0~11位为页内地址, 12 ~ 31位为页号,那么块(页)的大小为212=4KB;逻 辑地址有220=1M页。Fra bibliotek思考题?

若给定一个逻辑地址空间中的地址为A,页面 大小为L,则页号P和页内地址W如何计算? P=INT[A/L] W=[A]MOD L
3.信息保护 信息保护是对相对完整意义的逻辑单位(段)进行保护。 4.动态链接 通常一个源程序经过编译后所形成的若干个目标程序, 还需再经过链接,形成可执行代码后才能运行,这种在装入 时进行的链接称为静态链接。动态链接是指在作业运行之前, 并不把几个目标程序段都链接起来,而是先将主程序对应的 目标程序装入内存并启动运行,当运行过程中又需要调用某 段时,再将该段(目标程序)调入内存并链接起来。所以, 动态链接是以段为基础的。 5.动态增长 在实际系统中,往往有些数据段会不断地增长,而事先 却无法知道数据段会增长到多大,分段存储管理方式可以较 好地解决这个问题。
3.地址变换机构
段表寄存器
段表始址 段表长度 TL
越界中断 ﹥
逻辑地址
段号S 1 位移量w 100
段号 0 1 2 3
段长SL 基址 15K 7K 8K 10K 40K 80K 120K 150K
物理地址 80k+100
物理地址:段的基址+段内地址(位移量)

为了实现从逻辑地址到物理地址的变换功能,系统 中设置了段表寄存器,用于存放段表始址和段表长 度。在进行地址变换时,系统将逻辑地址中的段号S 与段表长度TL进行比较。若 S≥TL,表示段号太大, 访问越界,于是产生越界中断信号;若未越界,则 根据段表的始址和该段的段号,计算出该段对应段 表项的位置,从中读出该段在内存中的起始地址, 然后再检查段内地址d是否超过该段的段长SL。若超 过,即 d≥SL,同样发出越界中断信号;若未越界, 则将该段的基址与段内地址w相加,得到要访问的内 存物理地址。

操作系统知识点总结

操作系统知识点总结

第一章操作系统引论主要解决的是对操作系统的认识问题。

在学习完后面各章后还应该再回过头来认真品味本章的内容,重点是对操作系统原理的整体认识和掌握。

操作系统引论这部分内容不会出现大题。

一般是以基本原理和概念的形式为主,属于识记形式的题目。

重点是操作系统的定义、操作系统的特征和主要功能等。

l 计算机系统把资源管理和控制程序执行的功能集中组成一种软件,称为操作系统,是系统软件l 操作系统的两个设计目标:1、使计算机系统使用方便2、使计算机系统能高效地工作(扩充硬件的功能,使硬件的功能发挥得更好;使用户合理共享资源,防止相互干扰;以文件形式管理软件资源,保证信息的安全和快速存取。

P1l 设置操作系统的作用1,用户观点:操作系统是裸机与用户的一个界面。

2,系统观点:操作系统是计算机系统资源的一个“管理员”。

l 操作系统的分类用户要求计算机系统进行处理的一个计算问题称为一个“作业”。

按照操作系统提供的服务,大致可以把操作系统分为:单道批处理系统;多道批处理系统,简称“多道系统”,即多个作业可同时装入主存储器进行运行的系统。

多道系统能极大提高计算机系统的效率,表现为:(1)并行工作,减少了CPU的空闲时间,提高了CPU的利用率。

(2)合理搭配多道使用不同资源的作业,可充分利用计算机系统的资源。

(3)直接在高速的磁盘上存取信息,缩短了作业执行时间,使单位时间内的处理能力得到提高。

(4)作业成批输入、自动选择和控制作业执行减少了人工操作时间和作业交接时间,提高了系统的吞吐率;分时系统,具有同时性、独立性、及时性、交互性。

批处理兼分时系统中,由分时系统控制的作业称为“前台”作业,由批处理控制的作业称为“后台”作业。

实时系统:在严格时间规定内处理必须结束;分类:(1)实时控制(2)实时信息处理网络系统:可实现资源共享的,为计算机网络配置的的操作系统我们使用的windows 是网络式系统;分布式系统可协调多个计算机以完成一个共同任务的;l 发展MS-DOS:单用户单任务Windows XP:单用户多任务UNIX:多用户多任务l 操作系统的特性1,并发性2,共享性3,不确定性l 掌握操作系统的基本功能:处理器管理、存储器管理、文件管理、设备管理、文件管理。

段页式存储管理与动态地址重定位Read

段页式存储管理与动态地址重定位Read

3.常用的分配算法
(1)首次适应算法 (2)最佳适应算法 ( 3)最差适应算法
图4.8 最佳适应算法的空闲分区链表组织形式
图4.9 最差适应算法的空闲分区 链表组织形式
图4.10 内存使用情况
图4.11 用三种适应算法处理同一作业序列
4.可变式分区的地址重定位
可变式分区的地址重定位可采用静态重定 位,也可采用动态重定位。采用动态重定 位的可变式分区管理技术,在执行内存分 配时,如无足够大空闲块,应考虑实现紧 凑操作。其分配算法如图4.12所示。
(4)分页的优点体现在内存空间的管理上, 而分段的优点体现在地址空间的管理上。
返回本节
4.3 虚拟存储器管理
4.3.1 虚拟存储器的概念 4.3.2 请求式分页存储管理与动态地址重定
位 4.3.3 页面置换算法 4.3.4 请求式分页存储管理性能分析举例 4.3.5 请求式分段存储管理与动态地址重定
请求式分页存储管理中的地址重定位和缺 页中断处理过程如图4.19所示。
图4.18 请求式分页存储管理示意图
图4.19 请求式分页存储管理缺页中断处理过程示意图
返回本节
4.3.3 页面置换算法
1.最优算法(OPT算法) 2.先进先出算法(FIFO算法) 3.最久未使用页面置换算法(LRU算法) 4.LRU近似算法
图4.3 静态地址重定位和动态地址重定位示意图
返回本节
4.1.3 存储保护
(1)上、下界存储保护:上、下界保护是一 种简单的存储保护技术。如图4.4(a)所示
(2)基址——限长存储保护:上、下界保护 的一个变种是采用基址——限长存储保护 。如图4.4(b)所示。
(a)上、下界保
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
举例:一作业由三个程序段,按照段页式划分地 址空间如下图
段页式作业地址空间和地址结构示意图
页面大小为4KB
0 4K 8K 1 2K 1 5K 1 6K
主程 序段
0 4K 8K
子程 序段
0 4K 8K 1 0K 1 2K
数据 段
(a ) 段 号 (S) 段 内 页 号 (P) (b )
改为:页内地址
4.4.3 信息共享
论点:分段技术中信息共享比分页技术中的信息共享更 方便有效。
信息共享举例:
有一多用户系统,可同时接纳40个用户,他们都执行一 个文本编辑程序(Text Editor)。假设文本编辑程序有 160KB的指令代码和另外40KB的数据区。
假设文本编辑程序代码是可重入的,试以分页和分段存 储管理方式探讨文本编辑程序的共享问题。假设分页系 统页的大小为4K。具体见下图。
授课内容与重难点
基本分段存储管理方式:理解相关概念,掌握实现 原理(重)和地址变换过程(难); 段页式存储管理方式:理解基本概念,掌握实现原 理(重)和地址变换过程(难); 虚拟存储器的基本概念:理解虚拟存储器的基本概
念与实现思想(重点);
4.4 基本分段存储管理方式
固定分区
知识回忆
动态分区
③ 然后,由块号与页内地址(偏移)构成实际的物理 地址; ④ 最后根据物理地址获取实际信息数据。
注意:在段页式存储系统中,获取一条指令或数据需要 访问三次内存:段表、页表和实际数据。
段页式系统中的地址变换机构与过程示意图
段表寄存器 段表始址 + 段表 0 1 2
第一次访问内存
S≥TL
> 段超长
逻辑地址(注意:是二维的, 后两个构成段内偏移量)
分页存储管理 提高内存利用率
4.4.1 分段存储管理方式的引入 分段存储 管 理引入原 因
方便 编程 分段 共享
满足用户(程序员) 在编程和使用上多 方面的需要
动态 链接 分段 保护 动态 增长
4.4.2 分段系统的基本原理
1 基本分段存储管理的基本思想:
作业地址空间按逻辑分段,物理内存空间按段的实 际大小分配,所有逻辑段运行前需要全部装入
4.4.4 段页式存储管理方式
段页式存储管理方式是将分段存储管理方式与分 页存储管理方式相结合而形成的一种存储管理方 式; 段页式存储管理方式具有分段和分页方式的共同 优点;
1. 基本原理:先将用户程序分成若干段,每个段有 其段名/号;然后再将每个段分成若干页,段内 各页顺序编号(从0开始相对编号);
1 2 3
20K 15K 10K
段表示意图
80K 120K 150K
段表的存储和隶属关系:
存储:段表一般存放在内存中,由段表始址和
段表长度唯一确定;
归属:每个进程拥有一个段表;并在进程 PCB 记录段表的始址和段表长度;
目的:实现段的地址映射。
0
作业空间 (MAIN)=0 段表
内存空间
0
3 0K 0 2 0K 0 1 5K 0
段 内 地 址 (W)
2. 段页式存储管理系统地址变换过程
段页式地址变换机构:每一进程拥有段表(置于
内存);各段拥有自己的一个段内页表(置于内 存);段表寄存器;物理地址寄存器等;
段表与段内页表的组成:段表由段表项组成、段
内页表由页表项组成,所含字段如下图所示;
从段表、页表实现地址映射的结构示意图
8292
not
W<500
8k+100
+
8292 物理地址
8k 8691
段表
主存
段式系统地址变换过程示意图
段地址变换过程描述
① 从段逻辑地址寄存器中取得段号S和段内位移量W;
② 将 S 与段表寄存器中的段表长度 TL 比较,若S≥TL, 越界异常处理; ③ 否则,根据段表始址和段号在段表中查找段号为S的 表项,得到该段的内存空间首地址;
4.5.2 虚拟存储器的实现方法
1. 请求分页系统 实现方法是在分页系统的基础上,增加了请求调页功 能和页面置换功能所形成的页式虚拟存储系统。 1)需要硬件支持: ① 请求分页的页表机制:用于请求分页的数据结构;
② 缺页中断机构:产生缺页中断,以请求OS将所缺的页调 入内存;
③ 地址变换机构:实现逻辑地址到物理地址的变换(类似
0 15K-1 0 7K-1 0 8K-1
主程序段 0 子程序段 1 数据段 2 作业地址空间
一个作业被划分为分若干个段; 一个段拥有一个段名或段号; 一个段标识一个完整的信息单位 段号从0开始,依次编号到n; 每一段段内从0开始连续编址; 作业的地址空间为二维的; LOAD 1,[A]|<D> STORE 1,[B]|<C>
2. 虚拟性 :从逻辑上扩充内存。
小结
分段系统的逻辑特征与物理实现; 分段系统的优点和缺点; 段页式系统的基本实现原理及优缺点; 虚拟存储系统的基本概念与实现原理;
④ 把段首地址与段内位移相加,形成内存地址送入物 理地址寄存器中,并以此地址访问内存取出指令或 数据。
地址变换特点: 同页式地址变换一样,在段地址变换过程
中,也有两次访问内存的问题。为了加快访
问内存的速度,也可采用联想存储器组成快 表。
4 分页和分段的比较
相同点:离散分配方式; 不同点如下:
① 段是依据程序的逻辑结构划分的,页是按线性地址空 间顺序分割的; ② 分段中程序地址空间是二维的,分页中程序地址空间 是一维的; ③ 段是面向用户的(用户决定),页对用户是透明的; ④ 段长由用户决定,且各段的大小一般不相等(最大长 度限制);面页长是由系统决定的,各页的长度必须 相等; ⑤ 段的共享比页的共享更容易;
段表寄存器段表大小 段来自始址页号 状态 0 1 1 1 页表始址 2 3 4 1 0 1 存储块#
操作系统
段号 状态 0 1 2 3 4 1 1 1 0 1
页表大小
段表
页表
主存
段页式系统地址变换过程
具体变换过程(如下图所示):
① 从逻辑地址中取得段号S,并与段表寄存器中的段表 长度TL比较,若S>=TL,越界处理;否则,由段表寄存 器中的段表始址访问段表,并找到本段的段表项; ② 由段表项指定的本段页表起始地址访问本段的页表, 并根据逻辑地址的页号找到本页所在的存储块;
3 地址变换
地址变换机构:段地址变换机构由段表、段表寄存
器、物理地址寄存器等硬件设施以及相关软件
组成; 段表寄存器:存放段表始址和段表长度; 地址变换过程如下图所示:
段表寄存器
段表始址 段表长度TL
越界中断 段号S
位移量W 100 逻辑地址

2
+
段号 段长 始址 0 1k 6k 1 600 4k 2 500 3 200 8k 9200
分段地址结构: 段号
31
段内地址
16 15 0
内存分配思想: 以段为单位,为每个段分配一片连续的内存空间依次存 放段的全部信息; 每个段分配的内存空间由其起始地址和段长度确定; 段之间为离散分配,即各段之间地址可以不连续;
分段存储分配的算法与特点:
动态分区分配:采用空闲分区表或链表管理可
用内存空间;分配策略可采用首次适应、循环
首次适应或最佳适应算法。
段内连续,段间离散:分段式管理以段为单位 为一个段分配一片连续存储空间;各段之间的 内存分配可以是连续的,即段间离散。 缺点:同样不可避免碎片问题。
2 段表:为了实现段的逻辑地址到物理地址的转换,必须 为每个进程建立一个段表,用于记录各段的内存 分配信息。 段号 段长 基址 0 30K 40K
2.
局部性原理:
早在 1968 年, Denning.P 就曾指出:程序在执行时将 呈现局部性原理,即在一较短时间内,程序的执行仅局限 于某个部分;相应地,它所访问的存储空间也局限于某个 区域。 关于局限性的论证参考书上说明,请自学。
3. 虚拟存储器定义
虚拟存储器:是指以软件的方法从逻辑上(非物理)
上扩充内存的容量。
实现思想:根据局部性原理,作业在运行前,没有必 要将其程序(数据)调入内存,而是把当前要执行的部
分(或页或段)调入内存便开始执行;在执行过程中, 陆续将要执行但又不在内存的部分程序(数据)调入 内存;若内存不够时,也可陆续将暂时不运行的程序 调出内存,以腾出内存空间。
功能要求:实现虚拟存储器的核心是存储管理系统必 须具备调入和换出功能。
段号S 页号P 页内地址
段表长度
页表 0 1 2 + 3 b 块号 b 块内地址
第二次访问内存
3
页表长度
页表始址
第三次访问内存
4.5 虚拟存储器的基本概念
4.5.1
1. ① 一次性:作业在运行前必须一次性将程序、数据 装入内存(包括运行期间不执行的部分)才能运 行; ② 驻留性:作业装入内存后,便一直驻留于内存, 直到作业运行结束 。 缺点:作业在运行过程中,不运行或暂时不运行 的程序(数据)将一直呆在内存中。
② 缺段中断机构:产生缺段中断,以请求OS将所缺段调入 内存;
③ 地址变换机构:实现段逻辑地址到物理地址的变换 2)实现请求分段的软件:在硬件的支持下,还需实现请求 调段功能的软件和实现分段置换功能的软件。
4.5.3
虚拟存储器的特征
1. 多次性:一个作业被多次调入;
2. 对换性:作业在运行期间可换进、换出;
分页系统)
2)实现请求分页的软件:在硬件的支持下,还需实现请求 调页功能的软件和实现页面置换功能的软件。
4.5.2 虚拟存储器的实现方法
2. 请求分段系统 请求分段系统是在分段系统的基础上,增加了请求调 段和分段置换功能所形成的段式虚拟存储系统。 1)需要硬件支持: ① 请求分段的段表机制:用于请求分段的段表数据结构;
相关文档
最新文档