世界上最流行的操作系统不是Windows?

世界上最流行的操作系统不是Windows?

前言

打住,我知道列位是被标题骗进来的,但是这个论题并不是我瞎吹牛,世界上最流行的操作系统还真不是Windows。

提及操作系统,我们印象中比较深刻的无非就是Windows,Linux,macOS,IOS或是Android等,但是今天我要介绍的这款操作系统可能会打破你的传统印象,他就是——Minix。

先别懵逼和急着嘲讽,请听我细细说来。

Minix介绍

这一款曾经影响了无数开发者的操作系统:Minix诞生于1987年,应该比我们在座的大部分读者年龄还要大,Minix全称Mini Unix,是一款迷你版类 Unix 操作系统 (约 300MB)。

Minix 原来是荷兰阿姆斯特丹 Vrije 大学计算机科学系的安德鲁・塔能鲍姆(Andrew S. Tanenbaum )教授所开发的一个类 UNIX 操作系统,开发初衷是方便教学使用(因为 AT&T 推出 Version 7 Unix 之后,将 Unix 源码进行了私有化)。

Minix 全部的源代码共约 12,000 行,并置于他的著作 Operating Systems: Design and Implementation(ISBN 0-13-637331-3) 的附录里作为范例。Minix 的系统要求在当时来说非常简单,只要三片磁片就可以启动。

这里我们简单介绍一下这位dalao:

安德鲁・塔能鲍姆(Andrew S. Tanenbaum ,1944 年 3 月 16 日 ——)计算机科学家,阿姆斯特丹自由大学教授,专精操作系统,类 Unix 教学操作系统 Minix 作者,出版多部计算机科学教科书,如《现代操作系统》《计算机组成》等。

世界上最流行的操作系统不是Windows?
Minix 一开始向使用者收取极低的授权费,直到 2004 年,塔能鲍姆重新架构与设计了整个系统,更进一步的将程序模块化,推出 MINIX 3。重新以 BSD 许可协议发布,成为开放源代码软件。

源码地址

MINIX 3 的目标是比 Windows 或 Linux 更安全,在当时塔能鲍姆那份获得欧盟研究委员会(EuropeanResearchCouncil)5 年 250 万欧元资助的研究计划书里,Tanenbaum 解释了为何他认为现有的操作系统不安全:

最严重的可靠性及安全问题是与操作系统相关的那些。核心问题在于现有操作系统都不符合 POLA —— 最低授权原则 (PrincipleOfLeastAuthority)。
POLA 说的是系统划分组件的方式,应当使必然存在于某个组件中的缺陷,不至于波及其他组件。每个组件仅应该得到完成它本身工作所需的权限,不多不少。
具体来说,它应该无权读写属于其他组件的数据,无权读取它自身地址空间之外的任何计算机内存,无 权执行与它无关的敏感操作指令,无权访问不该访问的 I/O 设备,诸如此类。
现有操作系统完全违反以上原则,结果就是造成众多可靠性及安全问题。

Minix流行反而带来了威胁!

说起最流行的操作系统,我们也许会下意识地想到 Linux、Windows、macOS、iOS 和 Android 等一些当下主流的操作系统。但事实恐怕不是我们以为的那样,你可能不知道,但在英特尔近些年推出的所有处理器中都运行着一个操作系统。

没错,这个系统正是 MINIX,就是因为英特尔,让它成了世界上最流行的操作系统,不过这也引起了人们的注意和担忧。

世界上最流行的操作系统不是Windows?

之所以引起人们的担忧,是因为现代英特尔处理器中都有一个核心部件 —— 英特尔管理引擎 (Intel ME-Intel’s Management Engine),用来管理协调内部的诸多模块,尤其是传统芯片组整合进入之后,处理器已经差不多成了 SoC 单芯片系统,更需要一个 “总管”,MINIX 正是负责这个工作。而一旦英特尔管理引擎受到危及,有可能给攻击者留下严重的后门。

