操作系统基础知识(二)

   1 存储管理

   存储管理的主要任务是对内存空间进行分配和回收。

    由于计算机的内存容量有限,故在此基础上发展出了虚拟内存系统。

虚拟内存系统的基本思想是用外存来换取内存,通过运算将运行进程访问的地址(逻辑地址,虚拟地址)与主存的物理地址分开,从而使得提供大于物理地址的逻辑地址空间成为可能。而建立虚拟地址和物理地址之间的对应关系、实现转换工作就成为“虚存管理”

      (1)页式存储组织

将各进程的虚拟空间划分为若干个长度相等的页,把内存空间以与页等的大小划分为大小相等的页或页面。采用请求调页或预调页技术实现内外存统一管理

优点     利用率高 、产生的内存随片小、内存空间分配及管理简单

缺点     需要相应的硬件支持、增加了系统开销、请求调页算法选择不当可能出现“抖动”现象

       (2)段式存储组织

一个作业是由若干个具有逻辑意义的段(如 主程序、子程序、数据段等)组成。

在分段式系统中允许程序(作业)占据内存中若干分离的分区,虚拟地址是一个有序对(段号、段内位移)。 系统为每一个作业建立一个段表,内容包括 段号、预内存起始地址的对应关系、段长和状态等。

状态是指该段是否调入内存,若已调入内存,则指出该段的起始位置和访问权限,若未调入则产生缺段中段,以便装入所需的段

优点    便于多道程序共享内存、便于对服务器的保护、各段程序互不影响

缺点     内存利用率低、内存碎片浪费大

          (3)段页式存储组织

段式和页式结合的存储组织方法。将段分成固定大小的页,内存则等分成与页大小相等的页,程序对内存的调入或调出是按页进行的,但它又可按段实现共享和保护。

多道程序环境中,每道程序都有一张段表和一个作为用户标志的基号。在一个逻辑地址中,除了基号x段号s和页号p外,还要一个页内地址d。每个逻辑地址变成实地址(物理地址)的过程如下:

根据基号找到基址寄存器,又该基址寄存器内容找到该程序对应的段表始地址,再由段号找到该段表中相应行地址,该行地址的内容为页表地址的起始地址,再由页号找到物理页号的地址(已是内存中的某页),它与页内地址拼接后记得物理地址。用公式表达为

           (((x)+s)+p)*2^{n}+d        (x)表示基寄存器中地址为x的单元内容,n为页内地址的位数

优点: 空间浪费小、存储共享容易、存储保护容易、能 动态连接

缺点: 复杂性和开销增大,所需硬件和占用的内存变大、执行速度大大降低

          (4)页面置换法

将一些主存中的页淘汰道外存,腾出空间给要使用的页,这个过程也被称为Swapping,淘汰原理与Cache类似。主要用于解决一下问题

由于实际主存是小于虚存的,因此可能会发生内存中已满,需要使用的页不作主存中这一情况,这时就需要进行置换,

          (5)局部性原理

进程往往会不均匀的高度局部化地访问内存。局部性分为时间局部性和空间局部性。时间局部性是指最近访问的存储位置,可能在不久的将来还要访问;空间局部性指存储访问有聚集的倾向,当访问了某个位置后,很有可能也要访问其附近的位置。

这是存储管理策略的基础

  根据局部性原理的特征性,Denning阐述了程序性能的工作集理论,工作集是进程频繁访问的页面的集合,为使程序有效的运行,它的页面工作集应驻留内存中,否则,进程频繁的从外存请求页面,而出现称为“抖动”(又称颠簸)的过度页面调度活动。此时页面调度时间超过了程序的执行时间,使CPU有效利用率下降。

工作集的大小依赖于工作集窗口(进程在定长时间间隔中涉及的页面集合)的大小,在进程执行中,工作集会发生编号。有时,当进程进入另一具完全不同的执行阶段时,工作集会出现显著的变化。不过在一个进程执行过程中,工作集的大小处于稳定状态的时间基本上占绝大多数。

另一种控制颠簸的技术是控制缺页率,操作系统规定的缺页率上下限,当一个进程的缺页率高于上限时,表明该进程需要更大的内存空间,则分配较多的内存页面给它,当进程的缺页率低于下限时,表明该进程占用的内存空间较大,可以适当的回收若干内存页。

