公司简介 企业展示 产品展示 新闻中心 企业文化 企业容貌 办公环境 联系我们
返回首页
当前位置: 首页 > 企业展示

转]linux 的产生和发展(非常详细的历史)

时间:2019-01-14 15:57:23来源:本站 作者: 点击:
  一、简单的说: 一个名叫Linus Torvalds 的芬兰大学生想要了解Intel的新CPU386

  一、简单的说: 一个名叫Linus Torvalds 的芬兰大学生想要了解Intel的新CPU386。他认为比较好的学习方法是自己编写一个操作系统的内核。出于这种目的,加上他对当时Unix 变种版本(即Minix)对于80386类机器的脆弱支持十分不满,他决定要开发出一个全功能的、支持POSIX标准的、类Unix的操作系统内核,该系统吸收了BSD和System V的优点,同时摒弃了它们的缺点。Linus独立把这个内核开发到0.02 版,这个版本已经可以运行gcc、bash 和很少的一些应用程序。这些就是他开始的全部工作了。后来,他又开始在因特网上寻求广泛的帮助。

  Linux 操作系统是UNIX 操作系统的一个克隆版本。UNIX 操作系统是美国贝尔实验室的Ken.Thompson和Dennis Ritchie 于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统。Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,于是在1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,在一个月内开发出了UNIX 操作系统的原型。当时使用的是BCPL 语言(基本组合编程语言),后经Dennis Ritchie 于1972 年用移植性很强的C语言进行了改写,使得UNIX 系统在大专院校得到了推广。

  MINIX 系统是由Andrew S. Tanenbaum(AST)开发的。AST 是在荷兰Amsterdam 的Vrije 大学数学与计算机科学系统工作,是ACM 和IEEE 的资深会员(全世界也只有很少人是两会的资深会员)。MINIX 是他1987 年编制的,主要用于学生学习操作系统原理。到1991 年时版本是1.5。目前主要有两个版本在使用:1.5 版和2.0 版。当然目前MINIX 系统已经是免费的,可以从许多FTP 上下载。

  对于Linux 系统,他后来曾表示对其开发者Linus的称赞。但他认为Linux的发展很大原因是由于他为了保持MINIX 的小型化,能让学生在一个学期内就能学完,因而没有接纳全世界许多人对MINIX的扩展要求。因此在这样的前提下激发了Linus 编写Linux 系统。当然Linus 也正好抓住了这个好时机。

  作为一个操作系统,MINIX 并不是优秀者,但它同时提供了用C 语言和汇编语言编写的系统源代码。这是第一次使得有抱负的程序员或hacker 能够阅读操作系统的源代码。在当时,这种源代码是软件商们一直小心守护着的秘密。

  软件产业在70年代成就了两位针锋相对的领袖人物,来自哈佛大学的比尔·盖茨和Richard M.Stallman。前者宣布了Copyright(版权)时代的到来,并构建了微软帝国的辉煌;后者于1984年创立自由软件体系GNU,拟定普遍公用版权协议(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议。

  所有GPL协议下的自由软件都遵循着Richard M. Stallman的”Copyleft”(非版权)原则:即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。

  各种使用Linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作”Linux”,但是Stallman 认为,严格地说,它们应该被称为GNU/Linux系统。

  到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。

  在90 年代初,POSIX 标准的制定正处在最后投票敲定的时候,那是1991-1993 年间。此时正是Linux刚刚起步的时候,这个UNIX 标准为Linux 提供了极为重要的信息,使得Linux 能够在标准的指导下进行开发,并能够与绝大多数UNIX 操作系统兼容。在最初的Linux 内核源代码中(0.01 版、0.11 版)就已经为Linux 系统与POSIX 标准的兼容做好了准备工作。在Linux 0.01 版内核的/include/unistd.h 文件中就已经定义了几个有关POSXI 标准要求的符号常数,而且Linus 在注释中已写道:“OK,这也许是个玩笑,但我正在着手研究它呢”。

  在1981 年,IBM 公司推出了享誉全球的微型计算机IBM PC。在1981-1991 年间,MS-DOS 操作系统 一直是微型计算机操作系统的主宰。此时计算机硬件价格虽然逐年下降,但软件价格仍然居高不下 【a】。

  当时Apple 的MACs 操作系统可以说是性能最好的,但是其天价使得没人能够轻易靠近 【b】。

  当时的另一个计算机技术阵营就是UNIX 世界。但是UNIX 操作系统就不仅是价格昂贵的问题 了。为了寻求高利润率,UNIX 经销商们把价格抬得极高,PC 小用户根本不能靠近它。曾经一度收到Bell Labs许可而能在大学中用于教学的UNIX 源代码也一直被小心地守卫着不许公开 【c】。

  正在此时,出现了MINIX 操作系统 【d】,并且有一本描述其设计实现原理的书 同时发行。由于AST的这本书写的非常详细,并且叙述得有条有理,于是几乎全世界的计算机爱好者都开始看这本书,以期能理解操作系统的工作原理。 其中也包括Linux 系统的创始者Linus Benedict Torvalds。当时(1991 年),Linus Benedict Torvalds 是赫尔辛基大学计算机科学系的二年级学生,也是一个自学的计算机hacker。这个21岁的芬兰年轻人喜欢鼓捣他的计算机,测试计算机的性能和限制。但当时他所缺乏的就是一个专业级的操作系统。 在同一年间,GNU 计划已经开发出了许多工具软件。其中最受期盼的GNU C 编译器已经出现,但还没有开发出免费的GNU 操作系统。 即使是教学使用的MINIX 操作系统也开始有了版权,需要购买才能得到源代码。虽然GNU 的操作系统HURD一直在开发之中【e】,但在当时看来不能在几年内完成。

  为了能更好地学习计算机知识(或许也只是为了兴趣),Linus 使用圣诞节的压岁钱和贷款购买了一台386 兼容电脑 ,并从美国邮购了一套MINIX 系统软件 。就在等待MINIX 软件期间,Linus 认真学习了有关Intel 80386 的硬件知识。为了能通过Modem 拨号连接到学校的主机上,他使用汇编语言并利用80386 CPU的多任务特性编制出一个终端仿真程序。此后为了将自己一台老式电脑上的软件复制到新电脑上,他还为软盘驱动器、键盘等硬件设备编制出相应的驱动程序。(他编写了一些os相关的程序)

  通过编程实践,并在学习过程中认识到MINIX 系统的诸多限制(MINIX 虽然很好,但只是一个用于教学目的简单操作系统,而不是一个强有力的实用操作系统),而且通过上述实践Linus 已经有了一些类似于操作系统硬件设备驱动程序的代码,于是他开始有了编制一个新操作系统的想法。(一个影响深远的想法诞生了)

  从1991年4月份起(let take this time as thestart),他通过修改终端仿真程序和硬件驱动程序,开始编制起自己的操作系统来。开始,他的目的很简单,只是为了学习Intel 386 体系结构保护模式运行方式下的编程技术。但后来Linux发展却完全改变了初衷。(起始的时间)

  根据Linus 在comp.os.minix 新闻组上发布的消息,我们可以知道他逐步从学MINIX 系统阶段发展到开发自己的Linux 系统的过程。(具体了解的来源)

  Linus第1次向comp.os.minix 投递消息是在1991年3月29日。所发帖子的题目是“gcc on minix-386doesn’t optimize”,是有关gcc 编译器在MINIX-386 系统上运行优化的问题(由此可知,Linus在1991 年初期就已经开始深入究了MINIX 系统,并在这段时间有了改进MINIX 操作系统的思想。在进一步学习MINIX 系统之后,这个想法逐步演变成想重新设计一个基于Intel 80386 体系结构的新操作系统的构思。(思想的转变)

  他在回答有人提出MINIX 上的一个问题时,所说的第一句话就是“阅读源代码”(“RTFSC (Read the F**ing Source Code :-)”)。他认为答案就在源程序中。这也说明了对于学习系统软件来说,我们不光需要懂得系统的工作基本原理,还需要结合实际系统,学习实际系统的实现方法。因为理论毕竟是理论,其中省略了许多枝节,而这些枝节问题虽然没有太多的理论含量,但却是一个系统必要的组成部分,就象麻雀身上的一根羽毛。(实践的重要意义)

  第一个与Linux 有关的消息是在1991 年7 月3日 在comp.os.minix 上发布的(当然,那时还不存在Linux 这个名称,当时Linus 脑子里想的名称可能是FREAX,FREAX 的英文含义是怪诞的、怪物、异想天开等)。其中透露了他正在进行Linux 系统的开发,并且已经想到要实现与POSIX 兼容的问题了。

  在Linus 另一个发布的消息中(1991 年8 月25日 comp.os.minix),他向所有MINIX 用户询问“Whatwould you like to see in minix?”(“你最想在MINIX系统中见到什么?”),在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统,并且说只是兴趣而已,代码不会很大,也不会象GNU 的那样专业。希望大家反馈一些对于MINIX 系统中喜欢哪些特色不喜欢什么等信息,并且说明由于实际和其它一些原因,新开发的系统刚开始MINIX 很象(并且使用了MINIX的文件系统)。并且已经成功地将bash(1.08版)和gcc(1.40 版)移植到了新系统上,而且在过几个月就可以实用了。最后,Linus 申明他开发的操作系统没有使用一行MINIX 的源代码;而且由于使用了386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。对于Linux 的移植性问题,Linus当时并没有考虑。但是目前Linux 几乎可以运行在任何一种硬件体系结构上。

  到了1991 年的10 月5 日 ,Linus 在comp.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux 的诞生宣言,并且一直广为流传。因此10 月5 日对Linux社区来说是一个特殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。所以RedHat 公司选择这个日子发布它的新系统也不是偶然的。(产生的时间)

  操作系统介绍       内核负责控制硬件资源分配,而如果只有内核,则只能让计算机硬件运行,而不能有任何功能,因此需要系统调用提供给开发者使用,从而开发应用程序;内核能够控制硬件,比如:让CPU可...来自:知行流浪

  简述Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生林Linus Torvalds和后来陆续加入的众多爱好者共同开发完成。Linux是...来自:欢迎关注微信公众号:高效程序员

  Linux是一套开源的操作系统,于1991年10月5日正式对外发布。它继承了Unix以网络为核心思想,是一个性能稳定的多用户网络操作系统。...来自:zhouyudaxian的博客

  提起linux就不得不说Unix操作系统,Unix的开发是在1969年由贝尔实验室的Ken Thompson利用实验室一台闲置的PDP-7计算机开发的多用户、多任务操作系统。在Unix项目开始不久De...来自:俞兆鹏的博客

  要说清楚Linux的历史,首先得说说Unix。 Unix操作系统的历史漫长而曲折,它的第一个版本是1969年由Ken Thompson在AT&T贝尔实验室实现的,运行在一台...来自:Gavin

  GNU是自由软件之父 Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一份通用公共许可证(General Public License,简称GPL)。...来自:奔跑的蜗牛

  简述 Linux是一种自由和开放源代码的类UNIX操作系统。该操作系统的内核由Linus Torvalds在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。Lin...来自:ITWish_亮的CSDN博客

  Multics计划 上个世纪六十年代,那个计算机还没有很普及,只有少数人才能使用,而且当时的计算机系统都是批处理的,就是把一批任务一次性提交给计算机,然后就等待结果。并且中途不能和计算机交互...来自:麦田的绿博客

  众所周知LINUX系统非常流行,但LINUX的发展历程及应用却鲜为人知。今天来简单描述一下linux的发展史。 unix的发展是1969年Ken Thompson为了在终端上运行‘星际旅行’游戏而开...来自:XiaoqiangNan的博客

  任务一      查找Linux系统的基本概况第一步:通过搜索引擎搜索关键字,如图:第二步:在网上搜索到之后,进入阅读,了解Linux操作系统,如图: 其中主要介绍了Linux的基本信息,诞生过程,文...来自:cc_的博客

  任务一   查找Linux系统的基本概况第 1 步  通过搜索引擎搜索“Linux”第 2 步 收集整理搜索到的网页通过利用百度等相关搜索引擎,...来自:yd16_的博客

  任务一   查找Linux的基本概况首先,我们对UNIX进行一定的了解:UNIX操作系统(UNIX),是美国ATamp;T公司1971年在PDP-11上运行的操作系统。具有多用户、多任务的特...来自:tx16_的博客

  任务一   查找Linux系统的基本概况第 1 步  通过搜索引擎搜索“Linux”第 2 步 收集整理搜索到的网页通过利用百度等相关搜索引擎,阅...来自:的博客

  Linux面试((二) 一、Linux操作系统知识 1.常见的Linux发行版本都有什么?你最擅长哪一个?它的官网网站是什么?说明你擅长哪一块? 答:RHEL、CentOS、乌班图、...来自:ycl146的博客

  一、Linux 为何物Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Max OS ,至于操作系统是什么,就不用过多解释了,如果你学习过前面的入门课程,应该会有个...来自:JiYF笨男孩

  第一步:通过百度搜索引擎搜索“linux”unix“linxu操作系统”第二步:收集整理搜索到网页       Linux操作系统,是一种计算机操作系统,中文读...来自:的博客

  众所皆知的,Linux的核心原型是1991年由托瓦兹(Linus Torvalds)写出来的,但是托瓦兹为何可以写出Linux这个操作系统? 为什么他要选择386的计算机来开发?为什么Linux的发展...来自:mybluetiankong的专栏

  1.面向终端的计算机网络 时间:20世纪50年代初 以单个计算机为中心的远程联机系统,构成面向终端的计算机网络 由一台中央主计算机连接大量的地理上处于分散位置的终端。这类简单的“终端——通信线...来自:叶叶

  XML全称EXtensible Markup Language,翻译为可扩展置标语言,可扩展标记语言或可延伸标示语言,是一种置标语言。置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包...来自:TERRY的技术日志

  关系型数据库应用于海量数据时暴露的问题: 高效的数据处理高效的并行化可扩展性成本 RDBMS构建的先决条件: 数据的结构已经明确定义数据是致密的,并且很大程度上是一致的 即数据的属...来自:我的小窝

  根据世界数学发展史记载,矩阵概念产生于19世纪50年代,是为了解线性方 程组的需要而产生的。 然而,在公元前我国就已经有了矩阵的萌芽。在我国的《九章算术》一书中 已经有所描述,只是没有将它作为一...来自:痞子龙3D编程

  Hive入门文章,将从Hive的产生背景、概述、发展历程、架构、与RDBMS的对比、部署及操作简单入门讲起。...来自:呼呼的小窝

  Linux是一个自由的,免费的,源码开放的操作系统。也是开源软件中最著名的例子。其最主要的目的就是为了建立不受任何商品化软件版权制约的,全世界都能使用的类Unix兼容产品.而我们将服务器部署在Linu...来自:好儿郎~志在四方

  基本概念 Linux系统是UNIX的一种版本,它开始于1991年,当时是一名学生编写的,当时的Linux内核很小但是完整可以运行在80386处理器上 Linux的历史是来自世界各地的许多使用...来自:ZCMUCZX的博客

  GNU与Linux的成长 GNU是自由软件之父 Richard Stallman在1984年组织开发的一个完全基于自由软件的软件体系,与此相应的有一分通用公共许可证(General Public L...来自:席伟娜的专栏

  首先说明本帖是转的,旨在让大家了解科技界的一些故事,每一种科技的进步都伴随开发者们不懈的努力! Unix是目前还在存活的操作系统的元老了,走过了40年的历程。由它引发的思想变革,对当今计算机文化...来自:越努力,越幸运

  人脸检测和识别 源代码 下载-opencv3+python3.6完整实战项目源代码 识别视频《欢乐颂》中人物06-12

顶一下
0%
返回首页
0
0%
------分隔线----------------------------
推荐内容