研究人员特别指出,由于其在初始化硬件、电源管理和启动主处理器等方面扮演重要角色,无法完全被禁用。这让安全研究人员甚为担忧,因为除了英特尔外,谁都无法审查有无后门(毕竟英特尔使用自己修改过的 MINIX 3 没有开源)。

MINIX 在处理器内部拥有自己的 CPU 内核和专属固件,完全独立于其他部分,而且完全隐形,操作系统和用户均不可见,运行权限更是达到了 Ring -3。

世界上最流行的操作系统不是Windows?

要知道,我们日常使用的应用程序权限级别都是 Ring 3,操作系统内核的是 Ring 0,这也是一般用户能够接触到的最低权限,MINIX 竟然深入到了 Ring -3。

事实上,即便是在休眠乃至关机状态下,MINIX 都在不间断运行,因为英特尔管理引擎要在处理器启动的同时就开始执行管理工作,还要负责芯片级的安全功能。

这就使得 MINIX 拥有至高无上的地位,而且只要你的电脑使用的是英特尔近些年推出的处理器,都有一个它在默默运行,这使得它成为名副其实的世界上最流行的系统。

作者回应

由于关于Minix风险太大,多家媒体争相报道,以至于惊动了 Andrew 本人。他在个人网站上发表了公开信,强调自己并没有直接参与这个项目,如果这个系统有后门的话,这与他无关(他对此并没有明说只是暗示)。

Andrew Tanenbaum 称,MINIX 3 在 2000 年决定采用 BSD 授权,原因是企业不喜欢 GPL 许可证,认为 GPL 会让他们花费许多时间精力金钱去修改代码,然后免费提供给竞争对手。他说,英特尔的工程团队在几年前接触了他,询问了 MINIX 3 大量的技术问题,要求他对 MINIX 3 进行大量改变,减少内存占用,选择性的关闭不需要的功能。

在短暂的活跃之后双方进入了静默,直到现在媒体报道英特尔处理器都运行了 MINIX 3 他才知道。他对此感到吃惊,但并不在意,因为该操作系统是 BSD 授权,英特尔不需要付钱给他。他只是希望英特尔在部署了 MINIX 3 之后能通知他一下,这只是礼貌问题。

总结:免责声明,雨我无瓜。

Minix是Linux干爹?

Linux 是 Linus Torvalds 受到 Minix 的影响而作成的(Linus 不喜欢他的 386 计算机上的 MS-DOS 操作系统,而安装了 Minix,并以它为样本开发了原始的 Linux 核心)。

但是这种影响更多在于非技术层面,确切地说是一种精神上的 “鼓舞”。在设计上,Linux 则和 Minix 相差很大,在 Linux 系统还没有自己的原生文件系统之前,曾采用 Minix 的文件系统。

Minix 在核心设计上采用微核心,即将操作系统分成微核心和其上的提供文件系统、存储器管理、驱动程序等服务的服务程序;而 Linux 则和原始的 Unix 都采用宏内核。

在 Linux 发展之初,双方还于 1992 年在新闻组上有过一场精彩的争论,被称为塔能鲍姆 – 林纳斯辩论。Minix 的作者和支持者认为使用宏内核是技术上的退步,而 Linux 的支持者认为 Minix 本身没有实用性。

尾言

现在,各位看完是否认可我标题的观点么,毕竟不是每位电脑爱好者都会喊:AMD,YES!

基于Intel市场占额的高比例,说一句Minix是最流行的操作系统真不过分ㄟ( ▔, ▔ )ㄏ

好了,本文至此结束了,感谢各位看官,喜欢的朋友可以点个关注,一键三连哦,我们明天不见不散。

