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. 常用doc命令

    1.查看ip:ipconfig    2.ping命令 -t 就会一直ping,使用Ctrl+c退出   3.查看路由:route print   4.如何查看端口号被占用:netstat -aon| ...

  2. iocp 小例子

    2016-08-3116:44:09 server 端 /******************************************************************* aut ...

  3. winform学习笔记-文档路径

    获取应用程序路径 //获取当前进程的完整路径,包含文件名(进程名).string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\x ...

  4. Game02 最新版本2.0.0

    Game02发布转站于此,欢迎大家下载.... 简介: Game02是由ImGenius开发的一款即时在线小游戏.玩法简单,易于上手,主要靠技术,不会出现不要脸的充值等内容. 操控方法:W和A左右移动 ...

  5. python学习——如何判断输入是数字

    笨办法学python第35节 该节主要是讲分支与函数,主要遇到的问题是python中如何判断输入是数字. 首先原代码如下: from sys import exit def gold_room(): ...

  6. 关于springMVC3.0基于注解方式的项目搭建

    前言:开发了几个月的AS3项目,感觉JAVA都用不太熟练了.刚好这几个抽的空,就把自己以前用过的Spring框架再搭一边, 并完整的记录下来 开发环境:tomcat + mysql+ java 1.所 ...

  7. 翻转和翻页效果TextFile的几种自定义例子

    前一篇文章,已经介绍了BMR的基础用法,再结合Spark和Scala的文档,我想应该是可以开始你的数据分析之路的.这一篇文章,着重进行一些简单的思路上的引导和分析.如果你分析招聘数据时,卡在了某个环节 ...

  8. css文本换行相关属性及解释

    本文摘自 http://www.wufangbo.com/css-qiang-zhi-huan-hang/ 强制换行与强制不换行用到的属性 我们一般控制换行所用到的CSS属性一共有三个:word-wr ...

  9. 【初级】linux mkdir 命令详解及使用方法实战

    mkdir命令详解及使用方法实战 名称 MKDIR 是 make directories 的缩写 使用方法 mkdir [选项(如-p)] ...目录名称(及子目录注意用分隔符隔开)...    如使 ...

  10. Git版本库

    创建版本库:git init db 只要用git init db 就可以很容易创建一个空的Git版本库. Git版本库创建好之后,在版本库的目录下有一个.git的子目录中有几项内容,其中注意三项: 1 ...