欢迎来到天天文库
浏览记录
ID:52253862
大小:1.80 MB
页数:68页
时间:2020-03-25
《【数据结构与数据库课件】4存储器管理.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、•存储器管理是指存储器资源(主要指内存)的管理。–存储空间的分配与管理;–地址重定位(逻辑地址与物理地址的对应关系)–存储保护–存储空间扩充:虚拟存储器技术以及各种调度算法。4.1地址重定位4.2分区存储管理4.3覆盖和交换4.4页面式存储管理4.5请求式页面存储管理4.6段式存储管理4.7段页式存储管理4.1地址重定位主存储器分为两部分:系统区,用户区存储管理主要管理用户区的存储空间地址空间和存储空间•名空间:程序中由符号名组成的空间。•逻辑地址(相对地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常
2、采用相对地址的形式。相对于0编址。•逻辑地址空间(地址空间):相对地址的集合。•物理地址(绝对地址):主存储器中一系列物理单元的编号。物理地址可直接寻址。•物理地址空间(存储空间):物理地址的集合。逻辑地址、物理地址和地址映射•逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。–其首地址为0,其余指令中的地址都相对于首地址来编址。–不能用逻辑地址在内存中读取信息。•物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。•地址映射:将用户程序中的逻辑地址转换
3、为运行时由机器直接寻址的物理地址。源程序逻辑地址空间物理地址空间0BA=1000LoadA,data1100LoadA,2001100LoadA,1200编译连接地址映射120034562003456。。data13456。逻辑地址、物理地址和地址映射地址重定位•地址重定位:实现程序的相对地址空间到绝对地址空间之间的映射。•程序在成为进程前的准备工作–编辑:形成源文件(符号地址)–编译:形成目标模块(模块内符号地址解析)–链接:由多个目标模块或程序库生成可执行文件(模块间符号地址解析)–装入:构造PCB,形成进程(使用物理地址
4、)•重定位方法:–静态重定位–动态重定位静态重定位在程序执行之前进行地址重定位,即可执行文件中装入主存时,由操作系统中的加载程序来完成地址映射。–重定位项:程序中涉及直接寻址的每条指令都要进行修改,需要修改的位置称为重定位项。–重定位项表:用相对地址给出需修改的位置。列出各个需要重定位的地址单元和相对地址值。•优点:容易实现,无需硬件支持。•缺点:程序在主存中只能连续分配;程序装入内存后不能移动;对共享的同一程序,各用户必须使用自己的副本,浪费存储空间。源程序逻辑地址空间物理地址空间0BA=1000LoadA,data110
5、0LoadA,2001100LoadA,1200编译连接地址映射120034562003456。。data13456。静态重定位可执行文件在内存中的重定位02000Relocation150150Table......jmpjmp15010021502100•说明:重定位表中列出所有修改的位置。如:重定位表的150表示相对地址150处的内容为相对地址(即100为从0起头的相对位置)。在装入时,要依据重定位后的起始位置(2000)修改相对地址。–重定位修改:重定位表中的150->绝对地址2150(=2000+150)–内容修改:
6、内容100变成2100(=100+2000))。动态重定位在程序运行期间进行重定位,装入和执行时通过硬件地址变换机构,完成虚拟地址到实际内存地址的变换•优点:–OS可以将一个程序分散存放于不连续的内存空间;可以移动程序。–有利用实现共享。•缺点:需要硬件支持(通常是CPU),是虚拟存储的基础。逻辑地址空间BR(基址寄存器)物理地址空间0...1000VR100LOADA,200200+LOADA,2001100...200345634561200...1300300动态重定位4.2分区存储管理基本思想:将主存储空间划分成若干
7、个连续的存储区,称为分区。每个分区只能存储一道程序,一个程序只能访问其所在分区的存储单元。缺点:不能充分使用存储空间。4.2分区存储管理单一连续区存储管理适用于单道程序系统•内存分为两个连续区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。•最简单,适用于单道程序设计的OS。•优点:易于管理。•缺点:对要求内存空间少的程序,造成内存浪费(空闲存储区)。0H中断矢量表操作系统界限寄存器7FFFH08000H用户程序区空闲区FFFFFH单一连续区存储管理分区存储管理•基本思想:把内存分为一些大小相等或不等连续区域-
8、---分区(partition),每个分区只能驻留一个程序。操作系统占用其中一个分区。•特点:适用于多道程序系统和分时系统–支持多个程序并发执行•问题:存在碎片(小得难以使用的分区)问题,可能存在内部碎片和外部碎片。–内部碎片:占用分区之内未被利用的空间–外部碎片:占用分区之
此文档下载收益归作者所有