# 1. 操作系统概论 & 功能

![](https://824295091-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MEmUhsvIFBb8ar2-Um3%2F-MEmuopjelOYHrR5tGqS%2F-MEmvEbNmxTtXbjtqSfx%2F%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%A6%82%E5%BF%B5%20%26%20%E5%8A%9F%E8%83%BD.svg?alt=media\&token=fcd3bf4f-7b98-421b-8db0-408830f1d746)

## 1. 操作系统概论 & 定义

![计算机系统的层次结构](https://824295091-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MEmUhsvIFBb8ar2-Um3%2F-MEmdG0cx2neuNnTKT46%2F-MEmeGB-vOPqWI3AzUrL%2Fimage.png?alt=media\&token=4ba4d9e1-7ad1-4d9d-903e-28e44aca686f)

**操作系统**（Operating System，OS）是指控制和**管理**整个计算机系统的**硬件和软件**资源，并合理地组织调度计算机的工作和资源分配；以**提供给用户和其他软件方便的接口和环境**；它是计算机系统中最基本的**系统软件**。

1. 操作系统是系统资源的管理者
2. 向上层提供方便易用的服务
3. 是最接近硬件的一层软件

## 2. 操作系统功能 & 目标

### 1. 作为系统资源的管理者

补充知识：执行一个程序前**需要将该程序放到内存中**，才能被 CPU 处理

使用 QQ 和朋友视频聊天的过程：

1. 找到 QQ 的安装位置 —— 逐层打开文件夹，找到 QQ.exe 这个程序的存放位&#x7F6E;**（文件管理）**
2. 双击打开 QQ.exe —— 需要把该程序相关数据放入内&#x5B58;**（存储器管理）**
3. QQ 程序正常运行 —— 对应的进程被处理机 CPU 处&#x7406;**（处理机管理）**
4. 开始和朋友视频聊天 —— 需要将摄像头设备分配给进&#x7A0B;**（设备管理）**

通过上述例子，我们可知操作系统作为系统资源的管理者，提供了**文件管理**、**存储器管理**、**处理机管理**、**设备管理**四个功能。

### 2. 向上层提供方便易用的服务

对于硬件来说，只听得懂二进制指令，用户很难直接操作硬件，所以操作系统进行了一定的封装，仅仅暴露出简单易用的接口。

封装思想：操作系统把一些难以直接操作的硬件功能封装成简单易用的服务，使用户能更方便地使用计算机，用户无需关心底层硬件的原理，只需要对操作系统发出命令即可。

![](https://824295091-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MEmUhsvIFBb8ar2-Um3%2F-MEmiFeRfvFjQgA7yFbl%2F-MEmsnf6ia7HU28Dyxgt%2F%E5%90%91%E4%B8%8A%E5%B1%82%E6%8F%90%E4%BE%9B%E6%96%B9%E4%BE%BF%E6%98%93%E7%94%A8%E7%9A%84%E6%9C%8D%E5%8A%A1.svg?alt=media\&token=0be84d31-22cf-44d5-85f9-ef41e588b0cf)

![](https://824295091-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MEmUhsvIFBb8ar2-Um3%2F-MEmiFeRfvFjQgA7yFbl%2F-MEmtEId9OVfeIQTjdlH%2Fimage.png?alt=media\&token=c2f3f50a-490e-4ffd-a366-d4c6e1c942b2)

### 3. 作为最接近硬件的层次

需要实现**对硬件机器的拓展**

没有任何软件支持的计算机成为**裸机**。在裸机上安装的操作系统，可以提供资源管理功能和方便用户的服务功能，将裸机改造成功能更强、使用更方便的机器

通常把覆盖了软件的机器成为**扩充机器**，又称之为**虚拟机**

类比汽车：&#x20;

* 发动机 —— 只会转；轮胎 —— 只会滚&#x20;
* 在原始的硬件机器上覆盖一层传动系统 —— 让发动机带着轮子转 —— 使原始的硬件机器得到拓展

操作系统对硬件机器的拓展：将CPU、内存、磁盘、显示器、键盘等硬件合理地组织起来，让各种硬件能够相互协调配合，实现更多更复杂的功能

普通用户无需关心这些硬件在底层是怎么组织起来工作的，只需直接使用操作系统提供的接口即可
