0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个迷你版类Unix操作系统

算法与数据结构 来源:OSC开源社区 作者:OSC开源社区 2022-04-01 10:44 次阅读

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 的系统要求在当时来说非常简单,只要三片磁片就可以启动。

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

ed089b28-b15b-11ec-aa7f-dac502259ad0.png

Minix 一开始向使用者收取极低的授权费,直到2004 年,塔能鲍姆重新架构与设计了整个系统,更进一步的将程序模块化,推出 MINIX 3。重新以 BSD 许可协议发布,成为开放源代码软件。 MINIX 3 的目标是比Windows或Linux更安全,在当时塔能鲍姆那份获得欧盟研究委员会(EuropeanResearchCouncil)5 年 250 万欧元资助的研究计划书里,Tanenbaum 解释了为何他认为现有的操作系统不安全:

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

Minix的流行与威胁

说起最流行的操作系统,我们也许会下意识地想到 Linux、Windows、macOS、iOSAndroid 等一些当下主流的操作系统。但事实恐怕不是我们以为的那样,你可能不知道,但在英特尔近些年推出的所有处理器中都运行着一个操作系统。 没错,这个系统正是MINIX,就是因为英特尔,它成了世界上最流行的操作系统,不过这引起了人们的注意和担忧。 之所以引起人们的担忧是因为现代英特尔处理器中都有一个核心部件 ——英特尔管理引擎 (Intel ME-Intel's Management Engine),用来管理协调内部的诸多模块,尤其是传统芯片组整合进入之后,处理器已经差不多成了 SoC 单芯片系统,更需要一个“总管”,MINIX 正是负责这个工作。 而一旦英特尔管理引擎受到危及,有可能给攻击者留下严重的后门。研究人员特别指出,由于其在初始化硬件电源管理和启动主处理器等方面扮演重要角色,无法完全被禁用。这让安全研究人员甚为担忧,因为除了英特尔外,谁都无法审查有无后门(毕竟英特尔使用自己修改过的 MINIX 3 没有开源) MINIX 在处理器内部拥有自己的 CPU 内核和专属固件,完全独立于其他部分,而且完全隐形,操作系统和用户均不可见,运行权限更是达到了 Ring -3。

f02ebb2a-b15b-11ec-aa7f-dac502259ad0.png

要知道,我们日常使用的应用程序权限级别都是 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 本身没有实用性。


审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6293

    浏览量

    121908
  • minix
    +关注

    关注

    0

    文章

    3

    浏览量

    2512

原文标题:一个悄然成为世界最流行的操作系统

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    用树莓派4做个迷你版PS5

    作者在树莓派4上设置了RetroPie,并制作了一个3D打印的定制外壳,灵感来自PlayStation 5的设计。就像是PlayStation 5的迷你版,虽然它无法运行现代游戏,不过,这仍然是一款
    的头像 发表于 04-30 10:19 83次阅读
    用树莓派4做个<b class='flag-5'>迷你版</b>PS5

    服务器操作系统有几种?

    、Linux、Unix等等,而人们常常应用的大部 分全是Windows和Linux系统软件。今日,小编就简单的给大伙儿介绍下这两种常见的网络服务器电脑操作系统
    发表于 03-29 16:59

    深度解析全球操作系统格局

    操作系统是负责协调、管理和控制计算机硬件与软件资源的程序,是整个计算机的核心系统软件。 按照操作系统面向的设备类型,通用操作系统主要包括桌面操作系统
    的头像 发表于 01-18 15:00 292次阅读
    深度解析全球<b class='flag-5'>操作系统</b>格局

    操作系统不同的缓冲区概念

    就来区分一下不同的缓冲区概念(主要针对类unix平台)。 用户进程和操作系统的关系,首先我用一张图来解释“用户进程和操作系统的关系: 这是一个计算机系统运行时的简化模型,我们把所有运行
    的头像 发表于 11-10 10:38 583次阅读
    <b class='flag-5'>操作系统</b>不同的缓冲区概念

    linux属于什么操作系统

    Linux属于一种类UNIX操作系统。Linux,全称GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Uni
    的头像 发表于 11-08 11:01 1779次阅读

    开源操作系统大全

    开源操作系统即公开源代码的操作系统软件,它遵循开源协议使用、编译和发布。自由和开放源代码软件中最著名的是 Linux ,它是一种类 Unix操作
    发表于 10-27 15:13

    32单片机上的uCOSII和FreeRTOS两实时操作系统有什么区别?

    32单片机上的uCOSII和FreeRTOS两实时操作系统有什么区别啊,在上班之后般是用的哪一类实时操作系统比较多啊
    发表于 10-27 08:07

    鸿蒙操作系统的前世今生

    的鸿蒙操作系统就正式诞生了! 02、HarmonyOS 2.0和OpenHarmony 2.0的关系 在介绍HarmonyOS 2.0和OpenHarmony 2.0的关系之前,首先要介绍功不可没
    发表于 10-08 19:55

    Unix和Linux的差异

    摘要:程序员都知道,Linux 不是 Unix,不过二者之间确实存在关系,即 Linux 系统是从 Unix 派生出来的,而 Linux 是一个类 Unix
    发表于 09-04 12:42 312次阅读

    50多年前,大神在操作系统中埋的雷快要爆了

    让人想不到的是Unix一直存活了下来,它的很多概念对整个计算机科学和软件开发领域产生了深远的影响,包括时间和日期的处理方式。类Unix的开源操作系统Linux继承了Unix的衣钵,甚至
    的头像 发表于 08-21 16:31 437次阅读
    50多年前,大神在<b class='flag-5'>操作系统</b>中埋的雷快要爆了

    浅谈Linux操作系统的三大部分

    Linux操作系统是一种基于Unix操作系统,它是由Linus Torvalds在1991年开发的。它是一个自由和开放源代码的操作系统,因此任何人都可以自由地使用、修改和发布它。Li
    发表于 07-23 12:59 1744次阅读
    浅谈Linux<b class='flag-5'>操作系统</b>的三大部分

    Unix操作系统及其文件系统讲解

    有时,进步难以察觉,特别是当你正身处其中时。而对比新旧资料之间的差异,寻找那些推动变革的信息源,我们就可以清晰地看到进步的发生。在Linux(以及大部分Unix系统)中,都可以印证这一点。
    发表于 07-20 11:33 576次阅读
    <b class='flag-5'>Unix</b><b class='flag-5'>操作系统</b>及其文件<b class='flag-5'>系统</b>讲解

    FreeRTOS:一个迷你的实时操作系统内核

    ** 1、FreeRTOS** FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器
    的头像 发表于 06-29 17:15 528次阅读
    FreeRTOS:一个<b class='flag-5'>迷你</b>的实时<b class='flag-5'>操作系统</b>内核

    Unix/Linux 操作系统入门科普

    从本质来看,操作系统其实就是一套软件。 它属于底层软件,可以说是一个大管家,专门负责把所有的硬件和上层软件(中间件、数据库、应用程序等)管理和连通起来,并进行资源调配,完成用户下达的任务。
    的头像 发表于 05-17 18:02 786次阅读
    <b class='flag-5'>Unix</b>/Linux <b class='flag-5'>操作系统</b>入门科普

    聊聊操作系统

    说到操作系统,大家都不会陌生。我们天天都在接触操作系统——用台式机或笔记本电脑,使用的是windows和macOS系统;用手机、平板电脑,则是android(安卓)和iOS系统
    的头像 发表于 05-12 11:13 1037次阅读
    聊聊<b class='flag-5'>操作系统</b>