资源管理
众所周知,现代计算机系统都包含各种各样的硬件和软件资源,操作系统的 主要任务之一是对资源进行管理,在相互竞争的应用程序之间有序的控制软硬件资源的分配、使用和回收,使资源能够在多个程序之间共享。由于物理资源有限,而竞争资源的应用程序过多,必须很好地解决物理资源数量不足的和合理分配资源这两个问题。要实现资源的易用性,只能借助系统所提供的功能或者其他设施来控制与使用。从更高的层次来看,操作系统将物理计算机的功能加以扩展,使之成为接口好、功能强、效率高、易使用的计算机系统,但是这种是逻辑上的,也就是我们常说的虚拟机。这里将结合所学的三种操作系统资源管理技术:复用、虚拟和抽象来探讨一下。
资源复用
什么叫资源复用呢?由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程(在一台虚拟机运行的程序)共享物理资源,这种资源共享称为资源复用。 通过适当复用可以创建虚拟资源和虚拟机,以解决物理资源数量不足问题。物理资源的复用共享有两种基本方法:空分复用共享和时分复用共享。
1)空分复用共享
顾名思义,空分就是按照空间来划分,表明资源可以从“空间”上分割成更小的单位供进程使用,也就是说能将资源的不同单位同时分给不同的进程。内存和外存就是空分复用的典型例子,多个进程可以同时进入内存,在内存中存放若干进程的运行效率比进存放一个进程的效率要高。
2)时分复用共享
顾名思义,空分就是按照时间来划分,表明资源可以从“时间”上分割成更小的单位供进程使用,也就是说可以轮流来使用资源,每个进程获得这类资源后会占用一段时间,多个进程则分独占式和时分共享式。进程获得时分独占式资源后对资源执行多个操作,通常是使用一个完整周期后才会释放,磁带机是这类资源最典型的例子。时分共享式资源是指进程占用该类资源后很可能随时被剥夺,被另一个进程抢占使用。
资源虚拟
虚拟又称虚拟性,是指操作系统中实现对计算机软硬件资源进行有效管理的技术和手段,能进一步提搞操作系统为用户服务的能力和水平。虚拟的本质是对资源进行转化、模拟和整合,把一个物理资源转变成多个逻辑上的对应物,也可以把多个物理资源变成单个逻辑上的对应物,也就是创建无需共享的多个独占资源的假象,或创建易用且多于实际物理资源数量的虚拟资源假象,以达到多用户共享一套计算机物理资源的目的。
复用与虚拟两者相比较,“复用”所分割的是实际存在的物理计算机资源,而“虚拟”则实现假想的虚拟同类资源。采用虚拟技术不仅可以解决物理资源数量不足的问题,而且能够为应用程序提供易于使用的虚拟资源并创建更好的运行环境。
虚拟技术可以用于外部设备:应用程序把组织成文件形式的输出信息先 写至虚拟打印机,然后等输出信息全部汇聚,再传送到物理打印机打印
虚拟技术可以用于存储资源: 用来实现虚拟内存,就是只要某个程序的运行空间超出分给它的可用物理内存大小,就会利用外存 内存变成一个虚存运行这个程序
虚拟技术可以用于文件系统:使操作系统在VFS(虚拟文件系统)控制下可以同时支持多种具体文件系统
资源抽象
复用和虚拟的主要目标是解决物理资源数量不足的问题,抽象则用于处理系统复杂性,重点解决资源易用性。资源抽象是指通过创建软件来屏蔽硬件资源的物理特性和实现细节,简化对硬件资源的操作、控制和使用,资源抽象软件对内封装实现细节,对外提供应用接口。抽象要做得尽可能简单些,良好的抽象不但会使用户容易理解和使用,又能够为使用低层硬件提供强有力的支持。
抽象技术也可用于定义和构造多层软件抽象,每层软件都隐藏下一层的实现细节,从而形成多级资源抽象,数据I/O也依赖于多层抽象。
以上,就是归纳总结了三种基本的资源管理技术:复用、虚拟和抽象。在操作系统的设计、实现和使用中自始至终贯穿这些技术的应用,采用这些资源管理技术的目标之一是解决物理资源数量不足和资源易用性的问题。好了,此次博客到此结束,同学们下次再会!