操作系统讲义下

操作系统讲义下

ID:41700518

大小:184.69 KB

页数:29页

时间:2019-08-30

操作系统讲义下_第1页
操作系统讲义下_第2页
操作系统讲义下_第3页
操作系统讲义下_第4页
操作系统讲义下_第5页
资源描述:

《操作系统讲义下》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、操作系统讲义(下)第四章存储器管理主要知识点:一、程序的装入和链接将一个用户源程序变为一个可在内存中执行的程序,通常要经过编译、链接和装入儿个步骤:(1)编译。由编译程序将用户源代码编译成若干个忖标模块。(2)链接。由链接程序将编译后形成的冃标模块以及它们所需要的库函数,链接在一起,形成一个装入模块。(3)装入。由装入程序将装入模块装入主存的过程。如图4.2图4」源程序执行过程1.程序的装入程序的装入就是把程序装入内存空间,采用三种方式(1)绝对装入方式:是由装入程序根据装入模块屮的地址,将程序和数据装入内存。程序屮的逻辑地址与实现装入的物理地址相同,装入时无需地址转换。①逻辑

2、地址:用户的每一条程序指令要访问的数据都有一个对应的地址,这个地址被称为逻辑地址。由于它是相对于0的地址,因此又被称为相对地址。②物理地址:内存中的实际地址被称为物理地址。由于它并不和任何相对地址相关,因此,物理地址乂称为绝对地址。(2)可重定位方式:是由装入程序根据内存当前的实际使用情况,将装入模块装入到内存适当的地方。①重定位:将程序中的逻辑地址改为实际物理地址称为重定位,也称为地址变换过程。②静态重定位方式:是指地址转换工作是在程序装入内存时由装配程序完成的。装配程序根据将要装入内存的起始地址,对程序模块屮有关的地址部分进行调整和修改。一旦确定下来之后不再改变,即静态地址

3、重定位是在程序执行之前完成的地址转换。(3)动态运行吋装入方式:动态运行吋的装入程序,在把装入模块装入内存后,并不立即把装入模块中的相対地址转换为绝対地址,而是把这种地址转换推迟到程序要真正执行时才进行。动态重定位方式:是指地址转换丄作是在程序执行期间由硬件变换机构动态实现地址转换的。2.程序的链接链接程序的功能是将经过编译或汇编后所得到的一组目标模块以及它们所需要的库函数,装配成一个完整的装入模块。实现链接的方法有三种:(1)静态链接:事先进行链接,以后不再拆开的链接方式(2)装入时动态链接:用户源程序经编译后所得到的冃标模块,是在装入內存时,边装入边链接的。⑶运行时动态链接

4、:某些目标模块的链接,是在程序执行中需要该(目标)模块时,才对它进行链接。二、连续分配方式连续分配方式是指为一个用户程序分配一个连续的内存空间。1.单一连续分配只能用于单用户,单任务的操作系统。把内存分为系统区和用户区两部分,系统区给OS使用,通常在低址部分;用户区给用户使用。在主存中仅驻留一道程序,整个用户区为一用户独占。当用户作业空间大于用户区时,该作业不能装入。2.固定分区分配将内存中的用户空间划分为若干个固定大小的区域,每个分区中只装入一道作业,一个作业也只能装入一个分区中,这样可以装入多个作业,使它们并发执行。当有一个空闲分区时,便可从外存的后备队列中,选择一个适当大

5、小的作业装入该分区;当该作业运行完时,乂可从后备队列中选择另一个作业装入该分区(分区大小对以相同也可以不同)。耍求把作业全部装入主存,且装入一个连续的存储空间。当分区较大作业较小吋,仍然浪费许多主存空间(产纶内部碎片),并且分区总数固定,限制了并发执行的作业数目。3.动态分区分配动态分区存储管理方式是在作业要求装入主存时,根据作业的大小动态地划分分区,使分区的大小正好适应作业的要求。各分区的大小是不定的,主存中分区的数冃也是不定的。由于实就动态分区存储管理时,分区的划分是按照进入作业的尺寸进行的,因此在这个分区里不会出现内部碎片。这就是说,动态分区存储管理消灭了内部碎片,不会出

6、现山于内部碎片而引起的存储浪费现象。动态分区存储管理方式必须解决三个问题:(1)分区分配中所用的数据结构。为了实现分区分配,系统中必须配置和应的数据结构,用來记录内存的使用情况。比如空闲分区的情况,为作业分配内存空间提供依据。常用的有空闲分区表和空闲分区链。(2)分区的分配算法。①首次适应分配算法(FF)。要求空闲区按首址递增的次序组织空闲区表(队列)。当进程申请人小为SIZE的内存时,系统从空闲区链的链首开始查询,有到首次找到等于或人于SIZE的空闲区。从该区中划出大小为STZE的分区分配给进程,余下的部分仍作为一个空闲区留在空闲区链中,但要修改其首址和大小。若找不到满足耍求

7、的,则分配失败,返回。这种算法是尽可能地利用低地址空间,从而保证髙地址空间有较人的空闲区。缺点是容易产牛过多的小地址碎片;降低了主存空间利用率;每次查找都是从低址开始,增加了查找的开销。②循环首次适应算法(NF)。对首次适应算法进行了改进,不是每次都从链首开始找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个能满足要求的空闲分区。使内存中的空闲分区分布得更均匀,减少了查找时的开销,但会缺乏人的空闲分区。③最佳适应算法(BF)。每次为作业分配内存吋,总是把能满足要求、乂是最小的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。