段式存储管理与虚存.ppt
文本预览下载声明
第十二讲 段/段页式存储管理与虚存 目的与要求:了解段/段页式管理,掌握虚存管理. 重点与难点:虚存管理系统内存访问过程 作业:17, 34 5.2.2 段式管理 页式管理:对用户而言不自然 0 1 2 3 4 5 程序段 数据段 0 1 2 主程序 SIN 0 1 2 主程序 SIN 作业1 作业2 段式管理的特点:按作业的自然段将其逻辑空间分成若干段,作业以段为单位分配内存。 一、空间安排 用户作业逻辑空间为二维空间,由若干自然段组成。 逻辑地址:段号.段内偏移,记作S,d。编译及装配时把所有地址记成(s,d)的形式。 物理内存空间管理:与多道可变划分法一样,系统以段为单位分配物理内存。 主程序 子程序1 子程序2 栈 数据 逻辑空间 子程序2 主程序 栈 数据 OS 子程序1 物理空间 二、动态地址转换 保护码 段长 本段内存始地 段表:由如下格式的段表项组成,作业每段由一个段表项表示. 段表放于系统空间,进程PCB表中存有段表始地址、段表长度。 段表始地址寄存器、段表长度寄存器 段号 保护码 段长 段内存始址 ... ... ... ... 保护码 段长 段内存始址 ... ... ... S d 段表始址 段表长度 ≥ + + PA 越界 地址转换过程 LA 联想存储器 三、共享 若共享的段引用自身的某个地址,则各进程必须用同一段号来共享这一段。 (1) SQRT(A,Y) (2) IF X0 THEN GOTO (SQRT,L) (3) … (4) … (5) (SQRT,L):… (6) … GOTO (SQRT,L) GOTO (段号,L) 对于用户而言,段页式管理与段式相同,用户逻辑地址只涉及段号与段内位移。 对于物理内存管理而言,它与页式系统相同。 系统内的逻辑地址:段号 · 段内位移 -- 段号·页号·页内位移。记作:S,P,d. 5.2.3段页式管理 特点:将作业分成若干段,每段用页式管理实现内存分配。 一、空间安排 作业空间的内部表示 主程序 子程序 数据 保护码 长度 页表始地 OS 段表 页表 主存 作业 段表+页表 二、动态地址转换 段号 页号 保护码 页帧号 ... ... ... ... S p d 段表始址 段表长度 ≥ + 越界 + f f d 段表 页表 三、保护与共享 保护与段式管理相同。 共享则可以以页为单位,也可以共享页表。 等效访问时间:设访存时间为750ns,搜索联想存储器的时间为50ns,命中率为95%,则 95% *(750+50) + 5% * (50+750+750+750)) = 875ns 段表 主程序 子程序 数据 作业1 主程序 子程序 数据 作业2 段表 页表 OS 主存 “放” 连续存放 单道连续划分 多道连续固定划分 多道连续可变划分 不连续存放 页式存储 段式存储 段页式存储 5.7.1虚存的基本思想 5.3 虚存 目的:提供用户进程一个巨大的虚拟存储空间. 手段:利用外存(磁盘)实现此虚空间. 系统为进程提供一个比物理内存大得多的虚拟存储空间,逻辑空间大小不受物理内存大小的限制。 逻辑空间的容量由系统的有效地址长度决定。假设地址长度为32,按字节寻址,则逻辑空间(虚存空间)大小为232个字节。 实现该虚空间的基本方法是: 在页式(段式、段页式)管理的基础上,仅将进程的一部分页(段)放于主存。页(段)表项中注明该页(或段)是否在主存。程序执行时,如果访问的页(段)不存主存,根据页(段)表项的指示,将其从外存调入主存,如果此时无可用的内存空间,则先淘汰若干页帧(段)。 内存 进程虚存 (进程页表) 外存交换区 外存执行文件 页式虚存示意 交换区(SWAP):进程刚建立时,页面在辅存即程序文件所在的辅存位置。但程序文件中一般包含有程序的二进制目标码及数据初始值并说明了初值为0的工作区。数据页以及在程序执行过程中动态申请的空间页在内存被剥夺要回写时不能写入程序文件,因此引入了交换区,在需要让其让出内存时将写入交换区中。 一、页表项结构: 合法位 修改位 页类型 保护码 外存块号 页帧号 合法位:置上表示该页在内存. 修改位:置上表示该页被修改过,在释放或淘汰 时应写回外存。 页类型:零页:表示该页在分配物理页帧时应
显示全部