精品文档
2.可重定位装入方式:把在装入时目标程序中指令和数据的修改过程称为重定
位。又因为地址变换通常是在装入时一次完成的,故称静态重定位。
3.动态运行时装入方式 4.1.2程序的链接
1.静态链接方式:在程序运行之前,先将个目标模块及它们所需的库函数,链
接成一个完整的装配模块,以后不再拆开。
装入时须解决的问题:(1)对相对地址进行修改(2)变换外部调用符号 2.装入时动态链接:指是指将用户源程序编译后得到的一组目标模块,在装入
内存时,采用边装入边链接的链接方式。
优点:(1)便于修改和更新。(2)便于实现对目标模块的共享。 3.运行时动态链接:这是指对某些目标模块的链接,是在程序执行中需要该
(目标)模块时,才对它进行的链接。
4.2连续分配方式:
连续分配方式,是指为一个用户程序分配一个连续的内存空间。 4.2.1单一连续分配 4.2.2固定分区分配:
1.划分分区的方式:(1)分区大小相等(2)分区大小不等
2.内存分配:通常将分区按大小进行排队,并为之建立一张分区使用表。其中各项包括每个分区的
起始地址、大小及状态(是否已分配)。
4.2.3动态分区分配:动态分区分配是根据进程的实际需要,动态地为之分配内存空间。
1.分区分配中的数据结构:(1)空闲分区表(2)空闲分区链 2.分区分配算法:
(1)首次适应算法FF:FF算法要求空闲分区链以地址递增的次序链接
(2)循环首次适应算法:从上次找到的空闲分区的下一个空闲分区开始查找,减少了开销,但会
缺乏大的空闲分区。
收集于网络,如有侵权请联系管理员删除
精品文档
(3)最佳适应算法:所谓“最佳”是指每次为作业分配内存时,总是能把满足要求,又是最小的空闲
分区分配给作业,避免“大材小用”。
3.分区分配操作:在动态分区存储管理方式中,主要的操作是分配内存和回收内存。
4.2.4可重定位分区分配P110
1.动态重定位的引入 2.动态重定位的实现 3.动态何从定位分区的分配算法
4.2.5对换(Swapping)
1.对换的引入:所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存
上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。
2.对换空间管理:P113
有具有对换功能的OS中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于存放从内存换出的进程,对对换空间管理的主要目标,是提高进程换入和换出的速度。为此采取的是连续分配方式。
3.进程的换出和换入
4.3基本分页存储管理方式
连续分配方式会形成许多“碎片”,如果允许将一个进程直接分散地装入到许多不相邻接的分区中,则无须再通过“紧凑”将许多碎片拼接成可用的大块空间。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则成为分页存储管理方式;如果离散分配的基本单位是段,则称为分段存储管理方式。
再分页存储管理方式中,如果不具备页面对换功能,则称为基本的分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存后方能运行。 4.3.1页面与页表 1.页面
1)页面和物理块:分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),也同样为它们加以编号。
2)页面大小:页面大小应是2的幂,通常为512B~8KB
收集于网络,如有侵权请联系管理员删除
精品文档
2.地址结构
分页地址中的地址结构如下: 31 12 11 0
页号P 位移量W
前一部分为页号P,后一部分为位移量W(或称为页内地址)。图中的地址长度为32位,其中的0~11位为页内地址,即每页的大小为4KB;12~31位为页号,地址空间最多允许有1M页。
若给定一个逻辑地址空间中的地址为A,页面的大小为L,则页号P和页内地址d为:
AP=INT[L] d=[A] MOD L
其中,INT是整除函数,MOD是取余函数 3.页表:
系统为每个进程建立了一张页面映像表,简称页表。页表的作用是实现从页号到物理块号的地址映射。
4.3.2地址变换机构:由于页内地址和物理地址是一一对应的,因此,地址变换机构的任务,实际
上只是将逻辑地址中的页号,转换为内存中的物理块号,地址变换任务是借助于页表来完成的。 1.基本的地址变换机构:(P115)页表大多驻留在内存中,在系统中只设置一个页表寄存器PTR,在其
中存放页表在内存的始址和页表的长度。
2.具有快表的地址变换机构:(P116)
为了提高地址变换速度,可在地址变换机构中,增设一个具有并行查寻能力的特殊高速缓冲寄存
器,又称为“联想寄存器”或称为“快表”,在IBM系统又取名TLB,用以存放当前访问的那些页表项。(通常只存放16~512个页表项)
4.3.3两级和多级页表P117:对于要求连续的内存空间来存放页表的问题,可利用将页表进行分
页,并离散地将各个页面分别存放在不同的物理块中的方法来解决,同样也要为离散分配的页表再建立一张也页表,称为外层页表,在每个页表项中记录了页表页面的物理块号。
4.4基本分段存储管理方式:
4.4.1分段存储管理方式的引入(的目的):
收集于网络,如有侵权请联系管理员删除
精品文档
主要是为了满足用户(程序员)在编程和使用上多方面的需要: 1)方便编程 2)信息共享 3)信息保护 4)动态增长 5)动态链接
4.4.2分段系统的基本原理
1.分段:在分段存储管理方式中,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。 2.段表:在分段式存储管理系统中,系统为每个分段分配了一个连续的分区,而进程中的各个段可以离
散地移入内存汇总不同的分区中。为使程序能正常运行,亦即,能从物理内存中找出每个逻辑段所对应的位置,应像分页系统那样,在系统中为每个进程建立一张段映射表,简称“段表”。每个段在表中占有一个表项,其中记录了该段在内存中的起始地址(又称为“基址”)和段的长度。段表是用于实现从逻辑段到物理内存区的映射。 3.地址变换机构P120 4.分页和分段的主要区别:
(1)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率(或者说,分页仅仅是由于系统管理的需要而不是用户的需要)。段则是信息的逻辑单位,分段的目的是为了能更好地满足用户的需要。
(2)页的大小固定且由系统决定,而段的长度却不固定,决定于用户所编写的程序。 (3)分页的作业地址空间是一维的,而分段的作业地址空间则是二维的。
4.4.3信息共享:分段系统的一个突出优点,是易于实现段的共享。
可重入代码:又称“纯代码”是一种允许多个进程同时访问的代码,一种不允许任何进程对它进行修改
的代码。
4.4.4段页式存储管理方式:分页系统能有效地提高内存利用率,而分段系统则能很好地满足用户
需要,把两者结合起来的新系统称为“段页式系统”。
1.基本原理:段页式系统的基本原理,是分段和分页原理的结合,即先将用户程序分成若干个段,再把每
个段分成若干个页,并为每一个段赋予一个段名。
2.地址变换过程:P124
在段页式系统中,为了获得一条指令或数据,须三次访问内存。第一次访问是访问内存中的段表,从中取得页表始址;第二次访问是访问内存中的页表,从中取出该页所在的物理块号,并将该块号页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。
4.5虚拟存储器的基本概念:
1.常规存储器管理方式的特征:(1)一次性(2)驻留性 (详见P125) 2.局部性原理:(详见125)(1)程序执行时,在大多数情况下是顺序执行的(2)过程调用的深度在大多数情况下都不超过5,即程序将会在一段时间内都局限在一定范围内运行(3)程序中存在许多由少数指令构成的循环结构。(4)程序中许多对数据结构的处理都局限在很小的范围内。
局限性表现在:(1)时间局限性 (2)空间局限性
收集于网络,如有侵权请联系管理员删除
精品文档
3.虚拟存储器定义:所谓虚拟存储器,是指具有请求调入功能和置换功能,能
从逻辑上对内
存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度。
4.5.2虚拟存储器的实现方法 1.分页请求系统:
这是在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。它允许只装入部分页面的程序(及数据),便启动运行。以后,再通过调页功能及页面置换功能,陆续地把即将要运行的页面调入内存,同时把暂不运行的页面换出到外存上。置换时以页面为单位。
为了能实现请求调页和置换功能,系统必须提供必要的硬件支持和相应的软件。
(1)硬件支持:①请求分页的页表机制②缺页中断机构③地址变换机构 (2)软件支持:用于实现请求调页的软件和实现页面置换的软件 2.请求分段系统:
这是在分段系统的基础上,增加了请求调段及分段置换功能后,所形成的段式虚拟存储系统。它允许只装入若干段(而非所有的段)的用户程序和数据,即可启动运行。以后再通过调段功能和段的置换功能,将暂不运行的段调出,同时调入即将运行的段。置换是以段为单位进行的。
硬件支持:(1)请求分段的段表机制(2)缺段中断机构(3)地址变换机构
收集于网络,如有侵权请联系管理员删除
计算机操作系统复习总结-汤子瀛知识讲解
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)