概念

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

计算机操作系统的层次结构:裸机(硬件 CPU、内存、硬盘)-> 操作系统 -> 应用软件(程序 QQ、微信、英雄联盟)-> 用户

  1. 用户角度:OS 管理计算机系统的各种资源,扩充硬件的功能,控制程序的执行
  2. 人机交互:OS 是用户与机器的接口,提供良好的人机界面,方便用户使用计算机,在整个计算机系统中具有承上启下的地位
  3. 系统结构:OS 是一个大型软件系统,其功能复杂,体系庞大,采用层次式、模块化的程序结构

功能和目标

作为系统资源的管理者

补充知识:进程是一个程序的执行过程。执行前 需要将车内工序放到内存中,才能被 CPU 处理。

操作系统的概念 - 图1

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

  1. 在各个文件夹中找到 QQ 安装的位置(逐层打开文件夹,找到 QQ.exe 这个程序,也就是可执行文件的存放位置)
  2. 双击打开 QQ.exe(需要把该程序相关数据放入内存)
  3. QQ 程序正常运行(对应的进程被处理机(CPU)处理)
  4. 开始和朋友视频聊天(需要将摄像头设备分配给进程)

作为用户和计算机硬件之间的接口

  • 命令接口:允许用户直接使用
  • 程序接口:允许用户通过程序间接使用
  • GUI:现代操作系统中最流行的图形用户接口

操作系统的概念 - 图2

命令接口(允许用户直接使用):

  1. 联机命令接口:用户说一句,系统做一句
  2. 脱机命令接口(批处理命令接口):用户说一堆,系统做一堆

程序接口(允许用户通过程序间接使用):

  • 由一组系统调用组成(程序接口 = 系统调用 = 广义指令

GUI:图形用户界面(Graphical User Interface)

用户可以使用形象的图形界面进行操作,而不再需要记忆复杂的指令和参数。

如 Windows、Android、iOS、macOS 的图形化操作界面。

作为最接近硬件的层次

需要提供的功能和目标:实现对硬件机器的拓展。

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

通常把覆盖了软件的机器称为扩充机器,又称为虚拟机

特征

并发

并发:指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的。(常考易混概念——并行:指两个或多个事件在同一时刻同时发生。)

并发 vs 并行

假设小黄和小明每人有两个女朋友。任务一:和 A 约会;任务二:和 B 约会

小黄:和 A、B 一起约会(并行约会:同一时刻进行两个约会任务)
小明:8-9点 A;9-10点 B;10-11点 A(并发约会:宏观,这一整天在同时进行两个约会任务。微观上,在某一时刻,小明最多正在进行一个约会任务)

操作系统的并发性指计算机系统中同时存在着多个运行着的程序。

一个单核处理机(CPU)同一时刻只能执行一个程序,因此操作系统会负责协调多个程序交替执行(这些程序微观上是交替执行的,但宏观上看起来就像在同时执行)

共享

共享即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用。

两种资源共享方式:

  • 互斥共享方式:系统中某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
  • 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问

所谓的同时往往是宏观上的,微观上,这些进程可能是交替地对该资源进行访问的(即分时共享)。

生活实例:

  • 互斥共享方式:使用 QQ 和微信视频,同一时间段内摄像头只能分配给其中一个进程。
  • 同时共享方式:使用 QQ 发送文件 A,同时使用微信发送文件 B。宏观上,两边都在同时读取并发送文件,说明两个进程都在访问硬盘资源,从中读取数据。

并发和共享的关系

并发性指计算机系统中同时存在着多个运行着的程序。
共享性是指系统中的资源可供内存中多个并发执行的进程共同使用。

使用 QQ 发送文件 A,同时使用微信发送文件 B。

  1. 两个进程正在并发执行(并发性)-> 如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
  2. 需要共享地访问硬盘资源(共享性)-> 如果失去共享性,则 QQ 和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发

并发和共享互为存在条件。

虚拟

虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的。

背景知识:一个程序需要放入内存并给它分配 CPU 才能执行。

虚拟存储器技术(空分复用技术)
虚拟处理器技术(时分复用技术)

操作系统的概念 - 图3

如果失去了并发性,则以一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义了。因此,没有并发性,就谈不上虚拟性。

异步

异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。