操作系统在现代无时无刻出现在我们的生活中,我们的电脑里、手机里、电子手表里、取款的ATM机里、汽车里、智能音箱里、空气净化器里都有操作系统在工作,它是所有需要自动执行任务的电子仪器中必不可少的一部分。
操作系统的作用有关操作系统的实现原理大多数人不必太了解,但是它的发展对我们理解计算机的发展历史很有帮助。首先我们先看一下计算机的组成。计算机的主要由硬件和软件组成,硬件有中央处理器、存储器和其他外围设备(鼠标、键盘、U盘、麦克风、耳机等),软件有操作系统、文件系统和应用软件等。操作系统在整个计算机系统中主要负责调度资源分配任务,它就像一个指挥中心,清点武器,做武器的分配,计划作战方案。
操作系统的发展批处理操作系统
操作系统的发展从20世纪60年代开始的,那时候著名的IBM公司耗费250万美元发明了一台机器IBM7094,一个机器要占用一个大房间,那时候的操作系统是一种批处理系统,一次只能执行一项任务。从那时候开始,科学家们就一直在寻找一种能够多任务执行计算的方式。1965年,IBM宣部研发世界上第一个支持多任务处理的操作系统,但因为太复杂而中断了项目,该系统叫做IBM OS/360。
IBM 7094多任务处理系统
1965年同年,为了研发一个能处理多任务的操作系统,美国电话及电报公司(AT&T)、通用电器公司(G.E.)及麻省理工学院(MIT)联合研发了一款操作系统——Multics。由于定义的功能极其复杂,最终参与研发的AT&T 公司的贝尔实验室(Bell Labs)退出了该项目。当时贝尔实验室有个工程师叫做肯·汤普森(Ken Thompson)正在负责为Multics操作系统写一个游戏,但是项目中止了,汤普森没法申请使用造价昂贵的计算机,也没有了可以使用的操作系统。这时候这个极客竟然用一台破旧的小型机(这时候的小型机依然很大)上成功用汇编语言完成了操作系统的编写。汤普森的同事觉得他这个系统写得烂透了,给他开玩笑说,这么烂的系统就叫Unics吧(Multics多任务,Unics单一任务)。而汤普森的另一个同事丹尼斯·里奇(Dennis Ritchie)确对Unics很感兴趣,为了使用汇编写的操作系统能够在多种设备上移植,Dennis开发了一种大名鼎鼎的语言C语言,并把Unics改写了一遍。从此Unix与C语言在这个世界诞生,影响着整个计算机时代的发展。
PDP 计算机民用多任务处理系统
PDP相对于最早的计算机已经小狠多了,但是想要民用依然比较困难,1975年,又是著名的IBM公司推出了一台PC兼容机,为了让PC兼容机更便宜,IBM放弃使用当时最先进的摩托罗拉的CPU,而选择了当时的小公司因特尔(Intel)的相对便宜的中央处理器。所以对于初创型的公司真的不能小看了,没有公司可以在一开始就表现出伟大的气质的。同时为了兼容Intel的CPU,IBM还重写了一个操作系统PL/M。
IBM 微型机历史的确一环扣一环,后来的微软的联合创始人Allen的同学Tim Paterson因为想测试一下Intel 8086的CPU界面,花了4周时间写了一个操作系统。比尔·盖茨得知此事之后马上花5万美元买下了这个系统,并加以修改,创建了微软公司(Microsoft)。这里不得不佩服Tim同学的聪明才智,比尔盖茨对商业的敏锐。之后,比尔盖茨获得母亲(与IBM高管是朋友关系)的引荐,将DOS系统按照每台IBM机器授权卖给IBM公司,比尔盖茨因此赚得了数千万美金。因为有些历史无法考证,以上的故事还有另外一个版本:1975年,22岁的Paul Allen 和 20岁的 Bill Gates 为 Altair 8800 开发了 BASIC解释器,据此开创了微软,1977年,比尔·盖茨开发FAT管理磁盘;1980年,IBM 想和 Digital Research 协议授权使用 CP/M,但没有达成,转向和微软合作;1981年,微软买下QDOS,改名为 MS-DOS(Disk OS),和 IBM PC 打包一起出售。
MS-DOS 界面图形化操作系统
1979年乔布斯到看到施乐公司(Xerox)原型机Alto。敏锐的乔布斯立刻发现了图形化错做界面(GUI)和鼠标的商业价值。1983年,乔布斯参与创立的苹果公司推出了Apple Lisa,首次采用GUI的商品化计算机。是不是很惊讶,世界上第一台图形化界面的操作系统不是微软。之后苹果将其命名为Mac OS,使用过苹果电脑的朋友们应该对此有所了解。乔布斯之后被赶出苹果,又重回苹果,创造了iPhone的神话,iphone搭载的手机操作系统是基于Mac OS开发的,后被命名iOS。
Apple Lisa 界面1990年,微软推出了带有图形化操作界面的Windows 3.0操作系统,大获成功,并在之后相继推推出了一系列我们耳熟能详的Windows系列操作系统,微软也是历史上最成功的商业操作系统品牌厂商。
Windows 图形化界面开源操作系统
我们之前有提到Unix系统,该系统之后被AT&T公司商业化,并进行了闭源。当时有个叫做安德鲁·塔南鲍姆(Andrew Tanenbaum)的老师著作了一本《操作系统:设计与实现》,由于Unix的闭源,安德鲁老师在讲课时没有办法有实例素材讲解操作系统,于是安德鲁老师自己写了一个操作系统——Minix——能够兼容Unix并且具备了Unix的基本功能。由于安德鲁老师想要保持自己一手创造的操作系统的原生性,不允许外部的代码加入,这导致安德鲁老师的操作系统只能在一种计算机机型上运行。
Minix 界面当时在芬兰赫尔辛基大学学习的Linus就很希望能够创造一个人人都能使用的操作系统,于是在1991年,他按照Minix的原理耗时两个月重写了一个操作系统。随后Linus将操作系统上传至FTP,并公布了全部源代码,任何人都可以通过社区和一定的协议贡献这个操作系统代码,让它更加完善,这就是大名鼎鼎的Linux内核。这一把分享的火焰由Linus展开迅速点燃了整个工业界。根据一家咨询公司Netcraft的报告,在2010年二月,每10台可靠的服务器中Linux发行版占6台。Google,Facebook,Twitter,Amazon等公司都将其服务器运行在基于Linux的服务器软件上, 即使是世界上最强大的超级计算机,也可以在基于Linux的操作系统上运行。
某 Linux 发行版本 CentOS 界面 结尾整个操作系统的发展史给了我们很大的信心,把自己放在时代的进程中,保持对现实的关注,给自己一些想象并动手把他实现出来,每个人都可以是时代的创造者。极课君极力推荐大家能够学习并使用一下Linux系统,关注【AI极课】,极课君给大家准备了相关课程。
转载来源:微信公众号(AI极课)
网友评论