操作系统第四章.ppt
- 文档编号:18748105
- 上传时间:2023-10-27
- 格式:PPT
- 页数:29
- 大小:742KB
操作系统第四章.ppt
《操作系统第四章.ppt》由会员分享,可在线阅读,更多相关《操作系统第四章.ppt(29页珍藏版)》请在冰点文库上搜索。
第4章存储器管理,目标:
方便用户使用、提高内存的利用率以及从逻辑上扩充存储空间。
存储管理机构必须解决以下问题内存分配:
为每道程序分配内存空间,分配时要尽量提高内存的利用率内存保护:
保证进程间互不干扰、相互保密地址映射(变换):
进程逻辑地址到内存物理地址的映射内存扩充(覆盖、交换和虚拟存储):
提高内存利用率、扩大进程的内存空间内存管理使用的技术分区式管理:
固定式、可变式分区页式管理段式管理段页式管理,第4章存储器管理,程序的装入和链接连续分配方式(单一连续分配、固定分区分配、动态分区分配、可重定位分配方式、覆盖和对换)分页式存储管理方式基本分页式存储管理(实存)请求分页式存储管理(虚存)分段(包含段页式)存储管理基本分段式存储管理(实存)请求分段式存储管理(虚存)UNIX内存管理,一、程序的装入和链接,用户程序的处理步骤,程序的装入和链接,程序的装入绝对装入方式可重定位装入方式动态运行时装入方式程序的链接静态链接装入时动态链接运行时动态链接,逻辑地址、物理地址和地址映射,逻辑地址(相对地址,虚地址):
用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。
其首地址为0,其余指令中的地址都相对于首地址来编址,称为相对地址。
而相对地址的集合称作相对地址空间或简称地址空间。
不能用逻辑地址在内存中读取信息。
物理地址(绝对地址,实地址):
内存中存储单元的地址。
物理地址可直接寻址。
而内存单元的集合称作存储空间或绝对地址空间。
地址映射(重定位):
将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。
当程序装入内存时,操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致,而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。
逻辑地址、物理地址和地址映射,绝对装入方式,如果在编译时,事先能够知道程序将驻留在内存的什么位置,则编译程序可直接将程序的符号地址转换成绝对地址,产生使用绝对地址的目标模块,进而链接成使用绝对地址的装入模块。
这样,装入程序便可按装入模块中的地址将程序和数据装入内存,而不需对模块中的地址部分进程修改。
优点:
装入过程简单。
缺点:
不适于多道程序系统。
可重定位装入方式,静态重定位:
当用户程序装入内存时,由装入程序一次性完成逻辑地址到物理地址的转换,以后不再转换。
而相应的装入方式则称作可重定位装入方式。
优点:
不需硬件支持,可以装入有限多道程序。
缺点:
一个程序通常需要占用连续的内存空间,程序装入内存后不能移动。
静态重定位示意图,动态运行时装入方式,动态重定位:
重定位不是在装入时进行,而是必须将它推迟到程序真正执行时进行。
为了不影响指令的执行速度,在系统中增设一个重定位寄存器,用它来存放程序(数据)在内存中的起始地址。
程序执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而成的。
(它是虚拟存储的基础)采用动态重定位的装入方式被称为动态运行时装入方式。
优点:
允许运行中的进程在内存中移动,比如进行对换或紧凑后。
缺点:
需要硬件支持。
动态重定位示意图,程序的链接,链接是将编译后得到的各个目标模块以及所需的库函数连接在一起,形成一个完整的装入模块。
链接程序必须将个目标模块中的相对地址和外部调用符号转换成装入模块中的相对地址。
根据链接时间的不同,将链接分成三种方式。
静态链接装入时动态链接运行时动态链接,动态链接,静态链接,静态链接:
在程序运行之前,将各目标模块及它们所需的库函数,连接成一个完整的装入模块。
装入时动态链接,装入时动态链接是指链接在装入时进行,即在装入一个目标时,若发生一个外部模块的调用事件,则由装入程序去找出相应的外部模块,将它装入内存,并把它链接到调用者模块上。
在装入或运行时进行链接。
通常被链接的共享代码称为动态链接库(DLL,Dynamic-LinkLibrary)或共享库(sharedlibrary)。
例如:
使用一个外部声明子句,使DLLs在应用程序开始执行前即被装入。
procedure/function过程/函数名;externalDLL模块名;,运行时动态链接,运行时动态链接是指链接在运行时进行,即在执行过程中,当发现一个被调用模块还没有装入内存时,立即由os找出该模块,将它装入内存,并把它链接到调用者模块上。
在windows程序中,程序员使用LoadLibrary把DLL装入内存并且映射DLL到调用进程的虚拟地址空间(如果已经作了映射,则增加DLL的引用计数)。
然后,使用GetProcessAddress得到DLL中输出函数的地址,并调用它。
最后,使用FreeLibrary减少DLL的引用计数,当引用计数为0时,把DLL模块从当前进程的虚拟空间移走。
(一个小例子),运行时动态链接,优点共享:
多个进程可以共用一个DLL,节省内存,减少文件交换。
便于局部代码修改:
即便于代码升级和代码重用;只要函数的接口参数(输入和输出)不变,则修改函数及其DLL,无需对可执行文件重新编译或链接。
便于运行环境适应:
调用不同的DLL,就可以适应多种使用环境和提供不同功能。
如:
不同的显示卡只需厂商为其提供特定的DLL,而OS和应用程序不必修改。
部分装入:
一个进程可以将多种操作分散在不同的DLL中实现,而只将当前操作相应的DLL装入内存。
缺点:
链接开销:
增加了程序执行时的链接开销;管理开销:
程序由多个文件组成,增加管理复杂度。
二、连续分配方式,单一连续分配方式:
这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。
采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空间,提供给用户使用。
固定分区分配,第4分区(未分配),分区号,大小,起始地址,标志,1,2,3,4,20K,36K,68K,132K,16K,32K,64K,124K,已分配,已分配,已分配,未分配,操作系统,作业A,作业C,作业B,0,20K,36K,68K,132K,第1分区,第2分区,第3分区,(b)内存分配图,(a)分区说明表,划分分区的方法:
(1)分区大小相等;
(2)分区大小不等。
动态分区分配,空闲分区表,为了实现动态分区,必须配置相应的数据结构,用来描述空闲分区和已分配分区的情况。
常用的数据结构有以下两种形式:
顺序表形式和链表形式。
已分配分区表,动态分区分配,空闲链结构,链表形式:
动态分区示例,内存分配变化,动态分区分配算法,分配算法一般有:
首次适应(FirstFit)算法:
它按序查找,把最先找到的满足需求的空闲区分配之,此法的目的在于尽量减少查找时间。
循环首次适应算法(NextFit):
此法将空闲区链成环形链,每次分配从上次分配的位置开始查找能满足需求的空闲区。
最佳适应(BestFit)算法:
它从全部空闲区中找出能满足作业需求的容量最小的空闲区分配之,此法的着眼点是使碎片尽量小。
最坏适应(WorstFit)算法:
此法的目的在于使剩下的空区最大,减少空区碎片机会。
动态分区的分配流程,设:
请求的分区大小为u.size,表中每个分区的大小为m.size。
动态分区的回收示意图,可重定位分区分配,为了解决“外部碎片”的问题,将内存中的所有作业进行移动,从而将分散的多个空闲分区移到同一端拼接成一个大的空闲分区。
这种技术称为“拼接”或“紧凑”。
可重定位分区分配方式就是在动态分区分配方式的基础上增加了紧凑功能。
由于紧凑时,作业需要在内存中移动位置,需要动态重定位技术的支持,因此该方式又被称为动态重定位分区分配。
可重定位分区分配算法,分区的保护,在连续分配方式中,为了防止一个用户作业破坏os或其他用户的作业,常采用界限寄存器或保护键的方法来进行分区的保护。
界限寄存器:
它可以是一对上、下限寄存器,也可以是一对基址、限长寄存器。
每当进行内存访问时,硬件自动将所访问的内存地址与界限寄存器的值进行比较,若发生地址越界,则产生越界中断。
保护键:
它为每个分区分配一个独立的保护键,相当于一个锁;同时为每个进程分配一个相应的钥匙。
当进行内存访问时,都要检查钥匙和被访问单元的锁是否匹配,若不匹配,则发生保护性中断。
对换技术,所谓“对换”,是指把内存中暂时不能运行的进程或者暂时不用的程序和数据,调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据,调入内存。
对换能从逻辑上扩充内存空间,从而提高内存利用率。
如果对换是以整个进程为单位,称为“整体对换”或“进程对换”,这种对换被用于分时系统中;如果对换是以”页”或“段”为单位,则称为“页面对换”或“分段变换”,又称为“部分对换”,它们是实现虚拟存储器的基础。
对换技术,为了实现进程的对换,要求实现三个方面的功能:
(1)对换空间的管理:
对换空间的管理的目标是提高进程换入、换出的速度,因此通常将对换空间设置在高速的磁盘中,并采取简单的连续分配方式。
(2)进程的换入:
系统应定时地查看所有进程的状态,从中找出“就绪”状态但已换出的进程,将其中换出时间(换出到磁盘上)最久的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。
(3)进程的换出:
当有就绪进程要换入,但又无足够的内存空间时,系统应将某进程换出。
系统首先选择处于阻塞状态且优先级最低的进程作为换出进程,如找不到这样的进程,则根据换入进程的优先权、在外存的驻留时间等因素,考虑将某个低优先权的就绪进程换出。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第四