开发者社区> jerry.yin> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

【操作系统】3、存储管理

简介: 计算机的工作方式可以归结为两种基本能力,即存储程序和自动地执行程序,前者靠存储器实现,后者靠CPU实现。计算机的工作原理即不断地从内存 中取出一条条指令放在CPU中运行。
+关注继续查看

计算机的工作方式可以归结为两种基本能力,即存储程序和自动地执行程序,前者靠存储器实现,后者靠CPU实现。计算机的工作原理即不断地从内存 中取出一条条指令放在CPU中运行。在此过程中,操作系统需要对程序的文件在内存中的保存方式进行管理,主要方法如下:

1、单道程序存储管理

该方法是最简单的一种存储管理方法,也是其他更复杂的方法的基础。单道程序存储管理的基本思路是将整个程序划分为两部分,即系统区和用户区。某一个进程在启动时,操作系统将该进程的代码放入用户区,一直到该进程结束前,该程序始终独占用户区直到进程退出。然后操作系统在装入一个新的进程将其覆盖。

随着技术的发展,该方法已经显现出了巨大的问题。首先,系统一次仅能运行一个程序,不能实现多进程并行运行;其次,内存利用率不高;其三,没有内存保护机制,运行的进程可以无限制地访问任何地址;最后,进程的地址空间有限,最大不可能超过内存的大小。为了解决这些问题,出现了多种多道存储管理。

2、分区存储管理

分区存储管理是最简单的多道存储管理方案,其基本思路是首先将内存分为系统区和用户区,然后将用户区划分为若干个等大小或不等大小的分区,每个进程占据一个分区,这样可以实现内存中同时保留和运行多个进程,实现并发操作。

分区存储管理有两种实现方法:固定分区和可变分区。

  • 固定分区:在初始时刻就将各个进程的分区划分好,在系统的运行中不做更改;系统在管理固定分区,需要创建一个内存分配表记录各个分区的分区号、地址、长度、当前状态和所装载的进程信息等。
  • 可变分区:在系统运行时,每个进程的空间由系统动态创建;在程序装入内存时,系统根据需求和内存空间的情况来决定内存分配。管理可变分区需要维护一个分区链表来记录各个分区的情况;使用最先匹配法、下次匹配法、最佳匹配法和最坏匹配法进行内存区分配;内存回收时只需要修改分区链表即可。

3、页式存储管理和段式存储管理

固定分区系统一定会产生内存碎片的问题;可变分区系统的碎片问题可以通过内存紧缩解决,但是会消耗额外的系统资源。因此,后来提出了页式存储管理方案,其特点是打破一个进程内存空间的连续性,使之可以分散在若干个离散的内存块中。

也是存储管理系统将物理内存划分为多个大小固定的内存块,其大小通常为2^n个字节;同时也将进程的逻辑地址空间 划分为相同大小的内存块。这两种块的前者分别称为物理业或页框,后者称为逻辑页面或页面。应用程序被装入内存时,以页面为单位进行分配,最终将被分别装入n个不连续的物理页面中。

实现页式存储管理方案需要为每一个进程分别维护页表和物理页面表两个数据结构用于将逻辑地址同物理地址建立联系;内存的分配和回收也是修改这两个数据结构。

段式存储管理与页式存储相似,区别在于,段式存储的基本单元不再是一个固定大小的页,而是根据进程的逻辑单元而构成的段,每个段进行分布式存储。对于每个进程,操作系统维护一个段表,段表包含段号、分区起始地址、长度等信息。

4、内存不足情况下的处理

在多道程序下可能会出现内存不足的情况,针对以下三种状况:

  • 程序太大,超过空闲内存的容量而无法一次性装入,那么采用覆盖技术,只装入当前需要的指令和数据,其他指令和数据保存于外存;
  • 进程太多,综合超过了内存容量,使得新的进程无法运行,那么可以采用交换技术,将暂时不能执行的程序移出内存;
  • 若试图在有限的内存中尽可能装入多的进程,且每个进程尽可能大,则采用虚拟存储技术。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
【操作系统】进程管理
【操作系统】进程管理
40 0
【操作系统】设备管理(五)
学习了存储器管理后,继续学习设备管理,设备管理的主要功能有缓冲区管理、设备分配、设备处理、虚拟设备及实现设备独立性等,由于I/O设备不仅种类繁多,而且他们的特性和操作方式往往相差甚大,使得设备管理称为操作系统中最繁杂且与硬件最紧密的部分,下面开始正式的学习。
132 0
操作系统之存储管理(下)
操作系统之存储管理
30 0
文件存储管理文件系统的操作有哪些?
本文介绍如何在NAS控制台上管理文件系统,包括创建文件系统、查看文件系统列表、查看文件系统详情、删除文件系统等操作。
1001 0
操作系统复习题-第四章 存储器管理
第四章  存储器管理 一、单项选择题 1、存储管理的目的是(  C  )。 A.方便用户                      B.提高内存利用率 C.方便用户和提高内存利用率      D.增加内存实际容量 2、外存(如磁盘)上存放的程序和数据(  B  )。
1128 0
操作系统之内存管理
内存管理 包括内存管理和虚拟内存管理 内存管理包括内存管理概念、交换与覆盖、连续分配管理方式和非连续分配管理方式(分页管理方式、分段管理方式、段页式管理方式)。
1296 0
操作系统之设备管理
一、I/O管理概述 1.1 计算机I/O系统结构 1.2 I/O管理示意图 1.3 I/O的特点 I/O性能经常称为系统性能的瓶颈 操作系统庞大复杂的原因之一:资源多、杂,并发,均来自I/O 速度差异很大 应用 控制接口的复杂性 传送单位 数据表示 错误条件 与其他功能联系密切,特别是文件系统。
966 0
+关注
jerry.yin
毕业于上海大学通信与信息工程学院,从事流媒体和视频编解码的研究与开发工作; 研究领域包括视频编解码标准、视频处理和流媒体技术、移动互联网技术等。
182
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载