Original: https://www.cnblogs.com/BlueSocks/p/16106308.html
Author: BlueSocks
Title: 世界上最流行的操作系统不是Windows?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607353/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Swagger2 Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException报错

    报错信息: Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.la…

    Linux 2023年6月14日
    068
  • Netty源码解读(二)-服务端源码讲解

    简单Echo案例 代码是netty的源码,我添加了自己理解的中文注释。 了解了Netty的线程模型和组件之后,我们先看看如何写一个简单的Echo案例,后续的源码讲解都基于此案例。以…

    Linux 2023年6月7日
    0103
  • 在Ubuntu机器上使用war包安装Jenkins

    因为一些需求需要迁移之前使用的Jenkins,原来是按照官方文档使用apt方式安装的,这次搬迁后的机器由于默认不通外网(可以通过代理走外网),因此趁此机会,尝试改用war包方式安装…

    Linux 2023年6月6日
    0103
  • Java基础系列–07_Object类的学习及源码分析

    Java中Object根类及其底层的学习 Object: 超类(1)Object是类层次结构的顶层类,是所有类的 根类,超类。所有的类都直接或者间接的继承自Object类。所有对象…

    Linux 2023年6月7日
    080
  • rm命令弱爆了!

    大家好,我是良许。 创建、删除和修改文件是用户在 Linux 系统中执行的非常常见操作。大家都知道,在 Linux 系统里使用 rm 命令删除单个文件时,几乎一瞬间就完成了。但是如…

    Linux 2023年6月14日
    091
  • 这里聊聊扫地机的 IOT 开发

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」 https://mp.weixin.qq.com/s/Xszi1YFxVqpJ7OcOt-lrqw 消费…

    Linux 2023年6月6日
    0102
  • 实现批量自动部署Linux操作系统

    实战描述: xxx公司所服务的用户IT环境中有很多的Linux系统,品种也五花八门,有RHEL、Centos、OpenSUSE甚至还有测试环境使用的RockyLinux。当有大量的…

    Linux 2023年6月7日
    091
  • 在海思芯片上使用GDB远程调试

    使用海思平台上(编译工具链:arm-himix200-linux)交叉编译 GDB 工具(使用版本8.2,之前用过10.2的版本,在编译 gdbserver 遇到编译出错的问题,因…

    Linux 2023年6月7日
    0133
  • ASP.NET Core 2.2 : 二十二. 多样性的配置方式

    大多数应用都离不开配置,本章将介绍ASP.NET Core中常见的几种配置方式及系统内部实现的机制。(ASP.NET Core 系列目录) 说到配置,第一印象可能就是”…

    Linux 2023年6月7日
    0100
  • Jstack排查线上CPU100%

    Jstack排查线上CPU100% 介绍 jstack是JVM自带的Java堆栈跟踪工具,用于生成java虚拟机当前时刻的线程快照,来帮助定位线程出现长时间停顿的原因,例如死锁、死…

    Linux 2023年6月6日
    094
  • 数据库_存储过程简介(oracle版)

    应朋友要求,写个存储过程说明,本篇比较简单,适合新接触存储过程的同学 先来个简单的 begin dbms_output.put_line(‘my first execute’); …

    Linux 2023年6月6日
    084
  • centos7安装redis设置开机启动

    首先下载redis源码,并使用tar进行解压缩 wget http://download.redis.io/releases/redis-4.0.8.tar.gztar xvzf …

    Linux 2023年5月28日
    088
  • Power Outage

    由于Covid-19的原因一直是work from home, 在几天前家里的电表有问题需要人来维修,在这期间会停电大概半小时操作,虽然是wfh,但是还是要保障工作的正常进行,保守…

    Linux 2023年6月7日
    0104
  • USB转多串口产品设计

    在部分应用场合下需要为计算机或其他主机扩展多个串口,常见的扩展方式有USB转多串、PCI/PCIe转多串、蓝牙和以太网等网络转多串口。现在大多数台式计算机和笔记本电脑出于轻型化需要…

    Linux 2023年6月7日
    081
  • MySQL 知识点总结(简易版)

    MySQL 总结(简易版) 基本语法 0. 1基本语法 登录MySQL $ mysql -u root -p12345612 &…

    Linux 2023年6月7日
    096
  • shell批量创建数据表的一个方法

    #!/bin/bash #批量新建数据表 #删除`符号,具体原因我也没搞懂 for i in {1..30};do mysql 地址 -u账号 -p密码 -e "use …

    Linux 2023年5月28日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球