操作系统——内存

目录

内存的基础知识

什么是内存

逻辑地址(相对地址)和物理地址(绝对地址) 

程序的执行过程(编译,链接,装入)

装入的三种方式

绝对装入

静态重定位 

动态重定位 

链接的三种方式

静态链接 

装入时动态链接 

运行时动态链接 

总结 

内存管理的概念

需要提供的功能

内存保护

方法一

方法二

总结 

内存空间的扩充

覆盖技术

交换技术

问题

总结 

内存空间的分配

单一连续分配 

固定分区分配  ​编辑 

动态分区分配

总结

动态分区分配算法(重点)

首次适应算法

最佳适应算法 

最坏适应算法

邻近适应算法 

总结


内存的基础知识

什么是内存

 

 

 

 

 

逻辑地址(相对地址)和物理地址(绝对地址) 

 

程序的执行过程(编译,链接,装入)

 

装入的三种方式

绝对装入

一般用于单道程序 

 

静态重定位 

早期多道批处理

 

 

动态重定位 

现代操作系统

 

链接的三种方式

静态链接 

装入时动态链接 

运行时动态链接 

 

总结 

 


内存管理的概念

需要提供的功能

-内存空间的分配与回收

-对内存空间进行扩充(实现虚拟性)

-地址转换功能(三种装入方式)

-内存保护

 

内存保护

方法一

 

方法二

总结 

 

内存空间的扩充

-覆盖技术

-交换技术

-虚拟存储技术

覆盖技术

让不可能同时执行的程序块共享一个覆盖区(已退出舞台)

 

交换技术

暂时换出外存等待的进程状态为挂起状态(就绪挂起,阻塞挂起)

 

问题

1.应该在外存(磁盘)什么位置保存被换出的进程

2.什么时候应该交换

3.应该换出哪些进程

 

总结 


内存空间的分配

-连续分配管理方式(连续分配指为用户进程分配的必须是一个连续的内存空间)

        -单一连续分配

        -固定分区分配

        -动态分区分配

-非连续分配管理方式

单一连续分配 

 

固定分区分配   

固定分区分配需要实现分区说明表,来实现各个分区的分配和回收

 

动态分区分配

问题:

-1.用什么样的数据结构

-2.多个空闲分区都可以满足要求,应选择哪一个空闲分区

-3.如何进行分区的分配与回收操作

采用的数据结构:空闲分区表或者空闲分区链(1)

 

选择需按照一定的动态分区算法(2)

 

分配与回收按照一定的动态分区算法(3)

分配的情况:

1.

 

2. 

 

回收的情况

回收时若相邻有空闲分区,则进行合并

1.

 

2.

 

3. 

 

内部碎片和外部碎片

 通过对进程的挪位,使进程1能够满足(紧凑,采用动态重定位的方式)

  

 

总结

 

 


动态分区分配算法(重点)

-首次适应算法(First Fit) 

-最佳适应算法(Best Fit)

-最坏适应算法(Worst Fit)

-邻近适应算法(Next Fit)

首次适应算法

最佳适应算法 

缺点:每次都选取最小的分区进行分配,会留下越来越多的,很小的,难以利用的内存块。因此这种算法所产生的外部碎片会很多

 

最坏适应算法

缺点:每次都选取最大的分区进行分配,虽然可以让分配后留下的空闲区更大,更可用;但是这种算法会导致较大的连续空闲区被迅速用完。如果有“大进程”进入,就没有内存空间可供分配了

 

邻近适应算法 

 

总结

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值