存储器管理和常见的分区算法分页存储分段存储段页式存储
本文由发表于6年前 | 操作系统 | 暂无评论 |  被围观 9,656 views+

1、逻辑地址和物理地址的概念

逻辑地址(Logical Address)是指由程式产生的和段相关的偏移地址部分。只有在Intel实模式下,逻辑地址才和物理地址相等(因为实模式没有分段或分页机制,Cpu不进行自动地址转换);

物理地址(Physical Address)是指出现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果地址。(假如启用了分页机制,那么线性地址会使用页目录和页表中的项变换成物理地址。假如没有启用分页机制,那么线性地址就直接成为物理地址了)

2、什么是地址重定位(地址变换),什么是静态地址重定位,什么是动态地址重定位

重定位就是把程序中相对地址变换为绝对地址。通常是把在装入时对目标程序中指令和数据的修改过程称为重定位。有静态重定位和动态重定位两种重定位技术。

因为地址变换通常是在装入时一次完成的,以后不再改变,故称为静态重定位。

在运行过程中程序在内存中的位置可能经常要改变,此时就应采用动态运行时装入的方式。动态运行时的装入程序在把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍是相对地址。为使地址转换不影响指令的执行速度,这种方式需要一个重定位寄存器的支持。

3、什么是虚拟存储器,引入的原因

所谓虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。


引入的原因:

① 有的作业很大,要求的内存空间超过了内存总容量,不能装入内存,至使该作业无法运行。
② 有大量作业要求运行,但由于内存容量不足以容纳所有这些作业,只能将少数作业装入内存让它们运行,而将其他大量的作业驻留在外存上等待。
③ 常规存储器管理方式:一次性;驻留性
④ 局部性原理的提出:时间局限性;空间局限性。
一个解决方式是从逻辑上扩充内存容量,这正是虚拟存储技术所要解决的主要问题。
4、连续分配方式的分类,基本思想和特点。
(1)单一连续分配


基本思想:

把内存分为系统区和用户区两部分,系统区仅提供给OS使用,通常是放在内存的低址部分;用户区是指除系统分区外的全部内存空间,提供给用户使用。

特点:

节省硬件;在单用户环境下,机器由一用户独占,不可能存在其他用户干扰的问题。

(2)固定分区分配


基本思想:

将内存用户空间划分为若干个固定大小的区域,在每个分区中只装入一道作业。这样便运行有几道作业并发运行。

特点:

① 分区大小相等:缺乏灵活性,造成内存空间的浪费,当程序太大时,一个分区又不足以装入该程序,导致程序无法运行。
② 分区大小不相等:可把内存区划分成含有多个较小的分区、适量的中等分区及少量的大分区。可根据程序的大小为之分配适合的分区。
(3)动态分区分配


基本思想:

动态分区分配是根据进程的实际需要,动态的为之分配内存空间。涉及到的数据结构:空闲分区表,空闲分区链。

特点:

① 首次适应算法:留下许多难以利用的、很小的空闲分区。
② 循环首次适应算法:缺乏大的空闲分区
③ 最佳适应算法:在存储器中会留下许多难以利用的小空闲区。
④ 最坏适应算法:使存储器中缺乏大的空闲分区。
(4)可重定位分区分配


基本思想:

在动态运行时装入的方式中,作业装入内存后的所有地址都仍然是相对地址,将相对地址转换为物理地址的工作,被推迟到程序指令要真正执行时进行。

特点:

动态重定位分区分配算法与动态分区分配算法基本上相同,差别仅在于:在这种分配算法中,增加了紧凑的功能。通常,在找不到足够大的空闲分区来满足用户需求时进行紧凑。

