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

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

1、单道程序存储管理

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

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

2、分区存储管理

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

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

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

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

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

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

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

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

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

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

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

【操作系统】3、存储管理的相关文章

深入理解计算机系统-之-内存寻址(五)--页式存储管理

前景回顾 前面我们讲解了操作系统段式存储管理的主要内容. 32位,在保护方式下,其能够访问的线性地址空间可达4GB,而且允许几乎不受存储空间限制的虚拟存储器程序.虚拟存储器地址空间能够可达64TB.它还提供了复杂的存储管理和硬件辅助的保护机构和增加了支持多任务操作系统的特别优化的指令.实际上,64TB的虚拟地址空间是有磁盘等外部存储器的支持下实现的.在编写程序是可以放在磁盘存储器上,但在执行时,必须把程序加载到物理存储器中.而存储器管理就是要将46位虚拟地址变换成32位物理地址. 将程序分成不同

Vista五大存储新特性介绍

微软公司向后退了一大步,因此Vista能前进一大步.在即将到来的Vista操作系统中的新的存储特性反映出微软认识到它的Windows操作系统在存储管理特性上落后于其它竞争对手的平台.新的Vista有着改进了的文件系统.本地支持混合的磁盘驱动(H-HDD).分割卷.扩展的I/O优先化和驱动器加密特性. 存储器I/O的领先的分析者Greg Schulz将这些特性看作是微软终于坦白承认这个现实,存储器管理不再是Windows操作系统的外围,而实实在在地是它核心系统的一部分.Schulz引用Vistsa

Vista的五大存储新特性

微软公司向后退了一大步,因此Vista能前进一大步.在即将到来的Vista操作系统中的新的存储特性反映出微软认识到它的Windows操作系统在存储管理特性上落后于其它竞争对手的平台.新的Vista有着改进了的文件系统.本地支持混合的磁盘驱动(H-HDD).分割卷.扩展的I/O优先化和驱动器加密特性. 存储器I/O的领先的分析者Greg Schulz将这些特性看作是微软终于坦白承认这个现实,存储器管理不再是Windows操作系统的外围,而实实在在地是它核心系统的一部分.Schulz引用Vistsa

细说Oracle数据库与操作系统存储管理二三事

作者介绍 杨建荣,[DBAplus社群]联合发起人.现就职于搜狐畅游,Oracle ACE-A.YEP成员,超7年数据库开发和运维经验,擅长电信数据业务.数据库迁移和性能调优.持Oracle 10G OCP,OCM,MySQL OCP认证,<Oracle DBA工作笔记>作者. 在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际应用的关联不大.发现越是工作以后,在工作中越想深入了解,发现操作系统知识越发重要.在实践中结合理论还是不错的一种学习方法.自从接触数据库以后,

操作系统课堂笔记(5)存储管理

1.存储管理使用的基本概念 逻辑地址与物理地址 在具有地址变换机构的计算机中,允许程序中编排的地址和信息实际存放在内存中的地址有所不同.前者叫逻辑(相对)地址,后者叫物理(绝对)地址. 重定位:将逻辑地址转换为物理地址. 虚拟存储管理 虚存是由操作系统调度,采用内外存的交换技术,各道程序在必需使用时调入内存,不用的调出内存,这样好象内存容量不受限制. 虚存的特点: (1)虚存容量不是无限的,极端情况受内存和外存可利用的总容量限制: (2)虚存容量还受计算机总线地址结构限制: (3)速度和容量的"

内功修炼之操作系统学习(存储管理)

存储器管理负责管理计算机系统中重要的资源---主存储器.任何程序和数据必须载入到主存中才得以执行和处理,因此存储器管理的优劣直接影响系统的性能. 主存分为两部分:一部分是系统区,用于存放操作系统内核程序和数据结构等.另一部分是用户区,用于存放应用程序和数据. 计算机系统采用层次结构的存储系统.以便在容量大小.速度快慢.价格高低等诸多因素中取得平衡.它分为五个层次:寄存器,高速缓存,主存储器,磁盘,磁带等五层.寄存器,高速缓存和主存储器属于操作系统存储管理管辖范畴.磁盘和磁带属于设备管理的管辖对象

什么是操作系统?

操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合. 操作系统(英语;Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石.操作系统身负诸如管理与配置内存.决定系统资源供需的优先次序.控制输入与输出设备.操作网络与管理文件系统等基本事务.操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的.有效的

操作系统大全

操作系统 操作系统是管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合.操作系统是计算机系统的关键组成部分,负责管理与配置内存.决定系统资源供需的优先次序.控制输入与输出设备.操作网络与管理文件系统等基本任务.操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统.目前流行的现代操作系统主要有Android.BSD.iOS.Linux.Mac OS X.Windows.Windows Phone和z/OS等,除了Wi

《IT运维之道》——13.1 操作系统

13.1 操作系统 操作系统是管理和控制计算机硬件与软件资源的计算机程序,是计算机系统的核心与基石,任何应用软件都必须在操作系统的支持下才能运行,它是信息系统运行中最主要的基础软件之一.操作系统位于底层硬件与用户之间,是两者沟通的桥梁,用户可以通过操作系统的用户界面输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求. 操作系统的主要功能是资源管理,程序控制和人机交互等.计算机的资源可分为设备资源和信息资源两大类,设备资源指的是组成计算机的硬件设备,如中央处理器.主存储器.磁盘存储器.