存储器管理总结

1.层次结构:

寄存器

高速缓存

主存储器

磁盘缓存

固定磁盘

移动存储

2.程序在内存中运行过程:

编译:形成若干目标模块

链接:目标模块组与库函数链接,形成装入模块   --静态链接、装入时动态链接和运行时动态链接

装入:装入程序Loader将装入模块装入内存  --可重定位装入、动态运行时装入 ect.

3.连续分配存储器管理

原因:程序装入内存,需要为其分配内存空间,连续分配是最早出现的分配方式

方式:

固定分区分配

--划定分区

--内存分配

动态分区分配

--分区中数据结构

--分区算法  

 --顺序搜索 FF/NF/BF/WF

--索引搜索 quick fit/ buddy system/哈希算法

动态可重定位分区分配

--紧凑   分散的小区域拼接成一个大分区

--动态重定位

--分区分配算法

4.对换 Swapping

原因:内存中某些进程发生阻塞,而因为内存不足,外存中驻留许多作业,所以需要暂时把不能运行的内存换出到外存,可运行的程序换入到内存

对换空间  文件区和对换区

换出   选择优先级最低的阻塞进程;只能换出非共享程序和数据

换入  找出就绪状态但已换出的进程,若有多个,选择等待时间最长的

5.分页存储管理

原因:连续分配内存会有许多碎片,紧凑方法会付出很大开销,将进程分散的装入内存,可提高内存利用率,分页存储是将用户程序的地址空间分成若干个大小固定区域

地址结构

页号p  位移量w(页内地址)  

页表

作用:实现从页号到物理块号的映射

地址变换机构

作用:逻辑地址转换为内存物理地址

有效访问时间EAT

定义:进程发出逻辑地址请求-地址变换-内存中找到物理地址并取出数据 总时间

两级和多级页表

原因:逻辑地址空间变大,导致页表变大,要占用很大内存空间。解决方式是:1离散分配 2将当前需要页表项调入内存,其余驻留磁盘。

两级页表

作用:解决难以找到大内存存放页表问题

多级页表    对应与64位的机器

6.分段存储管理

原因:主要是满足程序员在编程和使用上的多方面的要求

分页和分段的主要区别

--页是信息的物理单位,分页是为了提高内存利用率,是系统行为;段是信息的逻辑单位,分段在于满足用户的需要

--页的大小固定;段长度不固定

--分页的用户程序地址是一维;分段的用户地址是二维,段名和段内地址







实验目的】 1. 通过编写和调试存储管理的模拟程序以加深对存储管理方案的理解; 2. 熟悉虚存管理的各种页面淘汰算法; 3. 通过编写和调试地址转换过程的模拟程序以加强对地址转换过程的了解。 【实验准备】 1.虚拟存储器的管理方式  段式管理  页式管理  段页式管理 2.页面置换算法  先进先出置换算法  最近最久未使用置换算法  Clock置换算法  其他置换算法 【实验内容】 1. 实验题目 设计一个请求页式存储管理方案。并编写模拟程序实现之。产生一个需要访问的指令地址流。它是一系列需要访问的指令的地址。为不失一般性,你可以适当地(用人工指定地方法或用随机数产生器)生成这个序列,使得 50%的指令是顺序执行的。25%的指令均匀地散布在前地址部分,25%的地址是均匀地散布在后地址部分。为简单起见。页面淘汰算法采用 FIFO页面淘汰算法,并且在淘汰一页时,只将该页在页表中抹去。而不再判断它是否被改写过,也不将它写回到辅存。 2. 具体做法 产生一个需要访问的指令地址流;指令合适的页面尺寸(例如以 1K或2K为1页);指定内存页表的最大长度,并对页表进行初始化;每访问一个地址时,首先要计算该地址所在的页的页号,然后查页表,判断该页是否在主存——如果该页已在主存,则打印页表情况;如果该页不在主存且页表未满,则调入一页并打印页表情况;如果该页不足主存且页表已满,则按 FIFO页面淘汰算法淘汰一页后调入所需的页,打印页表情况;逐个地址访问,直到所有地址访问完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值