您的位置:首页 > 其它

第四章 内存管理4.1

2008-01-05 20:04 232 查看
内存:系统区 + 用户区 (内存管理的主要对象)

实存管理+虚存管理

管理包括以下内容:

a.分配和回收

b.地址重定位

c.内存的共享和保护

d.虚拟存储器

a.分配和回收

静态分配方式:一次性装入内存

动态分配方式:相反_程序装入时只分配基本内存

内存分配机制: 利用 内存分配数据结构

分配时:根据 内存分配算法 分配空间 (修改相应数据结构)

回收时:回收内存(废话!) (修改相应数据结构)

b.地址重定位 ( 逻辑地址---->物理地址 )

应用程序装入内存是随机的!目标程序.obj ( 自己写的程序 经过 编译器 编译后 的文件 例如 vc写的东西)

每个首地址都为0 其他 则为 相对地址 || 逻辑地址

b1:静态重定位(软件实现)



物理地址

=

逻辑地址

+

起始地址

b2:动态重定位(硬件实现:重定位寄存器)



c.内存的共享和保护

共享:例如 多个用户共享 一个C语言编译器

两个或多个进程共享内存中相同的区域

程序共享: 为了 节省内存空间,提高内存利用率

数据共享: 为了实现 进程间的通信.

保护:使 用户程序 运行在 自己的 用户空间 中 不能访问其他区

防止地址越界:IF(越界) 产生 地址越界中断

防止越权操作:

常常需要硬件支持 从而减小系统开销

d.虚拟存储器

原理:

时间局部性: for() 函数调用

空间局部性: 顺序语句

结果:在 用户看来 内存变大了 ( 实际上是 用 CPU的时间 + 外存的空间换取的 )

虚拟内存的大小 和 内存大小无直接关系 受外存大小+系统寻址能力 的 限制

IF( 用到程序 ) 请求调入:外存---->内存

IF( 内存不足 ) 页面置换

交换技术 : 以 进程 为单位 进行

虚拟存储器: 以 页 段 为单位 进行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: