操作系统简史

来自CloudWiki
Cloud17讨论 | 贡献2018年1月31日 (三) 01:56的版本 Linux在桌面领域的发展
跳转至: 导航搜索

Linux在各领域的现状与趋势

Linux与开源软件

Unix是目前还在存活的操作系统的元老了,走过了40年的历程。由它引发的思想变革,对当今计算机文化造成的深远影响。这是一段所有从事计算机行业人员尤其是软件开发人员需要了解的历史。Unix的传奇历史是整个计算机世界文化最具代表性的,它对整个计算机世界文化的影响也是最巨大,最深远的。他给人带来的不单单的对过去的回味,更为我们带来了计算机世界的新思潮。

L1-1.png

Unix 起源

回顾Unix历史,我们就要说一下一个叫MULTICS的项目。上世纪六十年代时,大部份计算机都是采用批处理的方式(也就是说,当作业积累一定数量的时候,计算机才会进行处理)。那时,我们熟知的美国电话及电报公司(AT&T)、通用电器公司(G。E。)及麻省理工学院(MIT)计划合作开发一个多用途、分时及多用户的操作系统,也就是这个MULTICS,其被设计运行在GE-645大型主机上。不过,这个项目由于太过复杂,整个目标过于庞大,糅合了太多的特性,进展太慢,几年下来都没有任何成果,而且性能都很低。于是到了1969年2月,贝尔实验室决定退出这个项目。

L1-2.png

熟悉这段历史的人都知道,贝尔实验室中的有个叫Ken Thompson的人,他为MULTICS这个操作系统写游戏了个叫“Space Travel”的游戏,在MULTICS上经过实际运行后,他发现游戏速度很慢而且耗费昂贵 —— 每次运行会花费75美元。退出这个项目以后。他为了让这个游戏能玩,所以他找来Dennis Ritchie为这个游戏开发一个极其简单的操作系统。这就是后来的Unix。(值得一提的是,当时他们本想在DEC-10上写,后来没有申请到,只好在实验室的墙角边找了一台被人遗弃的Digital PDP-7的迷你计算机进行他们的计划,这台计算机上连个操作系统都没有,于是他们用汇编语言仅一个月的时间就开发了一个操作系统的原型)他们的同事Brian Kernighan非常不喜欢这个系统,嘲笑Ken Thompson说:“你写的系统好真差劲,干脆叫Unics算了。”Unics的名字就是相对于MULTICS的一种戏称,后业改成了Unix。于是,Unix就在这样被游戏和玩笑创造了,当时是1969年8月。也就是这一年,Linux之父Linus Torvalds在芬兰出生了。

1971年,Ken Thompson写了充分长篇的申请报告,申请到了一台PDP-11/24的机器。于是Unix第一版出来了。在一台PDP-11/24的机器上完成。这台电脑只有24KB的物理内存和500K磁盘空间。Unix占用了12KB的内存,剩下的一半内存可以支持两用户进行Space Travel的游戏。而著名的fork()系统调用也就是在这时出现的。

到了1973年的时候,Ken Thompson 与Dennis Ritchie感到用汇编语言做移植太过于头痛,他们想用高级语言来完成第三版,对于当时完全以汇编语言来开发程序的年代,他们的想法算是相当的疯狂。一开始他们想尝试用Fortran,可是失败了。后来他们用一个叫BCPL的语言开发,他们整合了BCPL形成B语言,后来Dennis Ritchie觉得B语言还是不能满足要求,就是就改良了B语言,这就是今天的大名鼎鼎的C语言。于是,Ken Thompson 与Dennis Ritchie成功地用C语言重写了Unix的第三版内核。至此,Unix这个操作系统修改、移植相当便利,为Unix日后的普及打下了坚实的基础。而Unix和C完美地结合成为一个统一体,C与Unix很快成为世界的主导。

Unix的第一篇文章 “The UNIX Time Sharing System”由Ken Thompson和Dennis Ritchie于1974年7月的 the Communications of the ACM发表。这是UNIX与外界的首次接触。结果引起了学术界的广泛兴趣并对其源码索取,所以,Unix第五版就以“仅用于教育目的”的协议,提供给各大学作为教学之用,成为当时操作系统课程中的范例教材。各大学公司开始通过Unix源码对Unix进行了各种各样的改进和扩展。于是,Unix开始广泛流行。

Unix的商业化

