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. Struts2_三种传参数方法

    1.通过属性传参数(Attr)UserAction.java package com.bebig.struts2.user.action;import com.opensymphony.xwork2. ...

  2. 【Linux】【通信】1.ping不通

    关于为什么ping不通有很多种原因,但直接的表象就网络之间没有成功进行通讯: 在构建虚拟机和win之间的交互时,主要使用了3种网络模式: 桥接bridge VMnet0 主机host     VMne ...

  3. javap反编译解释外部类直接使用内部类private字段的原理

    2016-07-04 15:56:39 我们都知道: 1.内部类可以直接访问外部类的private字段和方法: 2.非静态内部类持有外部类的引用: 3.外部类可以直接访问内部类的private字段和方 ...

  4. callback res.end 记得return(Javascript需要养成的良好习惯)

    错误示例: app.get('do',function(req,res,next){ getUserId(function(err,userId){ if(err){ res.end(err);//错 ...

  5. IE关闭兼容性视图

    不知道什么时候,ie8的“兼容性视图设置”变成了灰色,如图:  今天通过设置组策略,终以解决了这个问题: ie8的兼容性视图设置灰色的解决办法:运行gpedit.msc--用户配置/计算机配置--管理 ...

  6. flume从kafka中读取数据

    a1.sources = r1 a1.sinks = k1 a1.channels = c1 #使用内置kafka source a1.sources.r1.type = org.apache.flu ...

  7. Java特性-HashMap

    想分享一个对HashMap的理解: 我们首先要知道一个HashMap对象的构成,一般的理解是:一个Map里面放了很多个键值对,合在一起就是一个键值对的数组: 大概这么理解没问题,可是有一点要说明一下, ...

  8. java基础之 GC

    Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题.以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象, ...

  9. 课程笔记:——javascript中的预解释2

    in:检测某一个属性是否属于这个对象(既可以检测私有的属性,也可以检测公有的属性) --> attr in obj 1.不管条件是否成立,在预解释的时候,判断体中的带var和function的都 ...

  10. what we do and how we behave

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