操作系统运行原理
1:资源分配与管理机制

我们熟知的Windows,macOS,Linux等诸如此类的,都是操作系统的类型。操作系统本身运行需要执行众多进程与程序,那我们在使用高能耗的程序时为什么又能做到流畅使用呢?这其中的因素很多,当然系统的资源分配管理机制也是其中重要的一环,今天就来讲讲操作系统运行原理中的资源分配与管理机制。
操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物力资源通过复用、虚拟和抽象而得到的产物。虚拟机提供进程运行的逻辑计算环境。从概念上来说,一个进程运行在一台虚拟机上,可以认为一个进程就是一台虚拟机,一台虚拟机就是一个进程。
复用:空分复用共享和时分复用共享
时分复用共享(time-multiplexed sharing):将资源从“时间”上分割成更小的单位供不同进程使用。简而言之是多个程序或进程需要使用同一种资源而采取的策略,每个程序进程需要根据顺序、优先级等依次排队使用这个资源。比如Word和Excel都需要使用CPU这一个资源,那么就需要排队用,假设Word执行优先级更高,则系统把资源优先调配给Word使用,Word使用完毕后Excel才可使用。
例子:打印机。比如有多个打印任务需要去执行,程序会将任务依次转为缓存依次读取并执行任务。
CPU时间片。程序在CPU里以一定的时间间隔进行轮转执行,每个程序依次执行一段时间。表面上看起来是所有程序同时在执行,实际上只是单个程序依次执行一段时间。
空分复用共享(space-multiplexed sharing): 将资源从“空间”上分割成更小的单位供不同进程使用。空分复用是指多个程序或用户同时使用一个资源的不同部分,一个可能不恰当的例子,程序A需要CPU和多核性能,程序B需要CPU的单核性能,设CPU有16核心,程序A需要使用12核心的多核性能,则程序B可以使用剩下空闲的4核中任意一核的资源。
例子:CPU多程序并发实现与内存(RAM)关系。为了实现CPU多程序并发,多程序需要储存在内存中待用,这些程序有不同内存块,互不影响。
虚拟
对资源进行转化、模拟或整合,把一个物理资源转变成多个逻辑上的对应物,也可以把多个物理资源变成单个逻辑上的对应物,即创建无须共享独占资源的假象,或创建易用且多于实际物理资源的虚拟资源假象,以达到多用户共享一套计算机物理资源的目的。
虚拟技术可用于外部设备(外部设备同时联机操作(SPOOLing)),存储资源(虚拟内存)和文件系统(虚拟文件系统(Virtual File System, VFS))中。
例子:虚拟机。使用虚拟化,使用硬件资源结合软件技术模拟出本不存在的虚拟硬件,这些虚拟硬件可以**运行,与宿主机互不干扰。
虚拟内存。将硬盘等外存剩余可用空间转化为内存(RAM使用)以缓解内存不足、内存交换的问题。
复用和虚拟相比较,复用所分割的是实际存在的物理资源,而虚拟则实现假想的同类资源。虚拟技术解决某类物理资源不足的问题,提供易用的虚拟资源和更好的运行环境。
操作系统虚拟化与硬件虚拟化的区别:
(1)操作系统虚拟化是以原系统为模板,虚拟出的是原系统的副本,而硬件虚拟化虚拟的是硬件环境,然后真实地安装系统。
(2)操作系统虚拟化虚拟出的系统只能是物理操作系统的副本,而硬件虚报化虚拟出的系统可以为不同的系统,如Linux、Windows等。
(3)虚拟出的系统间关系不同,操作系统虚拟化虚报的多个系统有较强的联系。例如,多个虚拟系统能够同时被配置。原系统发生了改变,所有虚报出的系统都会改变。而硬件虚拟化虚拟的多个系统是相互**的,与原系统也没有联系,原系统的损坏不会殃及虚拟系统。
(4)性能损耗不同,操作系统虚报化虚拟出的系统都是虚拟的,性能损耗低,而硬件虚拟化是在硬件虚报拟层上实实在在安装的操作系统,性能损耗高。
抽象
通过创建软件来屏蔽硬件资源的物理特性和实现细节,简化对硬件资源的操作、控制和使用。复用和虚拟的主要目标是解决物理资源数量不足的问题,抽象则用于处理系统复杂性,重点解决资源易用性。
文件:I/O设备的抽象
虚拟内存:对主存和磁盘I/O设备的抽象
进程:对处理器、主存和I/O设备的抽象


相关文献&引用&说明
感谢如下文章作者的内容,本文中所有内容如有错误欢迎指出
时分复用共享和空分复用共享的介绍——CSDN作者:安小然U
操作系统教程总结——CSDN作者:杨领well
操作系统层虚拟化——360百科

