在我们生活中,最常见的操作系统想必大家已经很熟悉了吧,对于电脑来说 windows、linux、mac os 都是在日常生活中很常见的,对于手机来讲 安卓 、 IOS 也都不陌生了。

那对于计算机系统来讲,它们到底是如何来划分层次的呢?

计算机系统层级结构以及定义

不管是电脑、还是手机,都可以大致分为以下层级:

操作系统底层架构简述 操作系统分层结构_操作系统底层架构简述

我们从下往上看,首先肯定是需要硬件的支持,有了硬件之后才有我们的操作系统,我们可以在操作系统上进行安装应用程序,最终用户可以使用应用程序。

在上图中,用户还可以直接来控制操作系统,比如我们可以不需要安装软件,使用命令行直接和操作系统进行交互。

那从这个图中来看,操作系统它应该需要具备哪些作用呢?

  • 1、负责管理协调硬件、软件等计算机资源的工作
  • 2、为上层的应用程序、用户提供简单易操作的服务

操作系统定位在硬件上层、应用程序、用户下层,它主要核心的作用就是以上两个点。

还有就是操作系统,它是属于系统软件,而不是硬件。

用官方的语言来解释一下,操作系统的定义:

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

操作系统的功能和目标

大概了解操作系统的定义之后,概念其实还是很模糊,操作系统不就是给用户来用的么? 唉,如果你有这个想法,那就说明你对操作系统仅仅只是停留在一个很初级的水平,当然你作为一个普通用户来使用操作系统,确实操作系统就是给用户来用的。

如果你作为一名计算机专业的同学来说,计算机的工作和作用,肯定不仅仅只是提供给用户来使用,它还包含了很多其他的功能,我们一一来说一下。

我们可以从不同的角度出发,来分析一下,操作系统,它应该具备什么样子的功能。

1、操作系统作为最接近硬件的层次,需要在纯硬件的基础上实现什么功能呢?

光有硬件,没有操作系统,我们需要如何来操作硬件呢?那么我们就需要学习对应的机器码,硬件才能够正确是识别指令。 但是有了操作系统之后,我们是不需要关心如何去跟硬件打交道,只需要关心操作系统该如何使用。

换句话来说,操作系统是对应硬件机器的扩展功能,如何使用操作系统,也是刚接触电脑的人员最关心的问题。

2、操作系统作为用户与计算机硬件之间的桥梁,又该需要实现什么功能呢?

操作系统底层架构简述 操作系统分层结构_应用程序_02

操作系统作为用户与硬件之间的桥梁,它提供了一系列的接口来提供给上层进行使用。这些接口又可以划分为两大类:

命令接口

命令接口其实就是我们可以直接在操作系统上输入命令,来与系统进行交互,如下图:

操作系统底层架构简述 操作系统分层结构_微信_03

我在命令行窗口输入了 date 命令,然后操作系统给了我反馈,这种就是命令接口,并且又是联机命令接口
联机命令接口就是用户说一句,操作系统做一句。

除了联机命令接口,还有脱机命令接口,大家应该都有写过 shell 脚本吧? 在 sheel 脚本中我们会写一大堆脚本,然后让操作系统去执行一大堆的命令,这种就叫做脱机命令。

程序接口

还有一种就是程序接口,举个例子,比如不管是在 java 、还是 c 语言当中,我们创建一个新的对象,是需要在内存中划分出一块区域,来存放这个对象数据,那么这个时候就会调用程序接口。

3、最后,操作系统作为系统资源的管理者,它又该提供什么功能?

操作系统底层架构简述 操作系统分层结构_命令接口_04

根据上图来看,操作系统作为系统资源的管理者,它管理了很多个方面,包括处理机、存储、文件、设备等等。
我们举个例子来讲讲,一一对应:

比如在日常办公中,我们需要打开微信视频对话,来开会:

  • 首先我们需要找到微信程序的安装目录,在这里就体现了操作系统的文件管理。
  • 找到微信之后,打开微信,是需要把微信相关的程序数据加载到内存当中,才能够正常运行。这个步骤对应存储器管理,也可以叫做内存管理。
  • 在微信正常的运行当中,是需要被 CPU 进行处理,这个步骤就对应处理机管理
  • 最后打开视频开会,是需要调用摄像头硬件设备分配给微信这个进程,这个步骤就对应了设备管理。

通过上面这个例子我们就能得出,在操作系统上执行一个软件,操作系统是需要管理很多方面的,这些也是属于操作系统的功能。

本章总结

从上面三个角度出发,其实操作系统是提供了很多功能来方便用户使用,本章从大体来看操作系统它所提供了什么样子的功能,可以参考下图:

操作系统底层架构简述 操作系统分层结构_微信_05