操作系统原理 第4章 存储管理-段式存储管理
- 格式:ppt
- 大小:1.57 MB
- 文档页数:31
操作系统-存储管理(4)段页式虚拟存储物理地址:⼜称绝对地址,即程序执⾏所使⽤的地址空间(处理器执⾏指令时按照物理地址进⾏)逻辑地址:⼜称相对地址,即⽤户编程所使⽤的地址空间,从0开始编号,有两种形式:⼀维逻辑地址(地址)⼆维逻辑地址(段号:段内地址)主存储器空间的分配与去配:分配:进程装⼊主存时,存储管理软件进⾏具体的主存分配操作,并设置⼀个表格记录主存空间的分配情况去配:当某个进程撤离或主动归还主存资源时,存储管理软件要收回它所占⽤的全部或者部分存储空间,调整主存分配表信息主存储器空间的共享:多个进程共享主存储器资源:多道程序设计技术使若⼲个程序同时进⼊主存储器,各⾃占⽤⼀定数量的存储空间,共同使⽤⼀个主存储器多个进程共享主存储器的某些区域:若⼲个协作进程有共同的主存程序块或者主存数据块多道程序设计需要复⽤主存:按照分区复⽤:主存划分为多个固定/可变尺⼨的分区,⼀个程序/程序段占⽤⼀个分区按照页架复⽤:主存划分成多个固定⼤⼩的页架,⼀个程序/程序段占⽤多个页架装载程序/加载器(loader)把可执⾏程序装⼊内存的⽅式有:绝对装载可重定位装载动态运⾏时装载地址转换:⼜称重定位,即把可执⾏程序逻辑地址转换成绝对地址,可分为:静态地址重定位:由装载程序实现装载代码模块的加载和地址转换(⽆需硬件⽀持),把它装⼊分配给进程的内存指定区域,其中所有指令代码和数据的逻辑地址在执⾏前⼀次全部修改为内存物理地址。
早期单任务单⽤户OS使⽤。
动态地址重地位:由装载程序实现装载代码模块的加载,把它装⼊进程的内存在指定区域,但对链接程序处理过的应⽤程序逻辑地址不做修改,程序内存起始地址被置⼊重定位寄存器(基址寄存器)。
程序执⾏过程中每当CPU访问程序和数据引⽤内存地址时,由硬件地址转换机构截取此逻辑地址并加上重定位寄存器的值。
运⾏时链接地址重定位存储保护:为避免主存中的多个进程相互⼲扰,必须对主存中的程序和数据进⾏保护。
第四章存储器管理第一部分教材习题(P159)15、在具有快表的段页式存储管理方式中,如何实现地址变换?答:在段页式系统中,为了便于实现地址变换,须配置一个段表寄存器,其中存放段表始址和段长TL。
进行地址变换时,首先利用段号S,将它与段长TL进行比较。
若S<TL,表示未越界,利用段表始址和段号来求出该段所对应的段表项在段表中的位置,从中得到该段的页表始址,并利用逻辑地址中的段内页号P来获得对应页的页表项位置,从中读出该页所在的物理块号b,再利用块号b和页内地址来构成物理地址。
在段页式系统中,为了获得一条指令或数据,须三次访问内存。
第一次访问内存中的段表,从中取得页表始址;第二次访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
显然,这使访问内存的次数增加了近两倍。
为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。
每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。
19、虚拟存储器有哪些特征?其中最本质的特征是什么?答:虚拟存储器有以下特征:多次性:一个作业被分成多次调入内存运行,亦即在作业运行时没有必要将其全部装入,只需将当前要运行的那部分程序和数据装入内存即可;以后每当要运行到尚未调入的那部分程序时,再将它调入。
多次性是虚拟存储器最重要的特征,任何其他的存储器管理方式都不具有这一特征。
因此,认为虚拟存储器是具有多次性特征的存储器系统。
对换性:允许在作业的运行过程中进行换进、换出,也即,在进程运行期间,允许将那些暂不使用的程序和数据,从内存调至外存的对换区(换出),待以后需要时再将它们从外存调至内存(换进);甚至还允许将暂不运行的进程调至外存,待它们重又具备运行条件时再调入内存。
第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 。
在多道系统中,多个用户作业要同时使用有限的内存空间。
内存储器成为系统的“瓶颈”资源。
如何充分利用和有效管理内存空间,是操作系统必须完成的主要任务。
在多道系统中,存储管理的目的是为系统中并发运行的多道作业提供相互独立的存储空间,并为用户使用存储器提供方便。
主存储器的存储空间分为两个部分:系统区:用于存放操作系统的程序和数据。
用户区:存放系统应用程序和用户的程序和数据。
存储管理主要是对用户区的存储空间进行管理。
操作系统中存储管理的功能主要有五个方面:存储分配。
为进入系统的多个作业合理地分配存储空间每个作业的程序及其数据存放在内存空间的什么区域。
使用连续的内存区域,还是把它分成若干块来占用不连续的存储空间。
合理组织作业占用的空间,以达到既便于程序运行时存取信息,又能够最大限度地减小空间的浪费,使内存空间得到充分的利用地址变换。
用户作业调入内存空间时所处的位置是根据内存空间当时的状况决定的。
一般情况下,同一个程序在每次调入内存时所占用的位置是完全不同的。
为了保证程序在使用内存的不同区域时仍能正确地执行,必须把在程序执行时要访问的存储单元的位置,由用户在编制程序时所定的地址变换成它们在内存的实际地址。
地址变换又称为地址重定位。
存储保护。
在整个内存空间中既存放着系统的程序和数据,又有多个用户的程序和数据。
保证系统的程序和数据不被用户非法访问和破坏。
保证每一个用户信息的安全。
第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。
增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。