主存管理主存管理主存管理主存管理主存管理概述主存管理概述主存管理的功能主存管理的功能分区存储管理分区存储管理页式存储管理页式存储管理段式及段页式存储管理段式及段页式存储管理LinuxLinux系统的存储管理系统的存储管理1主存管理——主要内容主存管理——主要内容2主存管理——主存管理概述主存管理——主存管理概述1.1.主存共享方式主存共享方式大小不等的区域大小不等的区域分区存储管理段式存储管理大小相等的区域大小相等的区域页式存储管理二者结合二者结合段页式存储管理3主存管理——主存管理概述主存管理——主存管理概述2.2.程序的逻辑组织程序的逻辑组织一维地址结构一维地址结构一个程序是一个连续、线性的地址结构;确定线性地址空间中的指令地址或操作数地址只需要一个信息。程序地址空间01n-14主存管理——主存管理概述主存管理——主存管理概述二维地址结构二维地址结构一个程序由若干个分段组成,每个分段是一个连续的地址区;确定任一线性地址空间中的指令地址或操作数地址需要两个信息,一是该信息所在的分段,另一个是该信息在段内的偏移量。code_addr4KB10代码分段data_addr3KB10数据分段stack_addr2KB10栈段1151.1.几个概念几个概念物理地址物理地址((绝对地址、实地址绝对地址、实地址))物理地址是计算机主存单元的真实地址,又称为绝对地址或实地址。主存空间主存空间物理地址的集合所对应的空间组成了主存空间。逻辑地址逻辑地址((相对地址、虚地址相对地址、虚地址))用户的程序地址(指令地址或操作数地址)均为逻辑地址。作业地址空间作业地址空间用户程序所有的逻辑地址集合对应的空间。主存管理——主存管理功能主存管理——主存管理功能6作业地址空间与主存空间作业地址空间与主存空间主存管理——主存管理功能主存管理——主存管理功能主存空间01m-1作业1地址空间01n-1作业i地址空间01k-17主存管理——主存管理功能主存管理——主存管理功能2.2.主存管理功能主存管理功能实现逻辑地址到物理主存地址的映射实现逻辑地址到物理主存地址的映射主存分配主存分配存储保护存储保护主存扩充主存扩充8主存管理——地址映射主存管理——地址映射3.3.地址映射地址映射什么是地址映射什么是地址映射将程序地址空间中使用的逻辑地址变换成主存中的物理地址的过程,称为地址映射。movr1,[500]1230100500599作业地址空间movr1,[500]12301000110015001599256k-1存储空间9主存管理——地址映射主存管理——地址映射在作业装入时确定地址映射关系在作业装入过程中随即进行的地址变换方式称为静态地址映射。movr1,[500]movr1,[500+m]01005005990mm+100256k-1作业地址空间存储空间m+500重定位装入程序123123地址映射的时机和类别地址映射的时机和类别编程或编译时确定地址映射关系在程序编写或程序编译时确定虚、实地址之间的对应关系,结果是一个不能浮动的程序模块。10主存管理——地址映射主存管理——地址映射在程序运行时确定地址映射关系在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射,这种地址变换方式称为动态地址映射。重定位寄存器1000500逻辑地址+0movr1,[500]1000256k-1存储空间110015001600123movr1,[500]0100500599作业地址空间12311主存管理——地址映射主存管理——地址映射静态地址映射与动态地址映射的区别静态地址映射与动态地址映射的区别静态地址映射动态地址映射在作业装入过程中在作业装入过程中在程序执行在程序执行期间期间进行地址映射进行地址映射进行进行地址映射地址映射需软件需软件需硬件地址变换机构需硬件地址变换机构重定位装入程序重定位装入程序重定位重定位寄存器寄存器需花费较多需花费较多CPUCPU时间时间地址变换快地址变换快不灵活不灵活灵活灵活12主存管理——主存管理功能主存管理——主存管理功能4.4.主存分配主存分配构造分配用的数据结构构造分配用的数据结构主存资源信息块主存资源信息块:等待队列;空闲区队列;主存分配程序制定策略制定策略主存分配策略————在众多个请求者中选择一个请求者的原则放置策略————在可用资源中,,...