一个悄然成为世界最流行的操作系统
点击关注公众号,回复“2T”获取2TB学习资源!
互联网架构师后台回复 2T 有特别礼包
上一篇:Docker 大势已去,Podman 即将崛起!
整理 | 叶子
出品 | OSC开源社区(ID:oschina2013)
1987的今天,Minix 诞生了。
Minix 介绍
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 的系统要求在当时来说非常简单,只要三片磁片就可以启动。
安德鲁·塔能鲍姆(Andrew S. Tanenbaum ,1944 年 3 月 16 日——)计算机科学家,阿姆斯特丹自由大学教授,专精操作系统,类 Unix 教学操作系统 Minix 作者,出版多部计算机科学教科书,如《现代操作系统》《计算机组成》等。
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,就是因为英特尔,它成了世界上最流行的操作系统,不过这引起了人们的注意和担忧。
之所以引起人们的担忧是因为现代英特尔处理器中都有一个核心部件 —— 英特尔管理引擎 (Intel ME-Intel's Management Engine),用来管理协调内部的诸多模块,尤其是传统芯片组整合进入之后,处理器已经差不多成了 SoC 单芯片系统,更需要一个“总管”,MINIX 正是负责这个工作。
而一旦英特尔管理引擎受到危及,有可能给攻击者留下严重的后门。研究人员特别指出,由于其在初始化硬件、电源管理和启动主处理器等方面扮演重要角色,无法完全被禁用。另外,搜索公众号互联网架构师后台回复“面试”,获取一份惊喜礼包。这让安全研究人员甚为担忧,因为除了英特尔外,谁都无法审查有无后门(毕竟英特尔使用自己修改过的 MINIX 3 没有开源)
MINIX 在处理器内部拥有自己的 CPU 内核和专属固件,完全独立于其他部分,而且完全隐形,操作系统和用户均不可见,运行权限更是达到了 Ring -3。
要知道,我们日常使用的应用程序权限级别都是 Ring 3,操作系统内核的是 Ring 0,这也是一般用户能够接触到的最低权限,MINIX 竟然深入到了 Ring -3。
事实上,即便是在休眠乃至关机状态下,MINIX 都在不间断运行,因为英特尔管理引擎要在处理器启动的同时就开始执行管理工作,还要负责芯片级的安全功能。
这就使得 MINIX 拥有至高无上的地位,而且只要你的电脑使用的是英特尔近些年推出的处理器,都有一个它在默默运行,这使得它成为名副其实的世界上最流行的系统。
Minix 和 Linux
Linux 是 Linus Torvalds 受到 Minix 的影响而作成的(Linus 不喜欢他的 386 计算机上的 MS-DOS 操作系统,而安装了 Minix,并以它为样本开发了原始的 Linux 核心)。但是这种影响更多在于非技术层面,确切地说是一种精神上的“鼓舞”。在设计上,Linux 则和 Minix 相差很大,在 Linux 系统还没有自己的原生文件系统之前,曾采用 Minix 的文件系统。Minix 在核心设计上采用微核心,即将操作系统分成微核心和其上的提供文件系统、存储器管理、驱动程序等服务的服务程序;而 Linux 则和原始的 Unix 都采用宏内核。在 Linux 发展之初,双方还于 1992 年在新闻组上有过一场精彩的争论,被称为塔能鲍姆-林纳斯辩论。Minix 的作者和支持者认为使用宏内核是技术上的退步,而 Linux 的支持者认为 Minix 本身没有实用性。
参考链接:
https://www.oschina.net/news/1766
https://www.oschina.net/news/90374/minix-the-most-popular-os-in-the-world?p=7
http://www.360doc.com/content/19/0129/00/277688_811876443.shtml
-End-
最后,关注公众号互联网架构师,在后台回复:2T,可以获取我整理的 Java 系列面试题和答案,非常齐全。
正文结束
推荐阅读 ↓↓↓
1.心态崩了!税前2万4,到手1万4,年终奖扣税方式1月1日起施行~
2.深圳一普通中学老师工资单曝光,秒杀程序员,网友:敢问是哪个学校毕业的?
3.从零开始搭建创业公司后台技术栈
4.程序员一般可以从什么平台接私活?
5.清华大学:2021 元宇宙研究报告!
6.为什么国内 996 干不过国外的 955呢?
7.这封“领导痛批95后下属”的邮件,句句扎心!
8.15张图看懂瞎忙和高效的区别!
一个悄然成为世界最流行的操作系统相关推荐
- 一个悄然成为世界最流行的操作系统诞生!
来自 | OSC开源社区(ID:oschina2013) Minix 介绍 Minix 是Mini Unix 的缩写,一个迷你版类 Unix 操作系统(约 300MB). Minix 原来是荷兰阿姆斯 ...
- 一个悄然成为世界最流行的操作系统!
点击关注公众号,回复"1024"获取2TB学习资源! 1987 年 3 月 4 日,Minix 诞生了. Minix 介绍 Minix 是Mini Unix 的缩写,一个迷你版类 ...
- android开发用什么操作系统,Android是目前世界上最流行的操作系统
原标题:Android是目前世界上最流行的操作系统 Android是目前世界上最流行的操作系统,而且基于该系统的设备在全球范围内处于统治级地位.不过,对于很多安卓手机用户来说,Root这个词对他们十分 ...
- 为什么中国开发不出流行的操作系统和编程语言?
" 知乎有两个帖子很有意思,中国能不能写出操作系统?中国为什么没有自己的编程语言? 看了很多回答,有的答案写的很认真,按照编程语言出现的时间顺序等梳理:有的也非常认真,但是逻辑是错的:还有一 ...
- photoshop是用什么编程语言开发的_为什么中国开发不出流行的操作系统和编程语言?...
作者:Stitch 出处:www.cnblogs.com/StitchSun/p/12889614.html 知乎有两个帖子很有意思,中国能不能写出操作系统?中国为什么没有自己的编程语言? 看了很多回 ...
- 为什么中国开发不出流行的操作系统和编程语言呢?
中国为什么不能开发出自己的编程语言和流行的操作系统呢?是中国的IT产业就这么落后吗? 看了很多回答,有的答案写的很认真,按照编程语言出现的时间顺序等梳理:有的也非常认真,但是逻辑是错的:还有一种是搞笑 ...
- 深圳云计算培训:一个全新的世界—Linux
深圳云计算培训:一个全新的世界-Linux 一个全新的世界 – Linux 1990 年代中期,因特网因出现 World Wide Web, HTML 这种新型态的应用, 而开始迅速的延烧全世界.一夕 ...
- 鸿蒙能成为世界第三的操作系统吗?
6 月 2 日,鸿蒙又一场发布会如约而至. 从诞生之初的「PPT 系统」.「按揭开源」,到源码公布后的「套皮安卓」.「抄袭可耻」,再到如今的立场屁股之争,鸿蒙用两年不到的时间搅动了天下风云. Go 语 ...
- java关闭一个窗口打开另一个_推开中式门窗,就像打开了另一个写意的世界…...
导语 "湖光秋枕上,岳翠夏窗中."在传承几千年的中式建筑文化中,自古以来就有多门窗.少实墙的传统,虚虚实实之间讲究内外空间融合,借景框景之时彰显人与自然和谐,门窗甚至直接决定着整体 ...
- 反客为主 ,Linux 成为微软 Azure 上最流行的操作系统
开发四年只会写业务代码,分布式高并发都不会还做程序员? 三年前,微软云计算 Azure 平台 CTO Mark Russinovich 说有四分之一 的 Azure 实例正在使用Linux .到了 ...
最新文章
- tf.get_variable
- 前端也要学系列:设计模式之装饰者模式
- UI产品设计流程中的14个要点
- 输出nginx执行过程中函数调用关系
- 数据结构-joseph环
- 怎么测试服务器端口是否对外开放_从零开始内建你的安全测试流程
- Angular 父子Component的数据绑定实现
- linux++命令+q,linux 命令 - osc_panqs2jh的个人空间 - OSCHINA - 中文开源技术交流社区...
- Java类类getGenericSuperclass()方法及示例
- linux内核那些事之delay延迟技术
- 安装虚拟环境virtualenv与virtualenvwrapper在centos7系统上
- python中for语句的使用_python中for in的用法
- 哔哩哔哩公司swot分析_是时候颠覆你的SWOT营销分析法了!TOWS分析法可能更适合你...
- 100m光纤测速多少正常_光纤收发器常见故障问题排查方法总结大全
- 查看你所使用计算机的网卡信息,查看网卡信息命令
- 删数问题(Noip1994)
- 智哪儿观察:苹果的智能家居为什么没做起来?
- CRON 定时任务 在线解析
- Win7 x64无法安装VS2010 SP1包解决方法
- 获取局域网电脑序列号