一文了解 操作系统发展史

编程知识 更新时间:2023-04-23 23:52:11

最近在写一个Android、IOS、Fuchsia、HarmonyOS对比的报告,需要了解一下各操作系统的起源联系以及内核的对比,因此有了这个文章总结(算是学习笔记吧)。

一、各历史阶段的操作系统

我们都知道,操作系统自20世纪50年代诞生。操作系统诞生后经历了从专用操作系统(每个主机与应用场景均需要一个新的操作系统)到通用操作系统(一个操作系统覆盖很多设备与应用场景,如Windows、Linux等)的转变。

  • PC时代
    由于Windows操作系统的广泛应用部署,微软于20世纪90年代成为全球市值最高的公司;
    苹果研制的macOS也支撑苹果一度成为全球最赚钱的科技公司。
  • 数据中心时代
    在IBM、Intel等企业的支持下,Linux操作系统又逐步在服务器等场景占据主体地位。
  • 移动互联网时代
    苹果基于NEXTSTEP操作系统构筑的IOS支撑苹果成为全球市值最高的科技公司;
    谷歌2005年收购了Andy Rubin 在2003年创立的Android公司,并通过持续不断的研发投入与快速迭代,如今已将Android操作系统打造成世界上发行量最大的移动智能操作系统。
    Statcounter数据截至2021年4月,全球移动操作系统中,谷歌Android占比72.2%,苹果IOS占比26.99%其余平台占比之和低于1%
  • 物联网快速发展的时代
    当前越来越多的智能设备接入互联网,智能终端逐渐呈现多样化发展趋势,加之第五代移动通信技术网络的建成商用,更是提供了大连接、低延时、高吞吐的基础网络能力,万物互联的物联网时代到来趋势已势不可挡。
    随着物联网时代的到来,覆盖全场景的单一操作系统已经很难适配多样化终端设备不同硬件能力、不同应用场景、不同运算能力的需求。目前,谷歌、华为等各大企业纷纷在物联网操作系统方面重兵投入:
    谷歌从2016年开始投入基于微内核的Fuchsia操作系统,应用场景上希望适用于个人移动设备、IoT(Internet of Things 物联网)设备甚至无人驾驶汽车等不同运算能力和需求的场景。
    华为于2019发布了基于物联网的鸿蒙操作系统HarmonyOS,透露HarmonyOS采用微内核架构,天生具备模块化解耦优势,可针对不同硬件能力的物联网设备进行模块剪裁,从而实现弹性部署,并已于2020年面向128KB-128MB内存的物联网终端设备开源。

Statcounter2021年4月数据,全球桌面操作系统与移动操作系统市场占比中,Android以40.66%超过Windows,成为第一大操作系统。

