热爱计算机科学和互联网技术,掌握扎实的计算机基础知识,深入理解数据结构、算法和操作系统知识。

操作系统定义

定义:

 操作系统(Operating System,OS)尚无严格的定义。

例如:

 1.OS是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户方便有效地使用计算机提供良好的运行环境的一种软件系统。

2.OS是一个系统程序集合,管理和控制计算机的所有软件和硬件资源,合理地组织计算机工作流程,以便有效地利用系统资源,为用户提供一个功能强大、使用方便的工作环境。

操作系统是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。

操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:

进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

以现代观点而言,标准个人电脑OS应提供以下功能:

进程管理(Processing management) ;

记忆空间管理(Memory management) ;

文件系统(File system) ;

网络通讯;

安全机制(Security) ;

GUI使用者界面 ;

驱动程序。

目前常见的操作系统有 MacOS、DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware、Android、HongMeng、iOS 等。

核心服务:

a. 服务用户。 操作系统作为用户接口和公共服务程序。

b. 进程交互。 操作系统作为进程执行的控制者和协调者。

c. 系统实现。 操作系统作为扩展机或虚拟机。

d. 资源管理。 操作系统作为资源的管理者和控制者。

资源管理解决的核心问题

资源管理解决物理资源数量不足和合理分配资源这两个问题。

操作系统架构原理-资源管理技术与进程的抽象设计_linux


操作系统虚拟机为用户提供了一种简单、清晰、易用、高效的计算机模型。虚拟机的每种资源都是物理资源通过复用、虚拟和抽象而得到的产物。

操作系统架构原理-资源管理技术与进程的抽象设计_操作系统_02


存储管理的基本功能:存储分配,地址映射,存储保护,存储共享,存储扩充。

操作系统架构原理-资源管理技术与进程的抽象设计_大数据_03


虚拟机提供进程运行的逻辑计算环境。

一个进程就是一台虚拟机,一台虚拟机就是一个进程。

复用:空分复用共享和时分复用共享。

a. 空分复用共享(space-multiplexed sharing): 将资源从“空间”上分割成更小的单位供不同进程使用。在计算机系统中,内存和外存(磁盘)等是空分复用共享的。

b. 时分复用共享(time-multiplexed sharing): 将资源从“时间”上分割成更小的单位供不同进程使用。在计算机系统中,处理器和磁盘机等是时分复用共享的。

虚拟

虚拟:对资源进行转化、模拟或整合,把一个物理资源转变成多个逻辑上的对应物,也可以把多个物理资源变成单个逻辑上的对应物,即创建无须共享独占资源的假象,或创建易用且多于实际物理资源的虚拟资源假象,以达到多用户共享一套计算机物理资源的目的。虚拟技术可用于外部设备(外部设备同时联机操作(SPOOLing)),存储资源(虚拟内存)和文件系统(虚拟文件系统(Virtual File System, VFS))中。

复用和虚拟相比较,复用所分割的是实际存在的物理资源,而虚拟则实现假想的同类资源。

虚拟技术解决某类物理资源不足的问题,提供易用的虚拟资源和更好的运行环境。

抽象

抽象:通过创建软件来屏蔽硬件资源的物理特性和实现细节,简化对硬件资源的操作、控制和使用。

复用和虚拟的主要目标是解决物理资源数量不足的问题。

抽象则用于处理系统复杂性,重点解决资源易用性。

核心抽象模型:进程

操作系统架构原理-资源管理技术与进程的抽象设计_操作系统_04


进程控制块(Process Control Block, PCB):进程存在的唯一标识,操作系统掌握进程的唯一资料结构和管理进程的主要依据。包括标识信息、现场信息和控制信息等信息。

程序和数据刻画进程的静态特征。

进程控制块刻画进程的动态特征。

进程队列(process queue):处于同一状态的所有进程的PCB链接在一起的数据结构。 有两种队列组织方式:链接方式和索引方式。

进程映像(process image)  包括进程控制块、进程程序块、进程核心块、进程数据块等要素。

进程切换在内核态发生。

进程可以分为两部分,资源集合和线程集合。进程要支撑线程运行,为线程提供虚拟地址空间和各种资源。进程封装管理信息,线程封装执行信息。

共享资源的数据结构:管程(monitor)

管程(monitor):代表共享资源的数据结构及并发进程在其上执行的一组构成就构成管程,管程被请求和释放资源的进程锁调用。

操作系统架构原理-资源管理技术与进程的抽象设计_python_05


参考资料