操作系统的资源管理
1、目的
首先,物理资源有限而竞争使用资源的应用程序众多,必须合理地解决物理资源数量不足、合理分配资源等问题;
其次,物理资源的硬件实现非常复杂,用户几乎不可能直接使用,只能借助系统来实现资源的易用性;
所以,资源管理:在相互竞争的应用程序之间有序地控制软硬件资源分配、使用、回收,以使得资源能够在多个程序之间共享;
2、资源管理技术
(1)复用
资源复用:物理资源宝贵而稀有,多个进程竞争使用资源,操作系统让众多进程共享物理资源,此种共享即为资源复用;
进程通过空分复用内存资源,其映像装入不同内存区域,各有各的地址空间并通过硬件存储保护机制隔离;
进程通过时分复用共享物理处理器,使得可以执行已装入到不同物理地址区域中的程序代码;
1)、空分复用
空分复用即将资源的不同单位同时分配给不同进程;
例如:多个进程可以同时进入内存,在内存中存放若干进程的运行效率比仅存单个进程的运行效率要高;
2)、时分复用
时分复用指可以轮流使用资源,每个进程获得这类资源后会占用一段时间,多个进程则分时地共享这类资源;
独占式:进程获得独占式资源后,对资源执行多个操作,通常使用一个完整周期后才会释放;
共享式:进程获得共享式资源后,很可能随时被剥夺,被另一个进程抢占使用;
(2)虚拟
虚拟:转化、模拟、整合资源,把一个物理资源转变成多个逻辑上的对应物,或把多个物理资源转变成单个逻辑上的对应物;
1)、用于外部设备:例如,文件形式的输出信息写至虚拟打印机,待输出信息全部汇集后才送到物理打印机上打印,这样,物理上的一台独占设备转化为逻辑上的多台虚拟独占设备,每个进程都有自己的虚拟打印机;
2)、用于存储资源:例如,某程序的运行空间超出分给它的可用物理内存空间大小,操作系统便在内存和磁盘之间自动传送与当前计算有关的程序段/数据段,实现了把多个物理资源(内存+外存)转化成了单个逻辑对应物(虚拟内存);
3)、用于文件系统:例如,操作系统在虚拟文件系统VFS控制下同时支持多种具体文件系统;
----------复用:分割实际存在的物理资源----------虚拟:实现假想的虚拟同类资源----------
(3)抽象
资源抽象:创建软件来屏蔽硬件资源的物理特性和实现细节,简化对硬件资源的操作、控制、使用,在硬件接口基础上,把按特定方式操作的底层指令序列和数据结构打包成函数以作为单一的高级操作被调用;
----------复用、虚拟:解决物理资源不足----------抽象:处理系统复杂性----------
3、组合使用资源管理技术
例1:打印机---抽象+虚拟
配置“打印函数”设备驱动程序,通过打印函数抽象隐蔽打印机动作细节;
创建虚拟设备,实施SPOOLing虚拟技术扩充物理打印机数量,使得每个用户都可以使用方便的虚拟打印机;
例2:内存资源---复用+虚拟
采用空分复用,能有效提高内存空间利用率;
引入虚拟存储技术,从逻辑上扩大内存容量;