二、操作系统的发展史

  • 1946年2月14日世界上公认的第一台通用计算机ENIAC在美国宾夕法尼亚大学诞生。
    在这时候,如何管理计算机上的程序也逐步成为一个非常重要的问题。早期的计算机采用纸带的方式记录要计算的任务,并通过打孔的纸带或磁盘记录输出的结果。这样就需要一个专门的操作员值守在计算机旁边,并且操作的效率也不高。因此,人民开始关注如何能使这一过程自动化。
  • 1956年,世界上第一个公认的批处理操作系统 GM-NAA I/O(通用汽车公司和北美航空输入/输出系统)诞生。
    GM-NAA I/O由Robert L.Patrick和Owen Mock在IBM 704上实现。GM-NAA I/O实现的主要是对输入和输出的自动化管理:操作员只要将相关的任务交给GM-NAA I/O,计算机就会一直工作直到所有任务执行结束。
  • 1964年,美国IBM公司发布了通用操作系统IBM System/360
    通过定义指令集,将计算机的架构与实现分开,从而在一套架构上可以实现多代计算机,并且允许使用者通过自定义的架构去扩展外设;由于指令集与具体实现的分离,IBM System/360的成功也标志着操作系统从面向每种计算机进行定制开发转变为与计算机底层硬件实现解耦。自此,操作系统开始进入通用操作系统时代。
  • 1964年,通用电气和麻省理工学院联合发起了Multics项目,目标是设计与实现一套多用户、多任务、多层次的操作系统。
    贝尔实验室于1964年加入了Multics这个项目中,但后来由于Multics项目的复杂性导致项目的的工作进度缓慢,1969年贝尔实验室退出了Multics项目。Multics项目也因进度缓慢,资金短缺,宣告失败。
  • 1969年,曾参与Multics项目的贝尔实验室员工Ken Tompson和Dennis Ritchie基于汇编语言开发出了UNIX操作系统,并在1973年采用C语言重写了UNIX。
    由于UNIX系统版权复杂且收费,错过了发展的黄金时机,导致了其在后续的操作系统竞争中并未占据主导地位。
  • 1987年,荷兰自由大学Andrew S.Tanenbaum教授开源了用于教学的Minx操作系统(采用微内核架构)。
    由于UNIX版权的限制(AT&T在Version 7 Unix 推出之后,将 UNIX 源代码私有化,禁止在教学中使用 UNIX 源代码),为了方便教学Andrew S.Tanenbaum教授参考UNIX的设计,开发了名为Minx(即小型的UNIX)的操作系统,并将全部源代码开放给大学教学和研究工作。但由于Minx发布之初对商业化很不友好(禁止商业使用),因此并未被广泛使用。
  • 1991年,芬兰程序员Linus Torvalds发布了Linux操作系统
    Linux在设计上参考了Minx操作系统,如今已成为目前世界上最成功的、使用最广泛的开源操作系统之一。
  • 2001年,苹果公司发布了Mac OS X 操作系统
    Mac OS X 的核心操作系统为 Darwin,是一种类Unix的操作系统。Darwin在实现上,以FreeBSD源代码Mach微内核为基础,采用混合内核架构,由苹果公司和独立研发;
    Mach是第一代微内核的代表,1975年Mach起源于罗彻斯特大学,后来主要在卡内基梅隆大学开发,由Avie TevanianRichard Rashid主导。Mach刚刚开始设计时,UNIX的发展正如日中天,所以Mach在设计时的一大目标就是兼容UNIX,但是与UNIX不同的是Mach尝试使用微内核架构设计,Mach以IPC作为所有系统服务与内核交换数据的基础,充分运用IPC、虚拟内存、多进程等特性将冗余的系统服务移出内核作为进程运行。

三、Minix

有兴趣的朋友可以研究一下Minix。
Minix采用微内核架构,第一个版本于1987年发布,是荷兰计算机科学家Andrew S. Tanenbaum为了教学而创作,如今为Andrew S. Tanenbaum教授所著《操作系统:设计与实现》的示例代码。
Minix启发了Linux内核的创作。1990年,还在上大学的Linus TorvaldsMinix得到灵感,出于对操作系统的兴趣,于1991年发布了Linux。

Minix目前有三个主要的版本:

  • Minix1
    https://github/gdevic/minix1
    Minix1是《操作系统:设计与实现》教材的演示代码,侧重于教学和学习(年代久远,很难编译安装)。
  • Minix 2.0.4
    http://download.minix3/previous-versions/Intel-2.0.4/
    Minix 2.0.4侧重于自学,链接中有详细的安装教程。
  • Minix 3.2.1
    http://download.minix3/iso/minix_R3.2.1-972156d.iso.bz2
    Minix 3.2.1是个实用版本,有iso映像可供下载,安装方便。

参考:

《现代操作系统原理与实现》陈海波 夏虞斌

StatCounter Global Stats:
http://gsa.statcounter/

Linux和UNIX的关系及区别:
http://c.biancheng/view/707.html

Unix/Linux/BSD 关系及介绍:
https://blog.csdn/liaowenxiong/article/details/116082478

Linux、Mac OS由来与区别:
https://blog.csdn/zaishuiyifangxym/article/details/89202623

========== THE END ==========

更多推荐

一文了解 操作系统发展史

本文发布于:2023-04-18 05:31:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/852b0c375ae17be0eab23eddcc6e7e4a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:发展史   一文   操作系统

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 85115文章数
  • 14484阅读数
  • 0评论数