《计算机操作系统》汤小丹概要.ppt

《计算机操作系统》汤小丹概要

* 2500 10000 LOAD 1,2500 365 LOAD 1,2500 365 0 100 2500 5000 10000 10100 12500 15000 相对地址 重定位寄存器 + 作业J 主存 图4-9 动态重定位示意图 处理机一侧 存储器一侧 三、动态重定位分区分配算法:该算法与动态分区分配算法基本相同;差别仅在于:在这种分配算法中,增加了“紧凑”功能,通常是在找不到足够大得空闲分区来满足用户需求时,进行紧凑。 5.4 对 换(SWAPPING) 1、多道程序环境下的对换 所谓对换,是指把内存中暂时不能运行的进程,或暂时不用的程序和数据,换出到外存上,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需的程序和数据,换入内存。 若对换是以整个进程为单位,便称之为整体对换,若对换是以“页”或“段”为单位进行,则分别称之为页面对换或分段对换,统称为部分对换。 为实现进程对换,系统需具备三方面的功能:一是对对换空间的管理;二是进程的换出;三是进程的换入。 2、对换空间的管理 具有对换功能的OS中,常把外存分为文件区和对换区。对换区用于存放从内存换出的进程,对对换区管理的主要目标是提高进程的换入换出速度,故采取的策略是用连续分配方式,而较少考虑碎片问题。 对对换区中的空闲盘块的管理,系统应配置的数据结构与内存动态分区分配相似,即采用空闲分区表或空闲分区链,但基本单位是盘块。 对换区空间的分配与回收与内存动态分区分配和回收时的方法雷同,其算法和操作也相同。 当OS内核因执行某些操作而发现内存不足时,便调用对换程序或唤醒对换进程,来实现进程的换出与换入。 一、进程的换出:是将内存中某些进程调至对换区,换出过程分为两步: 1)选出被换出进程:换出对象首先是选择处于阻塞或睡眠态的进程,有多个这样的进程时,应选优先级最低的。当内存已无阻塞进程,而当前的空闲内存空间仍不足时,便选择优先级最低的就绪进程。有的系统还要考虑低优先级进程在内存驻留的时间。 2)换出过程:换出的某个进程只能是非共享的程序段或数据段,而对于共享程序段或数据段,则要知道他们已不被其他进程所需要,才可以换出。此时应申请对换空间,申请成功,便可将程序和数据写入对换区,若传输中未出现错误,便可调用释放内存过程,释放该进程所占内存,最后对进程PCB和内存分配表等数据结构进行修改。此过程可继续执行到内存中无可换出进程为止。 二、进程的换入:对换进程执行换入操作时,先去检查PCB集合中所有进程状态,从中找出“就绪且换出”状态的进程。若有多个这样的进程,首先把其中换出时间最久的进程作为换入进程,再根据进程的大小为其申请内存,此时有两种可能:一是申请成功,直接将进程换入;二是申请失败,须先将内存中的某些进程换出,腾出足够的内存后,再将该进程换入。此过程直至所有“就绪且换出”状态的进程全部换入,或已无法获得足够大的内存来换入进程,此时对换进程才停止工作。 5.5 分页管理存储方式 连续分配方式会形成许多碎片,对碎片的紧凑要付出很大的开销。若进程可以直接分散分配到到许多不相邻接的分区中,就不必再进行紧凑。基于这一思想而产生了离散分配方式。根据离散分配时所用基本单位不同,离散分配方式可分为三种: 分页存储管理。该方式是将用户程序的地址空间划分成若干个固定大小的区域(称为页或页面);相应地,内存空间也被划分成若干个物理块,页和块的大小相等,典型大小为1KB。这样,用户程序的任意页可放在内存的任一块中。从而实现了离散分配。显然,内存中碎片的大小不会超过一页。 分段存储管理。该方式是把用户程序的地址空间分成若干个大小不等的段,每段可定义一组相对完整的逻辑信息。进行存储分配时,以段为单位,段在内存中可以不邻接。 段页式存储管理。分页和分段两种存储管理方式相结合的产物。 * 5.5.1 分页存储管理的几个基本概念 1、页面和页面大小 (页面) 0 1 1 3 2 4 3 5 4 7 5 … … (物理块) 用户程序 页 表 页号 块号 内存 0 1 2 3 4 5 6 7 0 页 1 页 2 页 3 页 4 页 5 页 … N 页 2、页表 其作用是实现从页号到物理块号的地址映射,分页系统为每个进程建立一张页面映射表。进程地址空间中的所有页依次在页表中有一表项。进程执行时,通过查找页表即可找到每页在内存中的物理块号。页表的表项中还设有存取控制字段等。 页面的大小是由机器的地址结构所决定,即由硬件决定,某种机器只能采用一种大小的页面。页面的大小应选择适中。 3、地址结构: 对于某种特定机器,其地址结构是一定的。若给定一个逻辑地址空间中的地址为A,页面的大小为

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档