5、对于分区(P121~128)、分页(P130~135)、分段(P135~141)、段页式(纯/请求)存储管理方式,掌握:
(1) 基本思想
(2) 存储管理使用的数据结构(空闲空间管理的/作业占用空间管理的)
(3) 逻辑地址的格式,地址变换的时间(动态/静态)、方法
(4) 存储分配和存储回收过程
(5) 是否能实现虚拟存储;如果能,如何实现
(6) 其他特点:是否存在碎片问题(原因);是否能实现存储保护(如何实现)等
6、 何为静态链接?何谓装入时动态链接和运行时动态链接?

a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。

b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。

c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。

7、 为实现分页存储管理,需要哪些硬件支持?

需要有页表机制、地址变换机构的硬件支持。

8、为什么要引进动态重定位?如何实现?

为了能够在程序执行过程中,每当要访问指令或数据时,将要访问的存储单元的逻辑地址转换成物理地址,引入了动态重定位。使用动态地址重定位,一个作业可以占用非连续存储空间;能实现虚拟存储;有利于程序段的共享。

可在系统中增加一个重定位寄存器,用它来存放程序在内存中的起始地址。基本的地址变换计算方法是将内存单元的逻辑地址与重定位寄存器的值相加,得到单元的物理地址。

在可重定位分区式存储管理、分页式存储管理、分段式存储管理方法中,都有不同的地址变换位方法:P128,P135,P138

9、分区存储管理常用哪些分配策略?比较它们的优缺点。

分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。

a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。

b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。

c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。

d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。

10、较详细的说明引入分段存储管理方式是为了满足用户哪几个方面的需求。

方便编程、信息共享、信息保护、动态增长、动态链接。

11、在一个请求分页系统中,采用FIFO页面置换算法时,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块M分别为3和4时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。

4、  3、  2、 1、  4、  3、  5、  4、 3、  2、  1、 5

4 4 4 1 1 1 5 5 5 5 5 5
3 3 3 4 4 4 4 4 2 2 2
2 2 2 3 3 3 3 3 1 1

4、  3、  2、 1、  4、  3、  5、  4、 3、  2、  1、 5

4 4 4 4 4 4 5 5 5 5 1 1
3 3 3 3 3 3 4 4 4 4 5
2 2 2 2 2 2 3 3 3 3
1 1 1 1 1 1 2 2 2

M=3,缺页次数:9;缺页率:9/12

M=4,缺页次数:10;缺页率:10/12

12、试说明改进型Clock置换算法的基本原理。

P154(1)~(3)

除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/memory-management-and-common-sub-partitioning-algorithm-to-store-and-segment-paging-store-page-storage.html
arthinking Java技术交流群:280755654,入门群:428693174 more
分享到:
 
2011 6/30
文章评论
    没有评论
给我留言

有人回复时邮件通知我
操作系统的相关文章
随机文章 本月热门 热评
1 jQuery使用数组编写向左滚动的图片栏 2011/5/15
2 Java SE 5.0以上版本中for each循环的使用 2011/6/17
3 可编程并行接口8255A芯片使用逻辑电平开关控制LED显示 2011/5/4
4 ExecutorService常用方法和newFixedThreadPool创建固定大小的线程池 2012/7/30
5 微型计算机技术实用知识点编程应用题 2011/6/30
6 【TODO】几个海量查找和去重的问题 2014/6/15
友情推荐 更多
破博客 文官洗碗安天下,武将打怪定乾坤。多么美好的年代,思之令人泪落。
Mr.5's Life 白天是一名程序员,晚上就是个有抱负的探索者
行知-追寻技术之美 关注大数据,分布式系统
我爱编程 编程成长轨迹
Cynthia's Blog 学习笔记 知识总结 思考感悟
 
猜您喜欢
欢迎关注我的公众号 IT宅
关于IT宅 文章归档

IT宅中的文章除了标题注明转载或有特别说明的文章,均为IT宅的技术知识总结,学习笔记或随笔。如果喜欢,请使用文章下面提供的分享组件。转载请注明出处并加入文章的原链接。 感谢大家的支持。

联系我们:admin@itzhai.com

Theme by arthinking. Copyright © 2011-2015 IT宅.com 保留所有权利.