操作系统 第四章 存储管理.ppt
文本预览下载声明
第 4 章 存储器管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 5.分区的共享 如果每个进程只能占用一个分区,则不允许各道进程有公共的共享区域,当有多道程序要使用同一程序时必须在各自存储区都存放一个副本,降低了内存利用率 可提供多对基址/限长寄存器,允许一个进程占用多个分区 系统规定某对基址/限长寄存器限定区域为共享的,共享区只能执行/读出,不能写入 6.移动技术 可变分区中由于每次分配的空闲区大小不一定与作业正好相等,因此会产生内存碎片,虽总和大,但不连续而无法利用 可用移动技术解决内存碎片,即朝一个方向移动已分配的作业,让小的空闲区在另一方向连成一片 分区移动要求能对作业重定位,系统开销较大 例:P102图4.11 7.覆盖与交换 可能存在当前内存大小无法满足作业/进程的要求 覆盖:让一个作业的几个代码段/数据段按时间先后顺序占用公共内存空间,以满足在较小的可用内存中运行较大的程序(程序必要部分常驻内存,其它部分在其它模块实现,存放在外存,需要时装入)例:p103图4.12 交换:多进程并发时,暂不执行程序(阻塞/低优先级)送到外存,从外存读入就绪进程/装入新程序 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 执行一次访问内存操作至少要访问主存两次。 一次访页表,以确定所取数据或指令的物理地址; 另一次是根据物理地址取数据或指令。 为了提高存取速度,通常设置一个专用的高速缓冲寄存器组,用来存放页表的一部分。 我们把存放在高速缓冲寄存器中的页表叫快表。 程序的局部性原理: ( 1968年,P.Denning研究了程序执行时的局部性原理。 ) 指程序在执行过程中的一个较短时间内,所执行的指令地址或数据地址分别局限于一定的存储区域中。包括时间局部性和空间局部性。 第一,程序中只有少量分支和过程调用,大都是顺序执行的指令。 第四章 存储管理 第四章 存储管理 第四章 存储管理 段式动态地址变换与页式管理基本相同,在进程运行时,由系统将该进程的段表始址和段表长度送入控制寄存器中; 当访问某段(S)时,其逻辑地址(S,W)中的段号S先与控制寄存器的段表长度相比较,若S段表长度,则产生段号越界中断,停止作业运行; 否则将段号S与控制寄存器的段表始址相加,形成访问段表的主存地址。 将段内地址与段长进行比较,如大于则地址越界,否则把段地址加上段内存首址得到实际物理地址。 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 第四章 存储管理 分段结构具有逻辑上清晰的优点,但它的一个致命弱点是每个段必须占据主存储器的连续区域,于是,要装入一个分段时可能要移动已在主存储器中的信息, 为了克服这个缺点,可兼用分段和分页的方法,构成段页式存储管理。 进程仍按逻辑分段,但对每一段不是按单一的连续整体存放到存储器中,而是把每个段再分成若干个页面,每一段不必占据连续的主存空间,可把它按页存放在不连续的主存块中。 第四章 存储管理 第四章 存储管理 段是信息的逻辑单位,是根据用户的需要划分的,因此段对用户是可见的; 页是信息的物理单位,是为了管理主存的方便而划分的,对用户是透明的。 页的大小固定不变,由系统决定。段的大小是不固定的,它由其完成的功能决定。 段式管理向用户提供的是二维地址空间,这种二维地址结构需要编译程序的支持。页式管理向用户提供的是一维地址空间,从0开始顺序递增,其页号和页内偏移的划分是机器硬件的功能。 由于段是信息的逻辑单位,因此便于存储保护和信息的共享,页的保护和共享受到限制。 1.段页的划分 先由用户将用户程序分为若干个段,并为每个段赋予一个段名。再由系统将每个段独立地划分成若干页,进程以页为单位进驻内存 2. 逻辑地址形式 3.段表与页表 每个进程拥有一张段表,每个段拥有一张页表 4.地址变换过程 存取权限 内存首地址 段长 段号 段表 页表首地址 页表长度 段号 书本P124,图4.33 书本P125,图4.34 为了获得一条指令或数据,需要三次访问内存。 相同之处: 分页管理与分段管理的相同与不同 ● 同样提供虚存; ● 地址转换机构十分相似 进程在内存中不连续存储,通过动态地址重定位实现地址映射。 不同之处: 第二,很少出现连续的过程调用,相反,程序中过程调用的深度限制在小范围内,一段时间内,指令引用被局限在很少
显示全部