2 磁盘管理

 磁盘是最常见的外部存储器,由一个或多个圆形磁盘组成

概念:

  • 磁道: 磁道是一组记录密度不同的同心圆,在一个磁盘中,从外到内,磁盘记录密度不断增加。同时0磁道是磁盘的最外圈的磁道.
  • 扇区:磁盘上每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区
  • 柱面:在一个磁盘中,多个记录面相同的磁道组成的柱面,比如磁盘有9个记录面,则这9个记录面的0磁道可组成一个柱面

常用计算公式

  • 计算磁道数:(外半径-内半径)*道密数*记录面数(磁盘的第一面和最后一面为保护作用的,计算时需要减调)
  • 非格式化容量:位密度*Ⅱ*最内圈直径*总磁道数 (位密度每个磁道都不同,但是每道的容量是相同的)
  • 格式化容量:每道扇区数*扇区容量*盘片转数
  • 存取时间=寻道时间+等待时间     寻道时间是指磁头移动道磁道所需时间;等待时间为等待读写的扇区转道磁头下方所用时间。

数据存取过程

 硬盘存放数据规则: 在向磁盘记录一个文件时,应将文件尽可能的记录在同一个柱面上,当一个柱面记录不下时,再记录道相邻柱面上。因此,当一个文件超出一个磁道容量时,剩下的部分应存于其他盘面的同一编号的磁道上,即同一柱面的其他磁道。

为存取磁盘上的一个物理记录,必须给出3个参数;柱面号、磁头号(盘面号)、扇区号。磁盘机根据柱面号控制移动臂作径向运动,带动读写头到达所需的柱面;从磁头号可确定那个一个磁头来读写数据,然后变等待访问的信息块旋转道读写头下时进行存取。

磁盘机实在这些功能的操作是:查找(将读写头定位道指定柱面并选择指定磁头)、搜索(指定磁头寻找访问的记录块)、读、写和控制

平均存取数据是反应磁盘数据操作速度的指标 单位是毫秒(ms),共分为三个阶段:平均寻道时间、平均定位时间、转动延迟,后两个又被统称为等待时间;寻到时间也被称为查找时间。

 

磁盘调度算法

  • 先来新服务算法:根据进程请求访问磁盘的先后次序进行调度。较为公平,但是由于未对寻道进行优化,平均寻道时间较长
  • 最短寻到时间优先算法: 优先选择访问的磁道于当前磁头所在磁道距离最近的进程。 保证了每次寻道时间最短,不能保证平均寻道时间最短。
  • 扫描算法(SCAN):不仅考虑到欲访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如磁头正在自里向外移动时,SCAN算法所选择的下一个访问对象应是其欲访问的磁道既在当前磁道之外,又是距离最近。直到再无更外的磁道需要访问才将磁臂换向;由于这种算法的规律类似电梯的运行,又称电梯调度法。
  • 循环扫描(CSCAN)算法: 该算法规定 磁头单向移动;当访问到最外的磁道时返回到最里的磁道,即最小的磁道号紧接着最大的磁道号构成循环进行扫描。

 

3 、设备管理

在计算机系统中,除了处理器和内存之外,其他大部分硬件设备称为外部设备,它包括输入/输出设备、辅存设备及终端设备等

    (1)数据传输控制方式

