0.1操作系统小故事

152 阅读8分钟

 UNIX

在UNIX(1969年)之前,已有多个操作系统诞生:

1. GM-NAA I/O(1956)

  • 开发者:通用汽车(GM)和北美航空(NAA)

  • 特点

    • 首个用于IBM 704大型机的批处理系统,功能仅限于自动加载程序。
    • 无交互性,用户需通过打孔卡片提交任务。

2. CTSS(1961)

  • 开发者:MIT

  • 特点

    • 首个分时系统(Time-sharing),允许多用户通过终端同时交互。
    • 直接影响UNIX的前身Multics

3. OS/360(1964)

  • 开发者:IBM

  • 特点

    • 首个支持多任务的商业操作系统,用于IBM System/360大型机。
    • 代码量庞大(百万行级),与UNIX的简洁哲学形成鲜明对比。

UNIX 它是第一个现代意义上的通用、可移植、多用户操作系统,对后续所有操作系统(包括Linux、macOS、Windows NT)产生了深远影响。

Ken Thompson(UNIX之父)的反思
“我们当时只是想让计算机更好用,没想到它会变成一切的基础。”

unix的诞生

  • 1960年代计算机以批处理为主(如IBM大型机),用户需排队提交任务。

  • MIT/GE/Bell Labs合作开发Multics(多用户分时系统),目标是将计算机资源分配给多个用户同时使用,但项目过于复杂且进展缓慢。因复杂度高、性能未达预期于1969年终止

    Multics试图做所有事情,结果什么也做不好。

  • Thompson他决定开发一个更简单、高效的系统,专注于核心功能。

  • Ken Thompson 和 Dennis Ritchie 用汇编语言编写了首个UNIX内核,包含文件系统、进程管理、Shell

  • 名称源自对Multics的调侃(“UNI-X” vs “MULTI-X”)。

小故事

贝尔实验室退出Multics后,Thompson没有专用计算机。他找到一台闲置的DEC PDP-7(4KB内存、18位字长),性能极其有限。Thompson想在机器上运行他编写的**《Space Travel》(模拟太阳系行星轨道的游戏)。原版游戏在Multics上运行,但PDP-7无法支持Multics的复杂环境。:他决定为PDP-7写一个简化版操作系统来运行游戏。第一步:文件系统Thompson为PDP-7设计了一个层级文件系统**(受Multics启发,但更简单)。这是UNIX“一切皆文件”哲学的雏形。第二步:进程管理他实现了分时调度,允许多个任务(如游戏和编辑器)共享CPU。第三步:工具链用汇编语言编写了编辑器(ed)简单的Shell(命令解释器)。命名“UNIX” :同事Brian Kernighan调侃这个系统是“UNiplexed Information and Computing System”(UNICS),后来缩写为UNIX,以对比“MULTiplexed”的Multics。

unix分支

随着 Unix 的开源和广泛传播,逐渐分化为两大主线:

  • AT&T Unix(贝尔实验室主线)主要后继者:

        1. Solaris(Sun Microsystems,后被 Oracle 收购):
基于 System V 的企业级操作系统,用于服务器和高性能计算。
2. HP-UX(惠普):
惠普开发的 Unix 系统,用于企业服务器。
3. AIX(IBM):
IBM 的 Unix 实现,主要用于大型机和服务器。

  • BSD Unix(伯克利分支)

****1. FreeBSD

                起源于1993年,基于BSD 4.4-Lite版本开发,是当前最流行的BSD分支之一

  • BSD对MAC OS 的影响

  • 1997年苹果收购NeXT后,将NeXTSTEP的Mach内核BSD子系统作为基础,融合到新一代操作系统开发中。
  • 苹果在NeXTSTEP架构上重构出XNU内核(XNU is Not Unix),形成混合内核设计,结合了Mach的微内核功能与FreeBSD的代码,
  • XNU:采用混合内核模式,将Mach 3.0与FreeBSD的子系统深度整合,并加入苹果特有的IOKit驱动框架
  • NeXTSTEP曾部分开源,XNU仅开放核心部分(如Darwin项目),其驱动和图形界面(如Aqua)为苹果私有

一、早期GUI探索

严格定义上的第一个桌面操作系统是 Xerox Alto(1973) 的配套系统,由**施乐帕克研究中心(Xerox PARC)**开发,奠定了现代图形用户界面(GUI)的基础。

