1 存储管理
存储管理的主要任务是对内存空间进行分配和回收。
由于计算机的内存容量有限,故在此基础上发展出了虚拟内存系统。
虚拟内存系统的基本思想是用外存来换取内存,通过运算将运行进程访问的地址(逻辑地址,虚拟地址)与主存的物理地址分开,从而使得提供大于物理地址的逻辑地址空间成为可能。而建立虚拟地址和物理地址之间的对应关系、实现转换工作就成为“虚存管理”
(1)页式存储组织
将各进程的虚拟空间划分为若干个长度相等的页,把内存空间以与页等的大小划分为大小相等的页或页面。采用请求调页或预调页技术实现内外存统一管理
优点 利用率高 、产生的内存随片小、内存空间分配及管理简单
缺点 需要相应的硬件支持、增加了系统开销、请求调页算法选择不当可能出现“抖动”现象
(2)段式存储组织
一个作业是由若干个具有逻辑意义的段(如 主程序、子程序、数据段等)组成。
在分段式系统中允许程序(作业)占据内存中若干分离的分区,虚拟地址是一个有序对(段号、段内位移)。 系统为每一个作业建立一个段表,内容包括 段号、预内存起始地址的对应关系、段长和状态等。
状态是指该段是否调入内存,若已调入内存,则指出该段的起始位置和访问权限,若未调入则产生缺段中段,以便装入所需的段
优点 便于多道程序共享内存、便于对服务器的保护、各段程序互不影响
缺点 内存利用率低、内存碎片浪费大
(3)段页式存储组织
段式和页式结合的存储组织方法。将段分成固定大小的页,内存则等分成与页大小相等的页,程序对内存的调入或调出是按页进行的,但它又可按段实现共享和保护。
多道程序环境中,每道程序都有一张段表和一个作为用户标志的基号。在一个逻辑地址中,除了基号x段号s和页号p外,还要一个页内地址d。每个逻辑地址变成实地址(物理地址)的过程如下:
根据基号找到基址寄存器,又该基址寄存器内容找到该程序对应的段表始地址,再由段号找到该段表中相应行地址,该行地址的内容为页表地址的起始地址,再由页号找到物理页号的地址(已是内存中的某页),它与页内地址拼接后记得物理地址。用公式表达为
(((x)+s)+p)*+d (x)表示基寄存器中地址为x的单元内容,n为页内地址的位数
优点: 空间浪费小、存储共享容易、存储保护容易、能 动态连接
缺点: 复杂性和开销增大,所需硬件和占用的内存变大、执行速度大大降低
(4)页面置换法
将一些主存中的页淘汰道外存,腾出空间给要使用的页,这个过程也被称为Swapping,淘汰原理与Cache类似。主要用于解决一下问题
由于实际主存是小于虚存的,因此可能会发生内存中已满,需要使用的页不作主存中这一情况,这时就需要进行置换,
(5)局部性原理
进程往往会不均匀的高度局部化地访问内存。局部性分为时间局部性和空间局部性。时间局部性是指最近访问的存储位置,可能在不久的将来还要访问;空间局部性指存储访问有聚集的倾向,当访问了某个位置后,很有可能也要访问其附近的位置。
这是存储管理策略的基础
根据局部性原理的特征性,Denning阐述了程序性能的工作集理论,工作集是进程频繁访问的页面的集合,为使程序有效的运行,它的页面工作集应驻留内存中,否则,进程频繁的从外存请求页面,而出现称为“抖动”(又称颠簸)的过度页面调度活动。此时页面调度时间超过了程序的执行时间,使CPU有效利用率下降。
工作集的大小依赖于工作集窗口(进程在定长时间间隔中涉及的页面集合)的大小,在进程执行中,工作集会发生编号。有时,当进程进入另一具完全不同的执行阶段时,工作集会出现显著的变化。不过在一个进程执行过程中,工作集的大小处于稳定状态的时间基本上占绝大多数。
另一种控制颠簸的技术是控制缺页率,操作系统规定的缺页率上下限,当一个进程的缺页率高于上限时,表明该进程需要更大的内存空间,则分配较多的内存页面给它,当进程的缺页率低于下限时,表明该进程占用的内存空间较大,可以适当的回收若干内存页。
2 磁盘管理
磁盘是最常见的外部存储器,由一个或多个圆形磁盘组成
概念:
常用计算公式
数据存取过程
硬盘存放数据规则: 在向磁盘记录一个文件时,应将文件尽可能的记录在同一个柱面上,当一个柱面记录不下时,再记录道相邻柱面上。因此,当一个文件超出一个磁道容量时,剩下的部分应存于其他盘面的同一编号的磁道上,即同一柱面的其他磁道。
为存取磁盘上的一个物理记录,必须给出3个参数;柱面号、磁头号(盘面号)、扇区号。磁盘机根据柱面号控制移动臂作径向运动,带动读写头到达所需的柱面;从磁头号可确定那个一个磁头来读写数据,然后变等待访问的信息块旋转道读写头下时进行存取。
磁盘机实在这些功能的操作是:查找(将读写头定位道指定柱面并选择指定磁头)、搜索(指定磁头寻找访问的记录块)、读、写和控制
平均存取数据是反应磁盘数据操作速度的指标 单位是毫秒(ms),共分为三个阶段:平均寻道时间、平均定位时间、转动延迟,后两个又被统称为等待时间;寻到时间也被称为查找时间。
磁盘调度算法
3 、设备管理
在计算机系统中,除了处理器和内存之外,其他大部分硬件设备称为外部设备,它包括输入/输出设备、辅存设备及终端设备等
(1)数据传输控制方式
输入输出系统主要有5种方式与主机交换数据,分别为 程序控制方式、程序中断方式、DMA方式、通道方式、输入输出处理机方式。
(2)虚设备与SPOOLING技术
SPOOLING(Simultaneous Peripheral Operation On-Line)的含义是外部设备联机并行操作,又称为假脱机输入输出操作,其采用一组程序或进程模拟一台I/O处理机。系统组成如图所示
SPOOLING技术利用了专门的外围控制机将低速的I/O设备上的数据传送到高速设备上,或者相反,但是当引入多道程序后,完全可以利用其中的一到程序来模拟脱机输入时的外围控制机的功能,把低速的数据传到高速磁盘上;再利用另一道程序来模拟脱机输出时的外围控制机的功能,把高速磁盘上的数据传送到低速的I/O设备上。这样变可以在主机的控制下实现脱机输入输出的功能。此时的外围操作与CPU对数据的处理同时进行,我们将这种在联机情况下实现的同时外围操作称为SPOOLING,或称为假脱机操作。
采用假脱机技术可以将低速的独占设备改造成一种可以共享的设备,而且一台物理设备可以对应若干台虚拟的同类设备。但需要注意的是SPOOLING系统必须有高速、大容量并且可以随机存取的外存(如磁盘或磁鼓)支持。
4 文件管理
(1)树形目录结构
计算机的文件系统中一般都是采用树形目录结构,以根结点为跟目录,数据文件作为树叶,其他所有目录均作为数的结点。
绝对路径给出文件或目录位置的完全描述,通常由根目录开始,相对路径通常用目录结构中的当前位置开始,一般都比绝对路径短
(2)位示图
位示图法是为管理磁盘空闲存储空间提出的一种方法。 该方法是在外存上建立一张位示图,记录文件存储器的使用情况。利用二进制的一位来表示磁盘中一个盘块的使用情况,当其值为“0”是表示空闲,“1”表示已分配
(3)索引文件
索引文件是一种对文件存储不连续分配的方法。为每个文件建立一张索引表,表中每一项指出文件信息所在的逻辑块号和与之对应的物理块号。
优点 :既适用于顺序存取,又试用于随机存取
缺点 :索引表增加了存储空间的开销,在存取文件时需要访问两次磁盘,一次访问索引表,一次根据索引表的数据访问文件信息
为提高效率,一种改进方法是 在对某个文件进行操作之前,预先把索引表调入内存,这样 文件的存取就能直接从内存的索引表中确定相应的物理块号,从而只需要访问一次磁盘。