操作系统究竟是什么?在计算机体系中扮演什么角色?

简介: 操作系统究竟是什么?在计算机体系中扮演什么角色?

一、操作系统概念

下面是来自百度百科对操作系统的概念:

 操作系统(英语:Operating System,缩写:OS)是一种内置的程序,用来协作计算机的各种硬件,以与用户进行交互。常见有Windows,macOS 和开源的 Linux。

 根据运行的环境,操作系统可以分为桌面操作系统,手机操作系统,服务器操作系统,嵌入式操作系统等。

 操作系统是人与计算机之间的接口,也是计算机的灵魂。

 emmm… 非常抽象

 通俗来讲,操作系统是一款进行软硬件资源管理的软件。操作系统通过将软硬件资源管理好(手段),从而给用户提供一个良好(稳定、高效、安全)易用的使用环境(目的)。

 emmm…那操作系统是如何管理软硬件资源?如何给操作用户提供一个良好易用的使 用环境?

 下面是计算机软硬件架构图,下面博主基于此图分析上述两个问题,以及图中每个部分的意义!

二、操作系统如何管理软硬件资源

 在整个计算机软硬件架构中,操作系统被定义为一款纯正的搞“管理”的软件!

2.1 何为管理者

 生活中,所有的事情宏观上大致可分为两大类:做决策、做执行。而对于管理者来说,基本以做决策为主。但管理者如何做决策,作出正确决策?

 现在假设校长要管理学生,比如让张三退学。但校长没有和张三见过面,凭什么让张三退学?原来校长通过辅导员拿到了全校所有学生的各科成绩信息。校长拿到了完善的数据,发现张三挂科严重,才作出让张三退学的决定。所以管理的本质不是管人,而是管理数据!

 但现在学生人数过多,校长管理学生需要得到更多相关信息(诸如:姓名、入学年份、紧急联系人等等)。其中一种解决办法就是将所有学生的相关信息写入一张excel表格中,从而实现结构化管理。但如果人数过多,这样管理起来还是很麻烦,那怎么办?

 我们可以通过编程中面向对象的知识,通过一个结构体将所有的信息封装起来,比如:

struct Student
{
  char name[4];//学生名字
  int age;
  string numbers;//电话号码
  // .....
}

我们可以将所有学生的信息都转化为一个结构体对象,然后通过链表的形式链接起来。

这就是对学生管理的一个建模过程,最终将管理学生转化成对链表的增删查改!!

 管理可总结为“先描述,在组织”。即被管理的对象以什么样的结构体形式来描述,然后将结构体设定具体对象,通过特定的数据结构组织起来。

2.2 操作系统如何管理硬件

 我们已经知道管理的本质是管理数据,所以操作系统要管理底层硬件,首先得到相应硬件的数据信息(比如磁盘已使用空间、数据存放区域、是否正常等的)。但操作系统和硬件没有直接接触,所以中间存在驱动程序。驱动程序将硬件的相关信息传递给操作系统。同时由于各种信息庞杂,为例更好管理,操作系统需要将相关信息通过结构体方式(操作系统主要是C写的)进行描述,在通过特定的数据结构组织起来。从而将对硬件的管理转化成这些数据结构的管理。

 当操作系统作出某种决策时,操作系统将信息传递给驱动程序,通过驱动程序来完成操作系统对硬件的控制。

三、系统调用接口作用

 在所有的计算机体系中,都不允许用户直接对操作系统进行操作。原因在于操作系统不相信用户。就像银行系统一样,银行为什么要柜台和玻璃,为什么不让用户自己取钱后自己修改以下数据。原因在于银行不相信我们,但又必须要为我们提供相关服务,所以安装了玻璃,并在玻璃上开了一个洞。同样用户中存在坏人,所以操作系统不允许用户直接操作控制它。但操作系统要为我们提供相应的服务(比如向磁盘中写数据),所以提供了system call(系统调用接口)。所以的用户请求只能通过系统调用借口传给操作系统!!

四、用户操作接口

 系统调用使用起来比较麻烦,所以对于站在系统上的人提供了一些外壳程序(Linux中为shell外壳,windows为图形化界面),而这写外壳程序大多是由C/C++写的,其中必然存在系统调用借口。

 系统调用在使用上,功能比较基础,对用户的要求相对也比较高。所以,大佬们对部分系统调用进行适度封装,从而形成库。有了库,就很有利于更上层用户或者开发者进行二次开发。

五·、广义操作系统和狭义操作系统


相关文章
|
1月前
|
存储 安全 Unix
计算机的操作系统
计算机的操作系统
12 2
|
1月前
|
存储 Ubuntu Unix
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
41 0
|
2月前
|
存储 安全 自动驾驶
计算机软考之操作系统
计算机软考之操作系统
51 0
|
3月前
|
Linux 数据安全/隐私保护 虚拟化
操作系统:计算机的大脑
操作系统:计算机的大脑
64 0
|
3月前
|
存储 算法 调度
《计算机操作系统》重点知识笔记整理(二)
《计算机操作系统》重点知识笔记整理(二)
40 0
|
3月前
|
存储 资源调度 算法
《计算机操作系统》重点知识笔记整理(一)
《计算机操作系统》重点知识笔记整理(一)
52 0
|
4月前
|
调度
计算机操作系统-第十六天
计算机操作系统-第十六天
|
4月前
计算机操作系统-第十五天
计算机操作系统-第十五天
|
4月前
计算机操作系统-第十四天
计算机操作系统-第十四天
|
4月前
|
存储 Linux
计算机操作系统-第十三天
计算机操作系统-第十三天