本章知识框图如下
本文先介绍到连续分配存储管理方式,重点介绍动态分区的几种算法,离散分配下一篇文章会更新😊
注:操作系统中的存储这一章跟组成原理里面的侧重点不一样(操作系统简单,组成原理难死我了😭我谢他全家😭)
不废话了开始了
存储器
衡量标准:速度 容量 价格
主要管理对象:内存
存储层次
现代计算机多采用多层结构的存储系统(如图)
CPU寄存器---主存(高速缓存cache,主存储器,磁盘缓存)---辅存(固定磁盘,可移动介质)
层次越高,价格越高,速度越快,容量越小
主存和寄存器都是易失的
关于各级存储器的说明
程序的装入和链接
程序的运行要经过编译 链接 装入 这三个过程
程序的装入有三种方式:绝对装入方式,可重定位装入方式,动态运行时装入方式
链接有三种方式:静态链接,装入时动态链接,运行时动态链接
物理地址和逻辑地址
物理地址(绝对地址):物理内存的地址,内存以字节为单位编址,即每个存储单元的编号,可以直接寻址
逻辑地址(相对地址,虚拟地址):CPU产生的地址,由程序编译后使用的相对于0字节的地址,不能用逻辑地址在内存中直接读取信息
我们主要讨论的就是从逻辑地址通过地址映射(重定位)转换为物理地址。
连续分配存储器管理方式
定义:为一个用户程序分配一个连续的内存空间
分类:单一连续分配,固定分区分配,动态分区分配,动态可重定位分区分配
单一连续分配
1.把内存划分为系统区和用户区
2.系统区供OS使用,放在低址,剩下的供用户使用,内存中只留一个作业,用户区由一个用户独占
特点:易于实现,只能用于单用户单任务,CPU利用率非常低,难以实现共享
固定分区分配
1.预先把可用的主存空间分为若干个连续的区域,每个分区大小可以不同,但是固定不变,一个分区只能装入一个作业
特点:开销小,易于实现,适用于多个相同对象的控制系统,分区大小固定,区内碎片容易造成浪费,分区总数固定,限制了程序并发数目
动态分区分配(这是重点)
动态分区中的数据结构
空闲分区表,空闲分区链
分配算法
基于顺序搜索(重要)
首次适应算法,循环首次适应算法,最佳适应算法,最坏适应算法
首次适应算法
循环首次适应算法
最佳适应算法,最坏适应算法
下面贴一个例题帮助理解
基于索引搜索(了解)
快速适应算法,伙伴系统,哈希算法
(暂时了解一下就行,等我考研复习的时候再补充)