1982年,AT&T基于版本7开发了UNIX System Ⅲ的第一个版本,这是一个商业版本仅供出售。为了解决混乱的UNIX版本情况,AT&T综合了其他大学和公司开发的各种UNIX,开发了UNIX System V Release 1。这个新的UNIX商业发布版本不再包含源代码。

这是一个AT&T妄图私有化的Unix的时代。为了私有化Unix,1986年IEEE指定了一个委员会制定了一个一个开放作业系统的标准,称为 POSIX (Portable Operating Systems Interface)。最后加上个X,不知道是为了好听,还是因为这本质上是UNIX的标准。当然,AT&T的Unix取得了这个标准制订战争的胜利,还取得了Unix这个注册商标。此时BSD的拥护者自喻为冷酷无情的公司帝国的反抗军。就销售量来说,AT&T UNIX始终赶不上BSD/Sun。

BSDI很快就与AT&T的UNIX Systems Laboratories(USL)附属公司产生了法律纠纷,USL是AT&T注册的公司。AT&T为了拥有System V版权,以及Unix商标,为了垄断Unix,1992年,USL正式对BSDI提起诉讼,说BSD剽窃他的源码。而最终了结了好评如潮的BSD系统。由于最后判决悬而未决,这桩法律诉讼将BSD后裔的开发,特别是自由软件,延迟了两年。官司一直打到 AT&T将自己的Unix系统实验室卖掉。

Unix开源组织

AT&T的这种商业态度,让当时许许多的Unix的爱好者和软件开发者们感到相当的痛心和忧虑,他们认为商业化的种种限制并不利于产生的发展。

此时,一个名叫Richard Stallman的领袖出现了,他认为Unix是一个相当好的操作系统,如果大家都能够将自己所学贡献出来,那么这个系统将会更加的优异!他倡导的Open Source的概念,就是针对Unix这一事实反对实验室里的产品商业化私有化。尽管Stallman既不是、也从来没有成为一个Unix程序员,但在后1980的大环境下,实现一个仿Unix操作系统成了他追求的明确战略目标。Richard Stallman早期的捐助者大都是新踏入Unix土地的老牌ARPANET黑客,他们对代码共享的使命感甚至比那些有更多Unix背景的人强烈。

为了这个理想,Richard Stallman于1984年创业了GNU,计划开发一套与Unix相互兼容的的软件。1985 年 Richard Stallman 又创立了自由软件基金会(Free Software Foundation)来为 GNU 计划提供技术、法律以及财政支持。尽管 GNU 计划大部分时候是由个人自愿无偿贡献,但 FSF 有时还是会聘请程序员帮助编写

GNU组织的建立,延续了当年Unix刚出现时的情形,并为这种情形建立了可靠的法律和财务保障。GNU 工程十几年以来, 已经成为一个对软件开发主要的影响力量, 创造了无数的重要的工具。例如:强健的编译器,有力的文本编辑器,甚至一个全功能的操作系统。从那时开始,许多程序员聚集起来开始开发一个自由的、高质量、易理解的软件,让这使得Unix社区生机勃勃,一派繁荣景象。

自90年代发起这个计划以来,GNU 开始大量的产生或收集各种系统所必备的组件,像是——函数库、编译器、调式工具、文本编辑器、网站服务器,以及一个Unix的使用者接口(Unix shell)等等,等等。但由于种种原因,GNU一直没有开发操作系统的kernel。正当Richard Stallman在为操作系统内核伤脑筋的时候,Linux出现了。

Linux横空出世

L1-3.png

1990年,Linus Torvalds还是芬兰赫尔辛基大学的一名学生,最初是用汇编语言写了一个在80386保护模式下处理多任务切换的程序,后来从Minix(Andy Tanenbaum教授所写的很小 的Unix操作系统,主要用于操作系统教学)得到灵感,进一步产生了自认为狂妄的想法——写一个比Minix更好的Minix,于是开始写了一些硬件的设备驱动程序,一个小的文件系统。(你有没有什么疯狂的想法?)这样0。0。1版本的Linux就出来了,但是它只具有操作系统内核的勉强的雏形,甚至不能运行,你必须在有Minix的机器上编译以后才能玩。这时候Linus已经完全着迷而不想停止,决定踢开Minix,于是在1991年10 月5号发布Linux 0。0。2版本,在这个版本中已经可以运行bash 和gcc。

