存储管理.

简介: 存储管理

存储管理

  • 程序的装入以及链接
  • 编译:用户源程序经过编译生成目标模块,目标模块以0作为开始地址
  • 链接:将编译后形成的多个目标模块以及他们需要的库函数链接在一起。装入模块虽然有统一地址,但任然以0作为参考地址。
  • 装入:将装入模块装入实际物理地址空间,并修改程序中与地址有关的代码----这一过程称为地址重定位
  • 地址重定位:相对地址转换为内存的绝对地址的工作,地址重定位又称为地址映射。
  • 静态重定位:程序执行前进行重定位。
  • 程序重定位后不能在内存中移动
  • 要求存储空间是连续的
  • 动态重定位:程序在执行时进行重定位
  • 目标模块装入内存时无需任何修改,因而装入后可以在变迁(进程挂起)
  • 一个程序由若干个相对独立的目标模块组成
  • 链接
  • 静态链接:程序运行之前事先进行的链接称为静态链接
  • 装入时动态链接:程序装入内存时,边装入边链接。
  • 便于软件更新
  • 便于模块共享
  • 程序在运行时装入模块不可变
  • 每次的装入模块是一样的
  • 运行时动态链接:将目标模块的链接推迟到程序执行时再进行
  • 连续分配存储管理方式
  • 固定分区:由操作系统或者操作员将内存划分为若干个大小不等的分区。一旦划分好,程序运行期间不能重新划分。
  • 实现简单,但是内存的利用率不高。适用于进程的大小以及事先能够预知进程大小的系统中。
  • 可变分区:在程序装入内存时,把可用的分区切割成连续的区域,以适应进程大小的需要
  • 首次适应法:优先使用内存中低地址部分的空闲空间,高地址部分有较大的空闲分区。低地址部分碎片过多,影响查找空间的速率。
  • 下次适应法:内存查询从上一次的位置开始查询,而不是重新查询。使内存得到均衡使用,但是内存缺乏大的空闲分区。导致比较大的进程无法运行。
  • 最佳适应法:把进程大小与内存空闲区最匹配的空闲区域分配给进程。缺点是链表头部会留下难以利用的小空闲区,影响分配的速度
  • 最坏适应法:把与进程大小最不匹配的空闲区切割出分配给进程,缺点是大空闲区存在少,难以满足大进程运行
  • 动态重定位分区
  • 页式存储管理
  • 动态重定位虽然可以解决碎片的问题,但是内存信息的移动,处理机付出的代价很大。一个进程必须放在一个连续的内存空间中.由此,产生了离散分配方式.页式存储管理技术就是离散分配的方式的一种页式存储管理方式就是离散分配的一种。
  • 页式存储管理:将内存空间划分为大小相同的若干个存储块,并为其进行编号。同时,将进程的逻辑地址空间划分为与内存块大小相等的。进程的最后一页经常填不满,形成不可利用碎片,称为页内碎片。
  • 页表:进程的若干个页被离散的分配在内存的多个存储块中,为了能找到每个页所对应的存储块,系统为每一个进程建立了一个页表。页表实质上就是页号到存储块号的映射。
  • 页的大小通常为512B-4M;
  • 页式存储变换机构
  • 实现逻辑地址到物理地址的动态重定位,需要硬件支持
  • 逻辑地址结构由页号+页类位移组成
  • 页表的硬件实现
  • 每次CPU读取数据需要访问两次进程,第一次拿到页号,第二次拿到物理地址。
  • 为了提高系统的地址变换速度,在地址变换中设置了高速寄存器,称为快表
  • 段式存储管理
  1. 方便编程
  2. 段的共享
  3. 段的保护
  4. 动态链接
  5. 动态增加(按需分配,不会产生碎片)
  • 分段跟分页的区别
  • 页是信息的物理单位,段是逻辑单位。段是一组有意义的相对完整的信息。页的逻辑地址只给出一个地址,而段的逻辑地址,既要给出段号也要给出段的逻辑地址。
目录
相关文章
|
存储 缓存 算法
存储管理
一、存储管理 存储管理是操作系统中的一个核心功能,它负责管理计算机系统中的主存储器(内存)和辅助存储器(硬盘、光盘等)等存储设备,为进程提供存储空间和管理存储资源。存储管理的主要任务包括以下几个方面: 1. 内存分配:操作系统需要为进程分配内存空间,以便进程可以存储和执行程序。内存分配可以采用静态分配或动态分配的方式,静态分配是在编译时确定分配的内存空间大小,动态分配是在运行时根据进程的需求动态分配内存空间。 2. 内存保护:操作系统需要保护进程的内存空间,防止进程之间相互干扰或访问非法内存区域。内存保护可以采用硬件保护或软件保护的方式,硬件保护是通过硬件机制实现内存隔离和保护,软件保护是通过
507 0
|
存储 缓存 算法
计算机存储管理
计算机存储管理是操作系统的一个重要功能,它负责管理和控制计算机系统中的存储器资源,包括主存(内存)和辅助存储器(如硬盘、固态硬盘等)。
96 0
|
3月前
|
存储 算法 Unix
虚拟内存管理
虚拟内存管理
52 0
|
6月前
|
存储 算法
分页存储管理与段式存储管理
分页存储管理与段式存储管理
116 3
|
存储 算法 调度
存储器管理-基本分页存储管理
存储器管理-基本分页存储管理
359 0
|
存储 程序员
存储器-分段存储管理方式
存储器-分段存储管理方式
471 0
|
存储 SQL 算法
【视频】存储管理1 | 学习笔记
快速学习【视频】存储管理1
【视频】存储管理1 | 学习笔记
|
存储 缓存 算法
【5. 虚拟内存管理】
题目描述 : 页面大小为4k, 分配给每个进程的物理页面是1. 在一个进程中, 定义了如下的二维数组 int A[1024][1024]. 该数组按行存放在内存, 每一行放在一个页面中. 考虑一下程序的编写方法对缺页率的影响?
177 0
【5. 虚拟内存管理】
|
存储 缓存
【操作系统】存储管理(一)
【操作系统】存储管理(一)
181 0
【操作系统】存储管理(一)
|
存储
【操作系统】存储管理(二)
【操作系统】存储管理(二)
181 0
【操作系统】存储管理(二)