做网站 公司,内江seo,赣州网页设计网,免费网页空间2023一、计算机的发明 世上本无路#xff0c;走的人多了#xff0c;就有了路。世上本无计算机#xff0c;琢磨的人多了……没有计算机#xff0c;一切无从谈起。 三个人对计算机的发明功不可没#xff0c;居功至伟。阿兰图灵#xff08;Alan Mathison Turing#xff09;、阿… 一、计算机的发明 世上本无路走的人多了就有了路。世上本无计算机琢磨的人多了……没有计算机一切无从谈起。 三个人对计算机的发明功不可没居功至伟。阿兰·图灵Alan Mathison Turing、阿塔那索夫John Vincent Atanasoff、和冯·诺依曼John von Neumann。 图灵从理论上证明了计算机的可行性阿塔那索夫实践了图灵的理论冯·诺依曼奠定了现代计算机的体系结构。 图灵说这玩意儿应该可以做已经被证明了阿塔那索夫二话不说动手就做了一个冯·诺依曼说应该这么做才更好。 图灵功劳很大死得很惨只因他是同性恋。他的最后时刻是吃了一个沾有氰化钾的苹果。有人说苹果公司的Logo是为了纪念图灵不实。确定纪念图灵的是“图灵奖”计算机研究领域的最高奖项由美国计算机协会于1966年设立。 阿塔那索夫名气不大享年较长。世界上第一台计算机是阿塔那索夫领导发明的ABC计算机并非我们很多书上说的ENIAC。 冯·诺依曼长得帅聪明研究领域广故事很多。今天我们使用的计算机都被打上了一个的深深的烙印这个烙印就叫冯·诺依曼体系结构。 关于计算机之父有很多说法版本不一这三个人都可以称为计算机之父。曾有人奉冯·诺依曼为计算机之父冯·诺依曼说不敢当殊荣当归图灵。 早年全世界的计算机中心在美国普林斯顿大学群星闪耀璀璨夺目。冯·诺依曼曾在此工作图灵曾在此学习他俩在普林斯顿的花园里聊过天。冯·诺依曼想让图灵给他当助手被拒绝了。 二、最初的Unix和C语言 早期计算机个头大电子元器件多开动一次电费都不少使用起来也很不方便。别的不说一次只能干一件事就让人受不了。先煮粥半小时之后粥煮好了再炒菜。花老多钱雇的厨师明明煮粥的时候可以炒菜好不好一次做一件事就叫单任务比较笨。 受不了就要想办法就有人提出了操作系统的想法。操作系统就是想让计算机用起来更方便能发挥更大的作用。 1965年MIT、贝尔实验室和美国通用电气公司合作准备搞个超级操作系统取了个霸气的名字Multics (Multiplexed Information and Computing System多路复用信息和计算机系统。能让多个人可以同时干很多事也叫多用户多任务操作系统。 Multics名字挺好事没干成目标过于庞大结果壮志未酬。 1969年Multics项目进展缓慢被迫停止参与项目的两个人Ken Thompson和Dennis Ritchie也闲了下来。他们都是贝尔实验室的人。没活干了就打游戏。他们俩找了一台破电脑准备玩以前开发的一个游戏。 把游戏移植到一台闲置机器PDP-7的过程中实现了一个简单的操作系统。到了 1970年这个简单的系统已经可以使用但只能同时两个人使用。有人调侃他们说你们这个破玩意离Multics差远了就叫UnicsUNiplexed Information and Computing Service吧。Unics是Multics的反义与其说调侃他俩不如说在调侃Multics。Ken Thompson稍微把名字修改了一下Unix。 自此Unix纪元开始。1970年是为Unix元年今年已经是Unix45年。Unix时间戳从1970年1月1日开始计算和Unix诞生的时间有莫大关系。 早年的操作系统最早是用汇编语言写的汇编语言低级落后写起来很痛苦。开发Unix过程中Thompson发明了B语言Ritchie在B语言基础做了改进称之为C语言。 C语言发明后Ritchie和贝尔实验室的同事Brian W. Kernighan合著一本C语言的书后来被称为KR。Kernighan名气没Ritchie大但并非凡人Unix命令Awk中的K就是Kernighan。 接下来Thompson和Ritchie用C语言重新编写了Unix系统。结果相当满意Unix可以见人了。1974年Dennis M. Ritchie和Ken Thompson发表了第一篇关于UNIX的论文《The UNIX Time Sharing System》从此Unix广为人知。 这几年世界计算机的中心到了贝尔实验室Thompson、Ritchie、Kernighan还有好多。Thompson和Ritchie后来都获得了图灵奖。 有心栽花花不活无心插柳柳成荫。Multics目标宏伟没干成Unix和C语言刚开始并没想那么多而且还是业余时间的作品终成伟业 Unix和C语言是计算机领域的常青树历久弥新。从发明至今一直保持着旺盛的生命力从发明至今都基本保持原貌足见伟大 三、混乱的Unix发展过程 Unix一经出现引起了众人的关注很多人找Thompson和Ritchie要Unix的源代码。那是个开放的时代那是个相互学习研究的时代把程序的源码分享给别人是很平常的事。一份份的Unix源码被流传到各个实验室、学校、公司。 加州大学伯克利分校有一帮热衷于Unix的人他们拿到源码后不断研究不断改进大大推进了Unix的发展。 这个阶段Unix发展有两条主线一条在贝尔实验室内部另一条就在伯克利分校。伯克利分校的成果很辉煌著名的TCP/IP协议在Unix上的实现就是他们搞出来的。后来把他们搞的这套Unix称为BSDBerkeley Software Distribution。 伯克利分校一时风光无两最杰出的一位是Bill Joy。Bill JoyVi、Csh等等一系列软件的作者Sun公司的创始人。没有Sun公司就没有今天的Java语言。 Unix刚诞生的时候贝尔实验室受反垄断法所限不能从事计算机业务。其实也并没想到Unix发展势头如此之好。 等到1983年贝尔实验室的母公司ATT已经被强制拆分为几个小公司不再受反垄断法的限制。这时ATT发布了Unix最新版System V宣布从此Unix只能商业使用不再开放源代码。ATT想用Unix赚大钱。 BSD那边受到了很大影响他们不想急着赚钱他们想开放源码。没办法伯克利分校决心把BSD当中受到影响的源码重新写过。从伯克利分校出来的几位同学成立了一家公司专门开发BSD项目。直到有一天他们宣布BSD当中再没有最初来自贝尔实验室的源码。ATT不买账告你起诉打官司。 这是一场漫长的官司官司尚未打完Unix版权就被倒卖了好几次。买版权的好几家公司继续和BSD打官司几家公司相互也打官司。 等到硝烟散尽BSD终究推出了完全属于自己的Unix因为版权的问题不能再叫Unix只能叫类Unix系统。 BSD的类Unix系统是FreeBSD、MacOS的前身。今天使用的苹果电脑iPhone手机上的操作系统都是从BSD这一支上发展而来。 漫长的官司耗尽了人们对BSD的热情也让BSD错过了最好的发展机会。后来的FreeBSD、NetBSD、OpenBSD都是从BSD分化而来免费开源优秀但再没挽回曾经的荣光因为已经有了Linux。 Unix发展过程图 四、斯托曼博士的GNU计划 ATT想靠Unix赚钱的时候不止是ATT很多商业公司都希望通过软件赚钱。不再免费不再开放源代码不再相互通过源代码学习研究。 曾经是多么好的时代怎么现在就变得只认钱了呢这一切让一个人很不满意。他曾经看到一个系统有问题想要一份源码拿来帮修改一下别人冷笑以对。 世风日下他要向这个令人沮丧的时代挑战他要还一个开源、免费的系统与人世间。请记住这个人的名字理查德·斯托曼Richard Matthew Stallman博士。 斯托曼是老牌黑客Emacs的作者。Emacs和前面提到的Vi是计算机领域中两大强悍的编辑工具Emacs和Vi哪个更强是最容易引起争议的话题之一。为了少吵架千万别和宝马车主说奔驰好。 斯托曼博士长头发大胡子不修边幅一直单身。他一心投入自由软件运动他创建了自由软件基金会FSF。他雄心勃勃地提出了一项伟大的计划GNUGNUs not Unix计划。Not Unix不是Unix是自由的、免费的、开源的、像Unix一样好用的系统。 理查德·斯托曼博士 GNU起初进展很顺利GLibc、GCC、GDB这一系列的操作系统必备软件都有条不紊地在进展。所有的“G”来自Gnu的首字母。为什么叫“G”斯托曼博士说当时他觉得好玩而且他小时候听过一首歌很喜欢歌名是《The Gnu》。 完全搞个操作系统看来也并非易事GNU完成了一大堆软件的时候才意识到遇到了大麻烦。GNU系统的内核项目Hurd迟迟不能令人满意。内核之于操作系统就像发动机之于汽车必不可缺。 五、Linux出世记 1991年Linus Torvalds尚是芬兰赫尔辛基大学的一名学生他在学校学操作系统的课程他也想搞个操作系统玩玩。他当时已经在使用Gnu项目的Bash、GCC等软件。受GNU的影响把他自己开发的一个简陋的操作系统内核放到了互联网上。 这个内核系统就是LinuxLinuss UnixLinus的Unix。名字并非Linux所取他一贯的风格是取个调侃的名字但当时管理员说Linux挺好名字就这么定了。 Linux放到网上后引起了很多人的兴趣他们陆续通过互联网加入到Linux开发过程中。1993年大约有100多名程序员参与了Linux内核代码。这时已经是互联网的时代他们不用相识不用谋面通过网络讨论通过网络协作推进着Linux。 1994年3月Linux1.0发布Linux已经成为一个基本可用的内核。从此Linux就一直没有踩过刹车一步步从幼苗长成参天大树。 Linus小时候被企鹅攻击过他给Linux定Logo的时候选中了企鹅真不知道这是什么逻辑。长得像企鹅的除了QQ还有Linux。 Linux开创了一种前所未有的软件开发模式。多人协作代码随时提交有问题及时修改所有参与人员并非精英而是一群狂热的支持者。前前后后无数人参与了Linux项目的开发组织不太严谨有很多的争吵和讨论。Linus经常写代码偶尔扮演仲裁的角色而非传统意义上的领导。 后来开源运动的吹鼓手Eric Raymond写了一篇文章《大教堂与集市》来分析Linux的开发模式。大教堂要设计好图纸动用优秀的工匠有序的工程计划才能修筑闹哄哄无序如菜市场的一拨人能不能修一座大教堂答案是可以的因为他们建成了。 Linus后来坦言他开发Linux时不了解还有FreeBSD等项目如果知道了可能他就不会动手写Linux了。那时各种BSD系统正在官司的阴影笼罩下某种程度了也促进了Linux的发展。 他们一开始也没什么图纸一边修建一边请人参观出了问题随时修复有的地方干脆推倒重来。他们没有严密的组织只有大体的分工。随时有人在使用教堂给他们提出各种意见。他们建的教堂已经足够好他们建的教堂一直没有竣工会一直修建下去。 Eric Raymond这个人不得不提早年和斯托曼博士一起共事还帮斯托曼博士修改过Emacs的代码。他比写程序更擅长的是演讲和写文章。《大教堂与集市》是开源文化的扛鼎之作。斯托曼博士是开源运动的精神领袖Raymond是开源运动的布道师和理论家。 六、Linux各种发行版 一边GNU项目为内核苦苦挣扎一边Linux内核项目横空出世这不天作之合么不错手快的人来不及同情斯托曼博士的痛苦把GNU一大堆项目和Linux攒在一起搞了个新系统GNU/Linux。 好了终于大家可以拿去用了可以用一个完全免费、源码开放的系统了。 今天很多人把使用的系统叫Linux很不公平是对GNU工作的漠视。正确的叫法是GNU/Linux。 有了GNU/Linux还不是一切只能是一个基础的操作系统要想用得更好还缺很多软件。就像有了Windows系统没有Word没有Excel没有浏览器没有游戏可干的事并不多。 所幸的是GNU/Linux诞生的年代已经有了很多优秀的开源项目他们和GNU无关有的是个人开发有的是组织开发都遵循免费开源的理念。这些开源项目有Apache、Perl、Python、Vim、TeX等等。 攒系统的人干脆一股脑攒了起来就是所谓的GNU/Linux的发行版。最早攒GNU/Linux系统的公司是Redhat后来陆续一大堆GNU/Linux的发行版Slackware、Mandrake、Gentoo、Debian、Ubuntu等等。有的已经死了有的还活得挺好。 所谓GNU/Linux发行版就是攒好的一套GNU/Linux。选用GNU项目中的基础软件加上Linux内核再找一堆开源免费版权协议许可的软件最后做个安装程序就齐活了。更好的发行版大体就是考虑的更周全些软件包的更新、安装、卸载更方便些。 能不能自己动手攒一个GNU/Linux的发行版当然可以Linux From Scratch网上的一个项目教你一步一步从头打造一个属于自己的GNU/Linux发行版。 2002年南非商人Mark Shuttleworth花了两千万美金搭乘俄罗斯的宇宙飞船去了一趟太空。次年他成立了Canonical公司致力于开源文化的推广推出了GNU/Linux发行版Ubuntu。有钱人办事就是不一样Ubuntu做得太好了GNU/Linux用户纷纷投靠Ubuntu基本一统GNU/Linux发行版的江湖。 五、GNU/Linux和开源文化的背后 GNU/Linux来了虽然没成为大多数人电脑里的系统但每个人都离不开它。诸多互联网公司的服务器里都跑着GNU/Linux名单不完全确认Google、Facebook、淘宝、百度、腾讯、小说阅读网等等。 大多人使用的安卓手机的系统也是基于Linux内核。 GNU/Linux的繁荣有宏伟的规划有个人的努力也有很多无形的力量在起着作用。 没有Unix就没有GNU/Linux是Unix给予了伟大的启示。 没有C语言就有没有GNU/LinuxC语言简单优雅介于高级语言和低级语言之间开发系统软件的首选编程语言。 没有一系列Unix标准的制定就没有GNU/Linux的繁荣。标准就是“车同轨、书同文、统一度量衡”秦始皇可算最早的标准制订者。遵循Posix标准为GNU/Linux发展铺平了道路。 没有互联网就没有GNU/LinuxGNU/Linux不是一个人在开发是全球无数人协作的结果。如果没有互联网实在不可想象。当然GNU/Linux也反哺了互联网无数互联网公司采用GNU/Linux搭建服务器GNU/Linux也促进了互联网的繁荣。 没有斯托曼博士的努力就没有GNU/Linux。他的功劳不仅是创建GNU组织也不仅是编写Emacs、GCC、GDB他的精神感召着无数人为开源运动做贡献。 当然还有Raymond的振臂高呼摇旗呐喊。 还有GNU/Linux诞生之前就开发开源项目的人和组织。Larry Wall因为懒整天被报表搞得焦头烂额发布了Perl语言高德纳教授因为对排版工人不满意十年时间停止重要工作发明了伟大的排版软件TeXGuido为了打发圣诞节的无聊编写了新的脚本语言Python…… GNU/Linux发布之后在前辈们的感召下无数人接受了开源的思想和理念接受了开源文化的洗礼兴起了开源文化运动。无数为开源项目做出贡献的人和组织他们发布了PHP、MySQL、Ruby、Node.js、X.Org、Gnome、KDE……他们丰富了GNU/Linux他们进一步推动了开源文化运动他们继续感召着别人。 KDEKool Desktop Environment的初衷是想开发一套易用的桌面系统。Windows系统就是一种桌面使用方便不是像程序员整天对着黑乎乎的屏幕工作。桌面系统要有浏览器他们就分了一个小组KHTML来开发浏览器。全世界能开发浏览器核心的也没几家KDE做到了。后来苹果公司和微软闹别扭想自己开发浏览器就是在KHMTL的基础之上开发了自己的浏览器Safari。KHTML的浏览器核心模块叫Webkit。Google推出安卓手机时浏览器也是基于Webkit开发的。 今天的iPhone手机和安卓手机的浏览器都是Webkit内核。 各种版权许可协议的制订也为GNU/Linux的发展铺平了道路其中就有GNU的GPL、LGPL还有Apache License、BSD协议。不可能每个人都有一套自己开源协议项目的版权协议已经制订好的版权许可协议使得软件更好地传播。 其实开源并非自由有人说GPL是用自由抹杀自由。GPL许可要求任何含有GPL许可的软件发布时必须开放源码。BSD和Apache License相对比较宽松算是准自由软件。 版本管理软件对GNU/Linux的发展和开源文化运动也功不可没。Linux内核开发起初使用的是商用版本管理软件某天Linus Torvalds先生不开心了就自己动手搞了一个。他好取自嘲调侃的名字命名为Git意为没什么用的东西。 Git可不是没什么用太好用了Linux内核源码从此都用Git管理。Git免费、开源Git成就了一家伟大的网站github.com伟大的源码项目托管网站。很多开源项目纷纷把源码托管到了Github上。 GNU/Linux不朽开源运动不朽 作者刘军民主页http://www.jianshu.com/users/98212189b0d9/latest_articles 转载于:https://www.cnblogs.com/lamp01/p/6610902.html