Xerox Alto(1973)——图形化桌面的鼻祖

  • 开发者:施乐帕克(Xerox PARC)

  • 特点

    • 首个商用GUI操作系统,支持窗口、图标、菜单和鼠标操作(WIMP界面)。
    • 使用位图显示(而非纯文本),支持多任务。
    • 运行Smalltalk编程环境,影响后来的面向对象编程(OOP)。
  • 影响

    • 直接启发苹果Lisa/Macintosh(1983/1984)微软Windows(1985)

 后来苹果公司指责微软的Windows操作系统与Mac过于相似。对此,比尔盖茨回应道:我们其实都是从施乐这家富有创新的邻居那里“偷”来的灵感,只不过你们比我们先一步抵达而已。

年份系统意义
1981MS-DOSIBM PC默认系统(命令行)
1983Apple Lisa OS首个商业GUI系统(但昂贵)
1984Macintosh System 1大众化GUI(鼠标+桌面)
1985Windows 1.0微软首个GUI系统(基于DOS)
1991Linux开源UNIX-like系统

二、​​图形界面革命(1990年代)​

  1. ​Windows的辉煌​

    • ​Windows 3.0(1990年)​​:支持多任务和虚拟内存,首次实现图形化窗口管理
    • ​Windows 95(1995年)​​:引入“开始”菜单、即插即用和32位架构,成为首个主流消费级OS
    • ​Windows XP(2001年)​​:融合NT内核与用户友好界面,稳定性大幅提升,统治市场至2010年代
  2. ​Linux开源运动​

    • ​内核诞生(1991年)​​:Linus Torvalds发布Linux内核,开源特性吸引开发者社区,成为服务器和嵌入式系统首选
    • ​发行版多样化​​:Red Hat、Ubuntu等发行版推动Linux在桌面和服务器领域普及。

三、​​多任务与开源兴起(2000年代)​

  1. ​Mac OS X(2001年)​

    • ​技术突破​​:基于Unix的NeXTSTEP架构,集成Aqua图形引擎和Cocoa框架,实现美学与功能的平衡
    • ​生态整合​​:与iPhone、iPad形成苹果生态闭环。
  2. ​移动操作系统萌芽​

    • ​Symbian(1998年)​​:诺基亚主导的功能机系统,2006年市占率超70%
    • ​Windows Mobile(2000年)​​:早期智能手机系统,尝试整合PC操作逻辑。

四、​​移动互联网时代(2010年代)​

  1. ​智能手机OS争霸​

    • ​iOS(2007年)​​:苹果重新定义触控交互,App Store生态推动移动应用爆发
    • ​Android(2008年)​​:开源策略快速占领市场,覆盖中低端设备,2023年市占率达45.5%
  2. ​云与跨平台融合​

    • ​Chrome OS(2011年)​​:依赖云端应用,主打教育市场轻量化体验
    • ​Windows 10(2015年)​​:支持PC、Xbox、IoT多端统一,引入虚拟助手Cortana

五、​​现代智能化发展(2020年代至今)​

  1. ​国产操作系统突破​

    • ​鸿蒙OS(2019年)​​:华为推出的分布式系统,支持手机、汽车、家居全场景互联
    • ​统信UOS(2020年)​​:基于Linux的国产桌面系统,适配政务、金融领域,生态适配超300万应用
  2. ​AI与交互革新​

    • ​Windows 11 Copilot(2023年)​​:深度整合AI助手,支持自然语言操作
    • ​Android 15端侧大模型(2024年)​​:本地化AI处理提升隐私与响应速度

计算机从科学研究工具到普及设备的演进

硬件成本指数级下降与生产规模化,使计算机从“奢侈品”变为大众可负担的工具。

关键事实与趋势

  • 价格鸿沟缩小:1950年代大型机成本超百万美元,1981年IBM PC售价约3000美元,2000年后个人电脑均价降至500-1000美元。
  • 1960年代银行、企业用计算机处理数据(如IBM 709系列),1980年代PC进入办公室,提升效率。
  • 互联网普及:1990年代万维网(WWW)诞生,2000年后移动互联网崛起,2023年全球互联网用户超53亿,计算机成为信息接入核心入口。

每年的性能提升

计算性能每年都有比较大的提升.例如主流cpu的加解密,解压缩的单核性能,从20年需要300多毫秒,到24年提升到只需要50多毫秒 (2图左边是楼主个人电脑.)

​ ​