【教学课件】第四章存储器管理.ppt
《【教学课件】第四章存储器管理.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第四章存储器管理.ppt(143页珍藏版)》请在三一办公上搜索。
1、1,2023/8/7,第四章 存储器管理,4.1 内存管理概述4.2 连续分配存储管理方式4.3 基本分页存储管理方式4.4 基本分段存储管理方式4.5 虚拟存储器概念及关键技术4.6 请求分页存储管理方式4.7 请求分段存储管理方式,2,2023/8/7,用户程序处理过程,内存,装入程序,源程序,装入模块,链接程序,库,编译程序,目标模块,符号名空间,目标地址空间,统一的目标地址空间,物理地址空间,数据和指令构成:存取访问问题,布局?,3,2023/8/7,程序处理与内存管理,程序地址空间及形成目标模块(由编译/汇编得到):相对地址链接过程实现各目标模块相对地址的统一内存管理物理部件MMU负
2、责将逻辑地址转换为物理地址X86体系结构MMU支持分页和分段机制内存管理方式实模式和保护模式,4,2023/8/7,程序的链接,链接过程根据外部访问符号名表,将经过编译或汇编得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块关键问题修改相对地址变换外部调用符号链接方式静态链接方式、装入/运行时动态链接方式,5,2023/8/7,程序的链接过程,6,2023/8/7,链接方式比较,静态链接方式可执行文件、难以实现“内存”模块共享装入时动态链接便于软件版本的修改和更新便于实现目标模块为多个应用程序共享运行时动态链接将某些目标模块的链接推迟到执行时根据是否需要再完成,7,2023/8
3、/7,程序的装入,基本目标及相关问题由装入程序将装入模块载入到内存装入位置、地址变换(重定位)及时机关键概念相对地址、绝对地址、重定位及其寄存器装入方式绝对装入方式(单道程序环境)静态可重定位装入方式(多道程序环境)动态运行时装入方式(运行中移动位置),8,2023/8/7,绝对装入模块和可重定位装入模块,9,2023/8/7,(静态/动态)可重定位,重定位程序装入或执行时对装入模块或目标程序中的指令及数据地址的修改过程静态重定位由重定位装入程序在将装入模块装入内存时一次性完成重定位需要连续存储空间,装入后不能移动动态重定位需要特殊硬件(地址变换机构)支持,以保证地址转换不会影响指令的执行速度
4、便于动态链接和代码共享,10,2023/8/7,动态重定位示意图,CPU,10000,相对地址2500,+,重定位寄存器,内存,物理地址12500,10000,10100,12500,15000,0,100,2500,5000,作业J,11,2023/8/7,操作系统内存管理功能要求,内存分配使各得其所、提高利用率及适应动态增长要求连续分配/离散分配方式地址映射逻辑地址转换为物理地址,与分配方式相关内存保护基于地址的保护、存取访问控制保护内存扩充对换技术、虚拟存储技术,12,2023/8/7,作业题,4.1 谈谈你对程序处理过程及内存管理相关概念与关键问题的认识与理解。同时并就各种可能的程序链
5、接方式和程序装入方式进行比较和展开讨论。,13,2023/8/7,第四章 存储器管理,4.1 内存管理概述4.2 连续分配存储管理方式4.3 基本分页存储管理方式4.4 基本分段存储管理方式4.5 虚拟存储器概念及关键技术4.6 请求分页存储管理方式4.7 请求分段存储管理方式,14,2023/8/7,4.2 连续分配存储管理方式,4.2.1 单一连续分配存储管理4.2.2 固定分区分配存储管理4.2.3 动态分区分配存储管理4.2.4 动态可重定位分区分配 对换技术,15,2023/8/7,单一连续分配方式,内存划分为系统区和用户区整个用户区为一个用户独占,仅驻留一道程序静态链接和动态重定位
6、技术、存储器保护措施仅适用于单用户、单任务操作系统中,16,2023/8/7,4.2 连续分配存储管理方式,4.2.1 单一连续分配存储管理4.2.2 固定分区分配存储管理4.2.3 动态分区分配存储管理4.2.4 动态可重定位分区分配 对换技术,17,2023/8/7,固定分区分配方式,用户区分为若干固定区域每个分区可装入一道作业分区划分方法(等分/不等分)分区说明表与内存分配算法可用于多道程序存储管理,A:B:C=15:30:50,存储空间分配情况,18,2023/8/7,4.2 连续分配存储管理方式,4.2.1 单一连续分配存储管理4.2.2 固定分区分配存储管理4.2.3 动态分区分配
7、存储管理4.2.4 动态可重定位分区分配 对换技术,19,2023/8/7,动态分区分配方式,基本思想根据进程的实际需求,动态地对内存空间进行分配、回收及划分关键问题分区分配用数据结构分区分配算法分区分配与回收操作碎片(零头)处理,?黑板教学,20,2023/8/7,分区分配用数据结构,空闲分区表,空闲分区链,N+4,N+4,N个字节可用,分区大小,21,2023/8/7,分区分配算法,首次适应算法FF要求空闲分区链以地址递增次序链接查找开销大,但有利于大作业分配循环首次适应算法首次适应+起始查寻指针+循环查找减少查找开销,但不利于大作业分配最佳适应算法追求既能满足要求且又最小的空闲分区 要求
8、空闲分区按大小递增次序链接微观意义上的最佳与宏观上的零头问题,最坏适应算法?,22,2023/8/7,动态分区内存分配流程,分配单位?,23,2023/8/7,动态分区内存回收情况,24,2023/8/7,动态分区内存回收流程,25,2023/8/7,4.2 连续分配存储管理方式,4.2.1 单一连续分配存储管理4.2.2 固定分区分配存储管理4.2.3 动态分区分配存储管理4.2.4 动态可重定位分区分配 对换技术,26,2023/8/7,动态重定位分区分配方式,紧凑连续分配要求程序装入内存空间的连续性分区分配产生的零头/碎片问题通过移动把多个分散拼接成大分区用户程序内存地址变化及地址修正问
9、题动态重定位动态运行时装入方式及重定位寄存器动态重定位分区分配算法动态分配分区算法+紧凑功能,27,2023/8/7,紧凑(拼接)技术,紧凑前,紧凑后,28,2023/8/7,动态重定位分区分配流程,29,2023/8/7,4.2 连续分配存储管理方式,4.2.1 单一连续分配存储管理4.2.2 固定分区分配存储管理4.2.3 动态分区分配存储管理4.2.4 动态可重定位分区分配 对换技术,30,2023/8/7,多道程序环境下的对换,对换的概念及意义内存(进程、程序、数据)外存提高内存利用率对换实现机制UNIX:对换进程(中级调度)对换实现方式进程对换:分时系统页面/分段对换:虚拟存储技术,
10、31,2023/8/7,对换空间的管理,文件区和对换区功能、管理目标及管理方式对换区使用情况数据结构空闲盘区表/链(盘块组为基本单位)对换区分配与回收操作分配算法分配操作回收操作,32,2023/8/7,进程的换出和换入,进程的换出被换出进程的选择(进程状态+优先级+内存驻留时间)换出过程(换出非共享或不再共享的程序及数据段对换空间申请换出内存释放内存分配数据结构及PCB修改)进程的换入被换入进程的选择(进程状态+换出时间)换入过程(内存申请换入 PCB修改),33,2023/8/7,4.2 连续分配存储管理方式,4.2.1 单一连续分配存储管理4.2.2 固定分区分配存储管理4.2.3 动态
11、分区分配存储管理4.2.4 动态可重定位分区分配 对换技术,34,2023/8/7,作业题,4.2 从内存管理的各个方面比较单一连续分配、固定分区分配、动态分区分配以及动态可重定位分区等存储管理方式的异同,特别注意相关数据结构和算法的理解。4.3 谈谈你对覆盖技术与对换技术的认识与理解。,35,2023/8/7,第四章 存储器管理,4.1 内存管理概述4.2 连续分配存储管理方式4.3 基本分页存储管理方式4.4 基本分段存储管理方式4.5 虚拟存储器概念及关键技术4.6 请求分页存储管理方式4.7 请求分段存储管理方式,36,2023/8/7,4.3 基本分页存储管理方式,4.3.1 离散存
12、储管理方式4.3.2 页面与页表4.3.3 地址变换机构 两级和多级页表 反置页表,37,2023/8/7,离散存储管理方式,连续存储管理方式弊端碎片问题及紧凑开销离散分配方式分页存储管理分段存储管理段页式存储管理,38,2023/8/7,4.3 基本分页存储管理方式,4.3.1 离散存储管理方式4.3.2 页面与页表4.3.3 地址变换机构 两级和多级页表 反置页表,39,2023/8/7,页面与页表,页面和物理块进程逻辑地址空间及内存空间的划分页面编号与物理块编号内存分配与页内碎片内存页表与进程页表页面映射表及其表项(物理块号、存取控制字段)页面大小选择由机器的地址结构所决定页面大/小评析
13、29B8KB之间,40,2023/8/7,物理块表(内存页表),41,2023/8/7,位示图,利用位示图(即二维数组Mapm,n)的一位(0/1)来表示一个内存物理块(或磁盘盘块)的使用情况,使内存所有物理块(或磁盘上所有盘块)都与一个二进制位相对应,1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 1 11 1 0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0,1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16,123m,42
14、,2023/8/7,物理块(盘块)的分配,Var Map:array 1.m,1.n of bit;顺序扫描位示图,找出一个或一组其值均为空闲的二进制位将所找到的一个或一组二进制位Mapi,j的行/列号转换为与之对应的物理块(盘块)号b:b=n(i-1)+j-1按物理块(或盘块)号分配物理块(或盘块),同时修改位示图,43,2023/8/7,物理块(盘块)的回收,将回收物理块(或盘块)的物理块(或盘块)号b转换为位示图中的行号i和列号j:i=b DIV n+1;j=b MOD n+1;按物理块(或盘块)号回收物理块(或盘块)根据回收物理块(或盘块)对应二进制位的行/列号修改位示图,44,202
15、3/8/7,(进程)页表,用户程序,页表,页号,块号,内存,45,2023/8/7,分页存储地址结构及地址变换,分页存储管理地址结构 31 12 11 0 页 号 页内地址逻辑地址与页号及页内偏移地址之间的换算PageNo=INTAddr/PageLengthPageOffset=Addr MOD PageLength举例:对于1KB页面,若给定逻辑地址2170B,则 PageNo=2,PageOffset=122地址变换任务关键在于页号到物理块号的转变,46,2023/8/7,4.3 基本分页存储管理方式,4.3.1 离散存储管理方式4.3.2 页面与页表4.3.3 地址变换机构 两级和多级
16、页表 反置页表,47,2023/8/7,基本的地址变换机构,页表寄存器,逻辑地址寄存器,页表,物理地址寄存器,+,越界中断,页号,物理块号,0,1,2,3,48,2023/8/7,具有快表的地址变换机构,页表寄存器,逻辑地址寄存器,页表,物理地址寄存器,+,越界中断,页号,物理块号,0,1,2,3,输入寄存器,页号,物理块号,快表,49,2023/8/7,快表引入前后数据存取速度比较,假定快表检索时间为20ns,内存访问时间为100ns,则若能在快表中找到CPU给出的页号,CPU为存取一个数据将需要(100+20)=120ns;而若不能在快表中找到CPU给出的页号,CPU为存取一个数据将需要(
17、100+100+20)=220ns。进一步说,若假定快表查找命中率为80%,则其有效访问时间为12080%220(180%)=140ns。,50,2023/8/7,4.3 基本分页存储管理方式,4.3.1 离散存储管理方式4.3.2 页面与页表4.3.3 地址变换机构 两级和多级页表 反置页表,51,2023/8/7,页表空间问题及对策,页表空间问题现代计算机系统支持非常大的逻辑地址空间(232264),页表变得庞大。例如,对于具有32位逻辑地址空间的分页系统,规定页面大小为4KB即212B,则每个进程页表的页表项可达1M个;若同时设定页表项大小为4B,则每个进程仅页表便需占用4MB 内存空间
18、,且要求是连续的解决方案多级页表(页表分页及对换)或反置页表,52,2023/8/7,两级页表结构基本方法,基本思想对页表按内存物理块大小进行分页,对它们进行编号并离散地存放于不同的物理块中;同时为离散分配的页表分页再建立一张页表,称之为外层页表,以记录各页表分页对应的物理块号以前述32位逻辑地址空间、页面大小为4KB的系统为例,若采用一级页表结构,则每个进程页表的页表项可达1M个;而若采用两级页表结构,由于各页表分页包含4KB/4B=1K个页表项,故需1K个页表分页即可,因此外层页表的外层页号及内层页号均为10位。此时逻辑地址结构为:31 22 21 12 11 0 外 层 页 号 内 层
19、页 号 页 内 地 址,53,2023/8/7,两级页表结构示意图,外层页表,第0页页表,内存,0,1,2,n,0,1,2,1023,第1页页表,0,1,1023,第n页页表,0,1,1023,1,2,6,7,114,0,4,5,3,115,1468,54,2023/8/7,具有两级页表的地址变换结构,外层页表寄存器,逻辑地址寄存器,页表,物理地址寄存器,+,越界中断,内层页号,物理块号,外层页表,外层页号,分页页表起始地址,+,55,2023/8/7,多级页表结构,对于64位计算机,如规定页面大小仍为4KB,则每个进程的页表项可达264/4K=252个,且外层页表可能有252/210=242
20、个页表项;即使按每个页表分页1M个页表项来划分,页表分页将达到4MB,而外层页表仍有252/220=4G个页表项,要占用16GB的连续内存空间。可见,无论怎样划分,其结果都是不能接受的。因此,必须采用多级页表,将16GB的外层页表再进行分页,并将各个分页离散的分配到不相邻接的物理块中,在利用第二级的外层页表来映射它们之间的关系。事实上,对于64位的机器,用三级页表结构都很难适应,56,2023/8/7,4.3 基本分页存储管理方式,4.3.1 离散存储管理方式4.3.2 页面与页表4.3.3 地址变换机构 两级和多级页表 反置页表,57,2023/8/7,反置页表,一般页表的表项是按页号进行排
21、序,而页表项内容包括物理块号的;反置页表则是为每一个物理块设置一个页表项并将它们按物理块的号数排序,页表项内容包括对应页号及其隶属进程的标识符在利用反置页表进行地址变换时,是用进程标识符和页号去检索反置页表。若找到与之匹配的表项,则以该表项序号即该页所在物理块号与页内地址构成物理地址;否则地址出错或产生调页中断请求进程外部页表的设立及反置页表Hash检索,58,2023/8/7,反置页表地址变换机构,逻辑地址寄存器,反置页表,物理地址寄存器,PID/页号,物理块号,0,1,59,2023/8/7,4.3 基本分页存储管理方式,4.3.1 离散存储管理方式4.3.2 页面与页表4.3.3 地址变
22、换机构 两级和多级页表 反置页表,60,2023/8/7,作业题,4.4 从=分页内存管理的各个方面等存储管理方式的异同,特别注意相关数据结构和算法的理解。4.5 谈谈你对技术的认识与理解。,61,2023/8/7,第四章 存储器管理,4.1 内存管理概述4.2 连续分配存储管理方式4.3 基本分页存储管理方式4.4 基本分段存储管理方式4.5 虚拟存储器概念及关键技术4.6 请求分页存储管理方式4.7 请求分段存储管理方式,62,2023/8/7,4.4 基本分段存储管理方式,4.4.1 分段存储管理方式的引入4.4.2 分段系统的基本原理4.4.3 信息共享 段页式存储管理方式,63,20
23、23/8/7,分段存储管理方式的引入,满足用户在编程和使用上的多方面要求方便编程(作业基于逻辑关系自然分段)LOAD 1,A|;STORE 1,B|;信息共享信息保护(分段作为信息的逻辑单位)动态链接动态增长(特别是数据段地动态增长),64,2023/8/7,4.4 基本分段存储管理方式,4.4.1 分段存储管理方式的引入4.4.2 分段系统的基本原理4.4.3 信息共享 段页式存储管理方式,65,2023/8/7,分段,作业地址空间被划分为若干段,每个段定义了一组逻辑信息,如主程序MAIN、子程序段X、数据段D及栈段S,各段均有自己的名字(段号)每个段都从0开始编址,并采用一段连续的地址空间
24、,且段的长度取决于相应的逻辑信息组的长度,因而各段长度可不等整个作业的地址空间是二维的,其逻辑地址有段号(名)和段内地址所组成31 16 15 0 段 号 段内地址,66,2023/8/7,利用段表实现地址映射示意图,作业空间,段表,内存,段长,段号,0,1,(MAIN)=0,0,30K,(X)=1,0,20K,(D)=2,0,15K,(S)=3,0,10K,基址,2,3,(MAIN)=030K,(X)=120K,(D)=2 15K,(S)=3 10K,40K,80K,120K,150K,67,2023/8/7,分段系统地址变换机构,段表寄存器,逻辑地址寄存器,段表,物理地址寄存器,+,越界中
25、断,段长,段号,0,1,基址,2,3,+,越界中断,低四位为0,68,2023/8/7,分页与分段存储管理的比较,相似之处实现机制(离散分配、地址映射机构)目的及内涵系统管理需要/用户需要、物理/逻辑单位分页/段长度固定与否、决定因素(系统硬件/信息性质)作业地址空间维数一维/二维、程序员编程,69,2023/8/7,4.4 基本分段存储管理方式,4.4.1 分段存储管理方式的引入4.4.2 分段系统的基本原理4.4.3 信息共享 段页式存储管理方式,70,2023/8/7,可重入代码(纯代码),一种允许多个进程同时访问的代码为使各个进程所执行的代码完全相同,绝对不允许可重入代码在执行中有任何
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第四 存储器 管理
链接地址:https://www.31ppt.com/p-5664985.html