输入输出系统主要有5种方式与主机交换数据,分别为 程序控制方式、程序中断方式、DMA方式、通道方式、输入输出处理机方式。

  • 程序控制方式: CPU直接利用I/O指令编程,实现数据的I/O。CPU发出的I/O命令,命令中包含了外设的地址信息和所要执行的操作,相应的I/O系统执行该命令并设置状态寄存器,CPU不停地(定期地)查询I/O系统已确定该操作是否完成。有查询主动查询外设,完成主机与外设间的数据传送,方法简单,硬件开销小。
  • 程序中断方式:CPU利用中断方式完成数据的I/O,当I/O系统与外设交换数据时,CPU无需等待也不必查询I/O的状态,当I/O系统完成了数据传输后则以中断信号通知CPU。然后CPU保存正在执行程序的线程,转入I/O中断服务程序完成与I/O系统的数据交换,最后返回原主程序继续执行。与程序控制方式相比 中断方式提高了CPU的效率(无需等待)。在系统中具有多个中断源的情况下,常用的除了方法有:多中断信号线法,中断软件查询法、雏菊链法、总线仲裁法和中断向量表法。
  • DMA方式:使用DMA控制器开控制和管理数据传输,DMAC和CPU共享系统总线,并具有独立访问存储器的能力。在进行DMA时,CPU放弃对系统总线的控制而又DMAC控制总线,有DMAC提供存储器地址及必需的读写控制信号,以实现外设与存储器之间的数据交换。DMAC获取总线的方式主要有3种,分别是暂停方式、周期窃取方式和共享方式
  • 通道方式:通道是一种通过执行通道查询管理I/O操作的控制器,它使主机与I/O操作之间达到更高的并行程度。在具有通道处理机的系统中,当用户进程请求启动外设使,有操作系统根据I/O要求构造通道程序和通道状态字,将通道程序保存在主存中,并将通道程序的首地址放到通道地址字中,然后执行“启动I/O”指令。按照所采取的传送方式,可将通道分为字节多路通道、选择通道和数组多路通道三种。
  • 输入输出处理机(IOP)方式:也称为外围处理机(PPU),它是一个专用处理机,也可以是一个通用的处理机,具有丰富的指令系统和完善的中断系统。专用于大型、高效的计算机系统处理外围设备的I/O,并利用共享存储器或其他共享手段的与主机交换信息,从而使大型高效的计算机系统更加高效的工作。 与通道相比:IOP基友毕竟丰富的指令系统,结构接近于一般的处理机,且有自己的局部存储器。

    (2)虚设备与SPOOLING技术

SPOOLING(Simultaneous Peripheral Operation On-Line)的含义是外部设备联机并行操作,又称为假脱机输入输出操作,其采用一组程序或进程模拟一台I/O处理机。系统组成如图所示

 

SPOOLING技术利用了专门的外围控制机将低速的I/O设备上的数据传送到高速设备上,或者相反,但是当引入多道程序后,完全可以利用其中的一到程序来模拟脱机输入时的外围控制机的功能,把低速的数据传到高速磁盘上;再利用另一道程序来模拟脱机输出时的外围控制机的功能,把高速磁盘上的数据传送到低速的I/O设备上。这样变可以在主机的控制下实现脱机输入输出的功能。此时的外围操作与CPU对数据的处理同时进行,我们将这种在联机情况下实现的同时外围操作称为SPOOLING,或称为假脱机操作。

采用假脱机技术可以将低速的独占设备改造成一种可以共享的设备,而且一台物理设备可以对应若干台虚拟的同类设备。但需要注意的是SPOOLING系统必须有高速、大容量并且可以随机存取的外存(如磁盘或磁鼓)支持。

 

4 文件管理

    (1)树形目录结构

 ​​​​计算机的文件系统中一般都是采用树形目录结构,以根结点为跟目录,数据文件作为树叶,其他所有目录均作为数的结点。

绝对路径给出文件或目录位置的完全描述,通常由根目录开始,相对路径通常用目录结构中的当前位置开始,一般都比绝对路径短

  (2)位示图

位示图法是为管理磁盘空闲存储空间提出的一种方法。 该方法是在外存上建立一张位示图,记录文件存储器的使用情况。利用二进制的一位来表示磁盘中一个盘块的使用情况,当其值为“0”是表示空闲,“1”表示已分配

    (3)索引文件

索引文件是一种对文件存储不连续分配的方法。为每个文件建立一张索引表,表中每一项指出文件信息所在的逻辑块号和与之对应的物理块号。

优点 :既适用于顺序存取,又试用于随机存取

缺点 :索引表增加了存储空间的开销,在存取文件时需要访问两次磁盘,一次访问索引表,一次根据索引表的数据访问文件信息

为提高效率,一种改进方法是 在对某个文件进行操作之前,预先把索引表调入内存,这样 文件的存取就能直接从内存的索引表中确定相应的物理块号,从而只需要访问一次磁盘。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值