从一开始,Linus就决定自由扩散Linux,包括原代码,随即Linux引起黑客们(hacker)的注意,通过计算机网络加入了Linux的内核开发。Linux倾向于成为一个黑客的系统——直到今天,在Linux社区里内核的开发被认为是真正的编程。由于一批高水平黑客的加入,使Linux 发展迅猛,几乎一两个礼拜就有新版或修正版的出现,到1993年底94年初,Linux 1。0终于诞生了!Linux 1。0已经是一个功能完备的操作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能,在4M内存的80386机器上也表现得非常好,至今人们还在津津乐道。时至今日,kernel的版本已经出到2。6。Linux的发展不像传统的软件工程,它完全是透过网络,集合世界各地的高手而成的一套操作系统,在这里我们也可以见识到网络快速传播的威力。Linux初次让整个世界感觉到了开源力量和网络力量的如此强大。(Linux 的标志和吉祥物是一只名字叫做 Tux 的 企鹅,标志的由来是因为Linus在澳洲时曾被一只动物园里的企鹅咬了一口,便选择了企鹅作为Linux的标志。)

Linux 的历史是和GNU紧密联系在一起的。从1983年开始的GNU计划致力于开发一个自由并且完整的类Unix操作系统,包括软件开发工具和各种应用程序。到1991年 Linux 内核发布的时候,GNU已经几乎完成了除了系统内核之外的各种必备软件的开发。在 Linus Torvalds 和其它开发人员的努力下,GNU组件可以运行于Linux内核之上。整个内核是基于 GNU 通用公共许可,也就是GPL(GNU General Public License,GNU通用公共许可证)的,但是Linux内核并不是GNU 计划的一部分。1994年3月,Linux1。0版正式发布,Marc Ewing成立了 Red Hat 软件公司,成为最著名的 Linux 分销商之一。

自从Linux出现以后,一个新的黑客领袖出现了,Linus Torvalds的中庸态度网聚了世界上顶尖的黑客,其绕过了GPL和反GPL的派系之争,他使用GNU的工具从而以GPL的“传染性”保护了Linux,但他同时也不承认RMS的理论思想体系,他即开源,又支持商业化。虽然,他没有带给黑客们什么重要的思想体系或统一的价值观,但他整合了全世界黑客的阵营,让所有的黑客的行为都围绕着Linux这一事物进行。他以“用自由软件是因为它运行得更好”轻而易举地盖过了“用自由软件是因为所有软件都该是自由的”。





参考文档: [1] Unix/Linux的发展史介绍 https://jingyan.baidu.com/article/4ae03de3edcfda3eff9e6beb.html [1] Unix和Linux的的发展史 http://blog.csdn.net/acmen99/article/details/51154451

Linux在服务器领域的发展

  • 101.jpg
  • 随着开源软件在世界范围内影响力日益增强。Linux服务器操作系统。在整个服务器操作系统市场格局中,占据了越来越多的市场份额,已经形成了大规模市场应用的局面,并且保持着快速的增长率,尤其在政府金融农业交通,电信等国家关键领域。除了考虑到Linux的快速成长性,以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。
  • 据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时Linux服务器市场的迅速崛起,已经引起了全球it产业的高度关注,玉米强劲的势头,成为服务器操作系统领域中的中坚力量。

Linux在桌面领域的发展

  • L1-8.png
  • 近年来特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟,红旗、深入等系统软件厂商都推出了linux的桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu,第六次已经积累了大量社区用户。但是,从系统的整体功能性来看,Linux桌面系统与windows系列相比,还有一定的差距,主要表现在系统应用性系统管理,软硬件兼容性,软件的丰富程度等方面。

Linux在移动嵌入式领域的发展

  • 那就是低成本,强大的定制功能,以及良好的可移植性,使得印度在嵌入式系统方面也得到广泛应用,目前Linux已广泛应用于手机平板电脑,路由器电视和电子游戏机等领域,在移动设备上广泛使用的安卓操作系统,就是创建在Linux内核之上,众所周知,安卓系统已经成为全球最流行的智能手机操作系统,2015年的权威最新统计,安卓操作系统的全球市场份额已达84.6%。
  • 此外,思科公司在网络防火墙和路由器中也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系统YunOS,可用于智能手机,平板电脑和网络电视,常见的数字视频录像机,舞台灯光控制系统等,都在逐渐采用定制版本的064来实现,而这一切均归功于Linux与开源的力量。

