一、计算机的发展史
第一代:电子管计算机(1946-1958)1946年,世界上第一台计算机ENIAC在美国宾夕法尼亚大学诞生。1950年,冯诺依曼实现了采用二进制和存储程序的计算机EDVAC。
第二代:晶体管计算机(1958-1964)高级语言诞生。
第三代:集成电路计算机(1964-1970)出现了以IBM公司为主导的PC兼容机。
第四代:大规模和超大规模集成电路计算机(1970至今)如今的PC机。
二、Linux的发展史
1、Multics计划
上世纪四五十年代,电子管计算机都是大型机Mainframe,计算能力很强,但是没有操作系统,当时的操作系统就是所谓的批处理操作系统,batch批处理 也称为脱机批处理,单任务,所以当时迫切需要一套多任务、多用户的操作系统,至此Multics项目便油然而生。
Multics是1964年由美国AT&T的贝尔实验室、麻省理工学院的人工智能实验室以及美国通用电气公司所共同研发的一套安装在大型主机上多人多任务的操作系统。后来因计划进度落后,资金短缺,宣告失败。贝尔实验室退出该项目的研究。
2、UNIX的诞生及发展
在复杂的Multics系统的计划失败后,曾经参与Multics计划的贝尔实验室的成员Ken Thompson正在撰写一个名为“星际旅行(Space Travel)”的游戏程序,但是该游戏需要基于操作系统之上运行的,于是他便在1969年的时候以DEC公司的计算机PDP-7为硬件基准,借鉴Multics的许多思想,并将其简单化开发出一个可以运行自己游戏的文件系统,后来Ken的同事Dennis Ritchie等人为了让这个文件系统的执行效能更优化,以先进的计算机PDP-11为硬件基准使用编译效能更好的C语言将文件系统的核心大幅度的改写了,并且确定该操作系统名称为Unix。Ken和Dennis二人发表论文并召开新闻发布会。但该操作系统归属于贝尔实验室,贝尔实验室隶属于AT&T,而AT&T当时不能出售电话电报以外的任何东西。与此同时美国加州大学伯克利分校成立BSRG组织专门研究Unix,1976年贝尔实验室的Ken年休到伯克利分校任教,BSRG邀请Ken,在Ken的帮助下,伯克利分校于1980年发布了自己的操作系统BSD并进行售卖。而后,贝尔实验室从AT&T分离出来,可以对自己开发的Unix系统进行售卖,并开发出了第五版稳定的Unix称为Sys V,使得当时Unix系统形成了两大阵营,即伯克利分校的BSD和贝尔实验室的Sys V,于是贝尔公司就Unix操作系统的知识产权问题与伯克利分校开始了长达十年的官司。
3、Linux的诞生
到了上世纪70年代,由于计算机硬件工业的强力运作,以intel主导的x86系统架构的个人计算机大行其道,但是当时人们使用的操作系统并不是免费的,购买操作系统的价格相当昂贵。此时,位于荷兰某大学的教授Andrew 给学生们讲课正需要Unix操作系统,可是购买Unix操作系统需要4万美元,学生学习Unix将变得很难。基于此原因,Andrew 教授模仿Unix开发了Minix操作系统,用于学生教学。但是Minix还不能移植到其他主机上,此时,世界上由对Unix商业化不满者组成的开源组织GNU组织对Andrew 教授的Minix操作系统很感兴趣,希望教授把Minix操作系统的源代码遵循GPL条款免费公布出来,方便Minix的移植,可是被教授拒绝了。同时,Andrew教授的一位芬兰学生名叫Linus Torvalds对教授的Minix系统相当感兴趣,于是Linus仿照教授的Minix在自己的386计算机上编写出了一款新的操作系统取名linux操作系统,并将系统代码无偿贡献给了GNU组织,使得Linux迅速风靡全球。
4、Linux的发行版本
Redhat和centos都是Linux最著名的发行版本,Redhat是在Linux内核(os)的基础上多了一些GNU的小工具,应用程序或界面等,将之封装成的一个镜像(ios),Red Hat是一个符合大众需求的最优版本。而centos也是利用Redhat的源码重新编译进行二次发行的版本centos是Redhat源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。Ubuntu是一个以桌面应用为主的Linux操作系统,目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。
5、Linux内核版本
Linux是一个一体化内核(monolithic kernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统。
Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
1.0版本有176,250字符串。此版本的Linux内核只支持单处理器基于i386的计算机系统,可移植性成为一个问题。随后1.2版本(310,950字符串)支持多种计算机架构例如Alpha、SPARC、MIPS处理器。而后的3.0-3.19版本对计算机系统的架构以及系统所支持的功能都做了不同的改进。
6、Linux内核与发行版本的关系
Linux发行版的推动了Linux的应用,而也让更多的人开始关注Linux。一些组织或厂家,将Linux系统的内核与外围实用程序软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本,Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。因此把SUSE、RedHat、Ubuntu、Slackware等直接说成是Linux是不确切的,它们是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的操作系统软件包”。根据GPL准则,这些发行版本虽然都源自一个内核,并且都有自己各自的贡献,但都没有自己的版权。Linux的各个发行版本,都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。每个版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或是不兼容。
原文地址:http://littlehorse.blog.51cto.com/10066209/1627762