linux是什么操作系统_操作系统科普

linux是什么操作系统_操作系统科普_第1张图片

关于鸿蒙

鸿蒙发布了2.0,全网又沸腾了。现在网络就这样,出点啥都沸腾。苹果出了M1沸腾,华为出了鸿蒙沸腾,SpaceX火箭炸了沸腾,嫦娥登月了沸腾。

至于鸿蒙到底是不是Android套娃,我不下评论。在这里只是给大家科普一下什么是操作系统,希望中国企业能踏踏实实地做点实事正事。

我是一名工作了十年的程序员,出于爱好两年前开始用业余时间学习和研究操作系统。不敢说多专业,但是给大家说明白操作系统是个什么东西的自信还是有的。毕竟看头条的没接触过电脑也接触过手机。

说点题外话,我打算用5-10时间开发一个开源系统,如果有感兴趣的朋友,可以一起研究(目前正在学习BIOS)。除了操作系统外,我还对计算机图形很感兴趣,也希望跟大家一起学习。

操作系统是什么

操作系统是什么,没有标准答案。我想这也是为什么是个东西都敢叫自己是操作系统的原因。不过从以往的操作系统,如Windows、Linux、MAC、IOS、Android来看,从功能上说操作系统必须包含四大功能:

  • 第三方可以为其编写程序
  • 可以管理运行在其上的程序
  • 可以管理它自己所在机器的硬件资源
  • 为它自己和运行在其上的程序提供人机接口

从结构上说操作系统通常包含三大部分:

  • 内核
  • API
  • 人机接口

下面细细为大家分解

第三方可以为其编写程序

这个我想不用过多解释。说到鸿蒙兼容Android各种自媒体都在强调是为了生态,所谓生态那就是第三方应用的多少。

这里以Linux为例,Linux本身只是一个内核名称,它多数的第三方软件都是由“GNU计划”提供的,本来“GNU”也想自己开发内核,但是一直没成型,后来Linux内核诞生并且快速流行,所以GNU的应用就直接在Linux上运用了。

可以管理运行在其上的程序

无论是手机还是电脑,目前CPU有多少核心,每个核心可以运行的程序数量是有限的(通常一个核心只能运行一个程序,采用超线程技术的话一个核心可以运行两个)。但电脑上的程序数量却是没有上限的。因此让哪个程序先运行,让哪程序后运行就需要由操作系统来管理。另外如果程序A运行一半,就要运行程序B的话,操作系统还得负责保存A的运行状态以便在运行完B后A可以继续运行。

可以管理它自己所在机器的硬件资源

这个也很好理解,一台机器上有很多硬件,这些硬件如何被程序使用需要由操作系统管理。以键盘为例,一台PC通常只有一个键盘,敲击键盘产生的信息应该给QQ、头条号还是Office都需要由操作系统来管理。

为它自己和运行在其上的程序提供人机接口

所谓的人机接口,就是人跟机器打交道的方式。比如Windows就是图形方式(窗口),Linux是字符方式(Shell)。这些人机接口不但要给操作系统自己用,第三方程序同样利用这些接口跟用户打交道。比如在Windows下的程序如果需要跟用户打交道通常都要有个窗口。

内核

上面说了操作系统的四大功能,前三个功能(第三方可以为其编写程序、可以管理运行在其上的程序 和 可以管理它自己所在机器的硬件资源)都是由内核提供的。可以说有没有一个完全自主的内核是判断是否是一款独立操作系统的唯一标准。这也是有人质疑鸿蒙视频中手机内核显示的是Android的原因。通常来说不同的内核之间是不兼容的(如Windows的程序不能运行在Linux上,Android程序不能运行在IOS上),除非用虚拟机或者转换器。

API(Application Programming Interface)

API是操作系统为了方便第三方应用开发提供的编程接口。其实操作系统不提供API也是可以编程的,只不过会比较费劲。

人机接口

人机接口和API一样,只不过API是给程序提供的接口,人机接口是给人提供的接口。Windows、Android、IOS上通常是窗口形式。Linux是字符模式(shell)。

操作系统的历史

关于操作系统的历史我不是特别清楚,但是有人总拿一张图说事儿,说是UNIX分出了Linux和IOS,然后Linux又分出了Android和鸿蒙。

linux是什么操作系统_操作系统科普_第2张图片
linux是什么操作系统_操作系统科普_第3张图片

Android和鸿蒙到底是不是Linux我不知道,但我知道Linux根本不是UNIX分出来,它跟UNIX没什么继承关系,两者完全是独立的。UNIX是一款比较早的操作系统,它被高校和大公司垄断。为了打破这个局面也才有了GNU计划。Linux是一款独立的内核。Linux跟GNU计划也没关系,只不过GNU计划的很多成果现在都运行在Linux上而已。

所以拿那张图说事儿的人可以歇一歇了。

到底是不是民族之光

判断鸿蒙是不是国产操作系统,只要看看它是不是自己独立的内核就知道了。从表面上判断可以看看鸿蒙是兼容Android程序还是只能运行Android程序(不过你要耍流氓说“Java在哪都能运行”,我也没办法)。

至于很多自媒体吹嘘的“”万物互联”肯本不是操作系统内核要关心的问题,某华为对手没有鸿蒙一样能万物互联。

至于“微内核”,我到目前没研究过它是什么东西,依据什么设计思想,就不妄加评判了。

再次重申

发文的目的只是给大家科普一下,让大家有一个自己的判断标准。也希望通过我的行动,能让大家冷静下来踏踏实实做点事情。

#操作系统# #华为# #华为鸿蒙OS发布手机开发者Beta版本#

你可能感兴趣的:(linux是什么操作系统)