Linux在移动嵌入式领域的发展

常见的Linux发行版

初学者入门首选

  • 我们一般使用CentOS系统,作为初学者入门的首选操作系统,为什么呢?
  1. CentOS现在拥有庞大的网络用户群体网络Linux资源基本80%都是基于CentOS发行版,如果在学习过程中遇到任何问题,在网络中可以较容易的搜索到解决方案。
  2. CentOS系列版本可以轻松获得,可以从CentOS官网或者163开元,搜狐开源,阿里云开源站,下载那个版本的安装介质。
  3. 应用范围广,具有典型性和代表性,现在基本所有的互联网公司,后台服务器都采用CentOS作为操作系统,可以说学会了CentOS不仅能融入企业的工作环境,还能触类旁通,非常类似的Linux新版也能很快掌握。同时现在周围学习Linux的用户一般也都是以CentOS为主的,这样交流方便,学习中出现的问题更容易得到解决,最重要的是,随着安装和使用,也是最简单的基本的,因此基本上不会在装系统上浪费过多时间。

桌面平台首选 Ubuntu Linux

  • 说道Linux桌面市场, Ubuntu几乎占据了桌面Linux的半壁江山, Ubuntu,Linux桌面之最,界面美观,简洁而不失华丽,如果想在Linux下进行娱乐休闲, Ubuntu Linux绝对是首选。
  • Ubuntu安装,非常人性化,只需按照提示一步一步进行。 Ubuntu,被誉为对硬件支持最好最全面的Linux发行版之一.其他发行版上无法使用的,或者在默认配置时无法使用的很多硬件,在 Ubuntu上都能轻松安装使用。因此用户可以像安装windows一样轻松的安装 Ubuntu,尽情体验 Ubuntu带来的乐趣。

企业级应用首选 RHEL/CentOS系列

  • 企业级应用追求的是可靠性和稳定性,这就要求构建企业级应用的系统平台,具有高可靠性和高稳定性。企业级Linux的发行版本就可以解决这个问题问题。
  • RHEL和Centos两个Linux新版本并没有太大差别,所不同的是,RHEL属于商业Linux新版本发行版本。如果要使用RHEL则需要购买商业授权和咨询服务。红帽公司提供系统的技术支持,并提供系统的免费升级。目前红帽官网,已经不再提供可免费下载的光盘介质。如果需要使用。可通过官网下载,有试用时间限制的评估版Linux。而CentOS属于非商业发行版,可以从网上免费下载那个版本的安装介质。但c并不提供商业支持,当然使用者也不用负任何商业责任。
  • 那么到底是选择CentOS还是RHEL呢。这取决于你所在公司是否拥有相应的技术力量。如果是单纯的业务型企业,那么建议选购红帽发行版,并购买相应服务,这样可以节省企业的IT管理费用,并可得到专业的技术支持服务。相反,如果企业技术力量比较强大,并有多年Linux使用经验,那么Centos发行版将是最佳选择。

养成良好的Linux操作习惯

一定习惯命令行方式

  • Linux 是由命令行组成的操作系统,精髓在命令行。无论图形界面发展到什么水平,命令行的操作永远是不会变的。Linux 命令有很多强大的功能,从简单的磁盘操作文件存取到复杂的多媒体图像和流媒体文件的制作。都离不开命令行。
  • 我也许对于刚刚从windows系统转向Linux 系统的初学者来说。立刻进入枯燥的命令,学习实在太难。一旦学会,就会爱不释手,因为它的功能实在是太强大了。

理论结合实践

  • 很多初学者都会遇到这么一个问题,在系统出现故障的时候。明明自己对每个命令都很熟悉,但是出现故障的时候就无从下手,那么这是为什么呢。归根到底,还是学习的理论知识与实际操作没有很好的结合起来。可以说要培养自己的实战技能,只有勤于动手实践,这也是学Linux的根本。

学会使用Linux联机帮助

  • 学会使用Linux联机帮助,将会极大地帮助初学者,解决学习过程中的很多困难。

学会独立思考问题、解决问题

  • 学会独立思考问题、解决问题

Linux学习路线图

初级阶段

  • 熟练掌握Linux常见命令

中级阶段

  • 熟练搭建各种常见服务器

高级阶段

  • 能够熟练应用Linux下的多种集群结构。