1.1969年以前:一个伟大的梦想—Bell,MIT与GE的“Multics”系统

由于早期的计算机不想现在这样普遍,所以往往出现这样的情况,主机只有一台而多人等待使用。好在20世纪60年代初期的麻省理工学院MIT开发了分时操作系统(Compatible Time-Sharing System,CTSS)解决这一问题。为了加强主机的功能,为了让主机的资源可以提供更多用户使用,所以在1965年前后Bell,MIT与GE提出了“Multics”项目,项目的目标是大型主机可以同时提供300台以上的终端机使用。

2.1969年:Ken Thompson使用汇编语言写出了UNIX的原型—Unics系统

3.1973年:Thompson与Ritchie合作用C语言重新编写Unics写出第一个正式的UNIX内核

汇编语言对硬件具有专一性,所以移植起来不方便,所以改用更高级的语言来编写

4.1979年:System V架构的诞生与版权声明

System V支持了x86架构的个人计算机系统,同时AT&T想回收UNIX的版权所以在这版UNIX推出后,特别提出不可以对学生提供源码的限制,引发了很多的商业纠纷

5.1984年:x86系统的Minix操作系统诞生以及GNU项目

由于AT&T公司的版权限制,谭宁邦教授为教学需求开发出Minix操作系统,但是因为主要用在教育上所以Minix没有的到很好地开发,但是Linux的创建者就参考了该操作系统的设计思想。

1984年,史托曼开始了GNU(GNU's Not UNIX的缩写)项目,这个项目的目标是创建一个自由开放的UNIX操作系统,虽然这个目标没有实现但是该项目开发了很多重要的软件:

  • Emacs(文本编辑器)
  • GNU C(GCC C语言编译器)
  • GNU C Library(C函数库)
  • Bash shell

托瓦兹就是利用这些优秀的开源的自由软件开发出Linux内核的。

通用公共许可证GPL(General Public Licence) 是GNU为了防止开发出来的自由软件被其他人利用成为专利软件的协议。具有GPL许可证的自由软件具有以下特性:

  • 取得软件与源码
  • 复制
  • 修改
  • 再发行:但是你不能将一个GPL授权自由软件在你修改后将它取消GPL授权

现在的Linux开发商为什么可以销售Linux这个GPL授权的软件?因为他们主要销售是售后服务,例如:相关的手册说明,软件升级与数年咨询等等。

6.1994年在托瓦兹和网上众多志愿者努力下终于完成了Linux内核的正式版本Version 1.0

注意:次版本为奇数:开发中版本,这种内核主要用于测试和开发新版本 例如:2.5.*;次版本为偶数:稳定版本 例如:2.6.*

此文参考《鸟哥的Linux私房菜基础学习篇》,主要是记录学习过程之用。

Linux学习之路—Linux的历史发展的更多相关文章

  1. Linux学习之路—Linux目录配置

    所有内容来自鸟哥私房菜 FHS标准的重点在于规范每个特定的目录下应该要放置什么样子的数据而已.事实上,FHS针对目录树架构仅仅定义三层目录下面应该放置什么数据,分别是: /(root,根目录):与开机 ...

  2. Linux学习之路—Linux文件权限

    内容来源于鸟哥私房菜 1.Linux文件属性 1)第一列为文件类型与权限 第一个字符表示文件的类型: [d]表示目录 [-]表示文件 [l]表示连接文件 [b]表示设备文件中可供存储的接口设备,例如硬 ...

  3. Linux学习之路—Linux文件与目录管理

    该内容来自鸟哥私房菜 1.目录的相关操作 1.1 特殊的目录 .  代表此层目录 .. 代表上一层目录 -  代表前一个工作目录 ~ 代表"目前用户身份"所在的主文件夹 ~acco ...

  4. Linux学习之路-Linux-at及cron命令【7】---20171215

    Linux学习之路-Linux-at及cron命令[7]---20171215 DannyExia000人评论986人阅读2017-12-24 17:28:03   ntpdate 命令 [root@ ...

  5. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  6. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  7. Linux学习心得之 Linux下ant安装与使用

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...

  8. linux学习书籍推荐linux学习书籍推荐

    引用地址:http://www.cnblogs.com/notepi/archive/2013/06/15/3137103.html Linux 学习书目推荐 Linux基础 1.<Linux与 ...

  9. linux 学习之路

    很多同学接触Linux不多,对Linux平台的开发更是一无所知. 而现在的趋势越来越表明,作为一个优秀的软件开发人员,或计算机IT行业从业人员, 掌握Linux是一种很重要的谋生资源与手段. 下来我将 ...

随机推荐

  1. LeetCode Spiral Matrix

    class Solution { public: vector<int> spiralOrder(vector<vector<int> > &matrix) ...

  2. 使用 Eclipse PhoneGap 构建 Android 应用程序入门

    Eclipse 是一种支持多种技术的开源集成开发环境 (IDE),但本文重点介绍 Java 支持,这也是 Android 应用程序的“母语”.Android 是 Google 发布的开源移动操作系统. ...

  3. JAVA类和对象课后作业

    1.使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询"你已经创建了多少个对象?" 代码: //显示类 //YiMingLai 2 ...

  4. C#之委托

    委托是C#中非常重要的一个概念,并在C#中得到了丰富的应用,如事件,线程等.那什么是委托呢?具体来说,委托是一种引用方法的类型.一旦为委托分配了方法,委托将与该方法具有完全相同的行为.委托方法的使用可 ...

  5. Bootstrap<基础十五> 输入框组

    Bootstrap 支持的另一个特性,输入框组.输入框组扩展自 表单控件.使用输入框组,可以很容易地向基于文本的输入框添加作为前缀和后缀的文本或按钮. 通过向输入域添加前缀和后缀的内容,您可以向用户输 ...

  6. 在Ubuntu环境把PPT和Word转换为swf文件

    项目需要一个在线浏览文档的功能,于是参照网上的代码写了一份利用Microsoft Office 2010和swftools-2013-04-09-1007.exe转换的程序 思路:调用电脑本机的off ...

  7. CDH5.4.5运行Phoenix导入CSV文件

    1.安装phoenix 在界面上设置Phoenix的parcel包: http://52.11.56.155:7180/cmf/settings?groupKey=config.scm.parcel. ...

  8. JavaScript贷款计算器

    今天花了两个小时模仿书上代码用JS制作了JavaScript贷款计算器,时间有些长,但相比以前,自己细心了不少,每天进步一点点,量的积累达到质的飞跃 <!doctype html>< ...

  9. Titanium studio安装

    在Win7 Titanium Studio的安装过程. 1.准备工作 Titanium存储空间的要求,Titanium Studio 需要1 GB.Android SDK需要1.5 GB.Blackb ...

  10. what we do and how we behave

    It comes after a report last week revealed the "brutal" treatment of terror suspects by th ...