
正文
Linux(一) - Unix&Linux 历史
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
UnixUnix 的诞生
- Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT&T,贝尔实验室和通用电气公司联合开发了一种名为Multics的操作系统,Multics 中存在许多创新,但也有很多问题
- 1969年,贝尔实验室的 Ken Thompson 开发了Unix系统的原型(分层文件系统、计算机过程概念、命令行解释器等)
- 1969 年~1973 年,Dennis Ritchie 发明了 C 语言
- 1973 年,使用C 重新编写 UNIX 内核
- 1974 年,Unix 正式对外发布
- 1976年,Bill Joy 开发了 Vi 编辑器
- 1977年,Bill Joy 装配了第一版带有伯克利软件套件(Berkley Software Distribution,BSD )的 Unix 系统
- 1978年,Bill Joy 开发了 C-Shell、2BSD
- 1979年,AT&T 公司发布了商业版的 Unix —— System III
- 1982年,Bill Joy 联合创立了 Sun 公司
- 1983年,AT&T 公司为了结束各个版本间的混淆,发布了System V Release 1
AT&T要求使用 Unix 系统必须要购买许可证,其迅速将Unix System V商业化的行为几乎杀死了Unix
由于UNIX 的商业化,BSD Unix 常常作为UNIX System III和V的替代品
BSD 的主要贡献是向Unix 内核中添加 TCP/IP 网络代码
Unix 战争
AT&T要求使用 Unix 系统必须要购买许可证,其迅速将Unix System V商业化的行为几乎杀死了Unix
由于UNIX 的商业化,BSD Unix 常常作为UNIX System III和V的替代品
BSD 的主要贡献是向Unix 内核中添加 TCP/IP 网络代码
20世纪80年代,市面上存在着多种Unix 实现,大部分是 AT&T 和 BSD 基础系统的扩展,所有这些都来自AT&T 的 Research Unix,但又各有不同,发生在供应商之间的标准 Unix 之争被称为 Unix 战争,详情参考 Unix wars - Wikipedia
战争是有结果的,最终 IEEE 最早提出的 POSIX(Portable Operating System Interface)成为统一的标准,成为所有操作系统的共同基线。
GUI 的发展
图形用户界面(Graphical User Interface,GUI)主要是指允许用户使用键盘、指点设备(鼠标、轨迹球、触摸板等)操纵的显示器和与计算机进行交互的程序。
- 1981年,X Window 最早诞生于斯坦福大学分布式系统小组
- 1984年,MIT、IBM 和 DEC 联合制定了 Athena 计划,创建了一个具体厂商无关且适合于网络的图形界面 X Window
- 1984年6月,发行了 X Windows 的第一版 X1
- 1985年底,发行了 X Window 的第一个流行版本 X10
- 在 Unix 战争期间,GUI 同样是标准之争的一部分
- 1992年,出现了基于 x86架构的 XFree86,Linux 也在使用它
- 2004年,X Window 开始由 X.org 小组负责, XFree86 因为许可证问题也由 X.org 管理
- 2005年12月21日,X Window 发布了 X11R7
开源运动1976年 Richard Stallman 开发了第一个可操作的 Emacs 编辑器系统
1981年,Java 语言的发明者 James Gosling 开发了 Gosling Emacs,这是 Gnu Emacs 的前身
- 1983年9月27日,Richard Stallman 公开发起了 GNU 计划,目标是创建一套完全自由的OS
- 具体来说,GNU 将是一个类 Unix 系统
- 所有 GNU 软件都要求包含通用公共许可证 (General Public License, GPL)
- 1985年,Richard Stallman 创建了自由软件基金会(Free Software Foundation,FSF)来为 GNU 提供技术支持
- 1987年,受 AT&T 版 Unix 代码闭源影响,Andrew Tanenbaum 发行了 x86 架构的 Minix(使用了微内核设计)用于教学使用
1990年,FSF 已经开发了 Emacs 编辑器、 GCC、g++、gdb等重要工具,但其内核 HURD 的开发仍未完成
如前文所写,在此期间主流系统为 BSD 和 System V
因版权原因使用 BSD 也要从 AT&T 购买许可证,所以伯克利程序员自一直致力于开发一个完全独立的 BSD 版本
FSF 已经完成了除了内核以外所有 Unix 系统的重要组件,GNU 系统还需要更多时间
Linux 的诞生天选之人
- 1991年8月25日,Linus Torvalds 发布了针对其新内核的帖子
- 1991年9月,Linus Torvalds 发布了内核的第一个版本 Linux(使用了单内核设计)
- 最早基于 Minix,后来转向 GNU,兼容所有 GNU 软件,使用 GPL
- 1992年,Bill Jolitz 完成了完全独立版本的BSD——>386/BSD(说明也仅支持 x86架构)成为后来的FreeBSD
- 继而衍生出了可以移植到多种计算机的 NetBSD 和关注安全和密码学的 OpenBSD
- 使用的 BSD协议比 GPL协议更加宽松,鼓励分享性较差
之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统
1993年,第一个基于Linux内核的 Linux发行版 Slackware
一个Linux发行版包括Linux内核,以及将整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件
1994年3月,Linux1.0版正式发布,Marc Ewing成立Red Hat软件公司,成为最著名的Linux经销商之一
后来又产生了大量 Linux 发行版(Debian、Ubuntu、Fedora 等),Linux 世界开始蓬勃发展
BSD
GNU计划自己的内核Hurd依然在开发中,但直到2013年为止,都还没有稳定版本发布
2000年,Apple发布了一个Unix系统Darwin
KDE 和 Gnome
- 1996年,Matthias Ettrich 对 Unix GUI 现状感到不满(程序的外观、工作方式都不一样),启动了项目 Kool Desktop Environment(KDE)
- 基于 Qt,但许可证不够自由,激发了 Gnome 的产生
- 窗口管理器 kwm
- Konsole
- 1997年8月,创建了基于 GNU GPL 的 Linux GUI Gnome
- 基于 GTK+
- 窗口管理器 Metacity
1999年,Gnome 和 KDE 成为流行的、设计良好的 Linux 桌面环境。
20世纪90年代,CDE 成为商业 Unix 系统 GUI 的选择
起源于1996年的 Xfce 现今也是流行的 Linux GUI 之一
Linux(一) - Unix&Linux 历史的更多相关文章- Linux vs Unix - Linux与Unix到底有什么不同?
来自:Linux迷链接:https://www.linuxmi.com/linux-vs-unix.html Linux和Unix这两个术语可以互换地用来指同一操作系统.这在很大程度上是由于他们惊人的 ...
- Linux(二) - Unix&;Linux 基本概念
主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程.引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel) ...
- 【Linux】unix/Linux常用命令英文全称
英文全称解释更容易理解 知其然,更要知其所以然 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Print working directory 显示当前工作路径. su ...
- linux入门--Linux和UNIX的关系及区别
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
- 1.3 Linux和UNIX的关系及区别(详解版)
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
- Linux(一)—— Unix&;Linux 历史
Linux(一)-- Unix&Linux 历史 Unix =Unix内核+Unix实用工具 Unix Unix 的诞生 Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT& ...
- 《Unix&;Linux大学教程》学习笔记一:历史与常识
“为什么说Unix/Linux是自由的: 因为我们可以自己组装一个操作系统:Unix/Linux内核+其他实用工具+编程工具+GUI 因为我们可以自由地获取开源工作者 ...
- 28个Unix/Linux的命令行神器_转
28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...
- 28个Unix/Linux的命令行神器
下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道 ...
随机推荐- iOS 在类别里添加成员变量的方法:objc_setAssociatedObject
今天在github上查看MJPopupViewController这个项目,发现里面用到了objc_setAssociatedObject,用来为类别添加成员变量. 我百度之后,发现有人是这样说明的: ...
- jQuery ajax同步的替换方法,使用 $.Deferred()对象
function aa() { var defer = $.Deferred(); $.ajax({ url: "/Handler1.ashx", type: "post ...
- html插入视频
http://www.jb51.net/web/168548.html http://www.w3school.com.cn/html/html_media.asp
- 3.SQL*Plus命令
3.1SQL*Plus与数据库的交互 主要用来数据库查询和数据处理的工具. 3.2SQL*Plus运行环境设置 3.2.1SET命令概述 用户可以使用SET命令设置SQL*Plus的运行环境,SET命 ...
- javascript full screen 全屏显示 页面元素
javascript full screen 全屏显示 页面元素 要想让页面的某个元素全屏显示,就像在网页上看视频的时候,可以全屏观看一样,该怎么实现呢? 一种最简单的方式,就是动态改变你想要全屏显示 ...
- Error creating bean with name
最近在学一个东西,要使用SSM新建一个案例,是这样滴,我有如下 DeptDAO DeptService DeptServiceImpl DeptController Dept Mybatis 首先,我 ...
- 微信小程序外包 就找北京动软 专业承接微信小程序定制
很多人问为什么要开发微信小程序,微信小程序的“入口”在哪儿? 1.只有访问过的小程序,才会出现所谓的「入口」. 所有访问过得小程序都可以从微信首屏下面的「发现」点过去.(必须是最新版微信) 这个所谓的 ...
- (14)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第二部分
引言 程序截图: 这篇教程是<如何使用Cocos2d-x 3.0制作基于tilemap的游戏>的第二部分.在上一个教程中,我们创建了一个简单的基于tiled地图的游戏,里面有一个忍者在沙漠 ...
- 异步和等待(async和await)
在.Net 4.5中,通过async和await两个关键字,引入了一种新的基于任务的异步编程模型(TAP).在这种方式下,可以通过类似同步方式编写异步代码,极大简化了异步编程模型.如下式一个简单的实例 ...
- vim多行注释与取消
神操作 在vim中编写代码,常常会遇到多行注释和取消注释的情况,在VS中我们可以用默认的快捷键或者在设置中自定义快捷键来解决这个问题. vim既然这么强大,必然也是有快捷键来完成的.下面给出具体步骤: ...
1976年 Richard Stallman 开发了第一个可操作的 Emacs 编辑器系统
1981年,Java 语言的发明者 James Gosling 开发了 Gosling Emacs,这是 Gnu Emacs 的前身
- 具体来说,GNU 将是一个类 Unix 系统
- 所有 GNU 软件都要求包含通用公共许可证 (General Public License, GPL)
1990年,FSF 已经开发了 Emacs 编辑器、 GCC、g++、gdb等重要工具,但其内核 HURD 的开发仍未完成
如前文所写,在此期间主流系统为 BSD 和 System V
因版权原因使用 BSD 也要从 AT&T 购买许可证,所以伯克利程序员自一直致力于开发一个完全独立的 BSD 版本
FSF 已经完成了除了内核以外所有 Unix 系统的重要组件,GNU 系统还需要更多时间
天选之人
- 1991年8月25日,Linus Torvalds 发布了针对其新内核的帖子
- 1991年9月,Linus Torvalds 发布了内核的第一个版本 Linux(使用了单内核设计)
- 最早基于 Minix,后来转向 GNU,兼容所有 GNU 软件,使用 GPL
- 1992年,Bill Jolitz 完成了完全独立版本的BSD——>386/BSD(说明也仅支持 x86架构)成为后来的FreeBSD
- 继而衍生出了可以移植到多种计算机的 NetBSD 和关注安全和密码学的 OpenBSD
- 使用的 BSD协议比 GPL协议更加宽松,鼓励分享性较差
之后许多开发者致力融合GNU元素到Linux中,做出一个有完整功能的、自由的操作系统
1993年,第一个基于Linux内核的 Linux发行版 Slackware
一个Linux发行版包括Linux内核,以及将整个软件安装到电脑上的一套安装工具,还有各种GNU软件,和其他的一些自由软件,在一些Linux发行版中可能会包含一些专有软件
1994年3月,Linux1.0版正式发布,Marc Ewing成立Red Hat软件公司,成为最著名的Linux经销商之一
后来又产生了大量 Linux 发行版(Debian、Ubuntu、Fedora 等),Linux 世界开始蓬勃发展
BSD
GNU计划自己的内核Hurd依然在开发中,但直到2013年为止,都还没有稳定版本发布
2000年,Apple发布了一个Unix系统Darwin
KDE 和 Gnome
- 1996年,Matthias Ettrich 对 Unix GUI 现状感到不满(程序的外观、工作方式都不一样),启动了项目 Kool Desktop Environment(KDE)
- 基于 Qt,但许可证不够自由,激发了 Gnome 的产生
- 窗口管理器 kwm
- Konsole
- 1997年8月,创建了基于 GNU GPL 的 Linux GUI Gnome
- 基于 GTK+
- 窗口管理器 Metacity
1999年,Gnome 和 KDE 成为流行的、设计良好的 Linux 桌面环境。
20世纪90年代,CDE 成为商业 Unix 系统 GUI 的选择
起源于1996年的 Xfce 现今也是流行的 Linux GUI 之一
Linux(一) - Unix&Linux 历史的更多相关文章- Linux vs Unix - Linux与Unix到底有什么不同?
来自:Linux迷链接:https://www.linuxmi.com/linux-vs-unix.html Linux和Unix这两个术语可以互换地用来指同一操作系统.这在很大程度上是由于他们惊人的 ...
- Linux(二) - Unix&;Linux 基本概念
主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程.引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel) ...
- 【Linux】unix/Linux常用命令英文全称
英文全称解释更容易理解 知其然,更要知其所以然 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Print working directory 显示当前工作路径. su ...
- linux入门--Linux和UNIX的关系及区别
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
- 1.3 Linux和UNIX的关系及区别(详解版)
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
- Linux(一)—— Unix&;Linux 历史
Linux(一)-- Unix&Linux 历史 Unix =Unix内核+Unix实用工具 Unix Unix 的诞生 Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT& ...
- 《Unix&;Linux大学教程》学习笔记一:历史与常识
“为什么说Unix/Linux是自由的: 因为我们可以自己组装一个操作系统:Unix/Linux内核+其他实用工具+编程工具+GUI 因为我们可以自由地获取开源工作者 ...
- 28个Unix/Linux的命令行神器_转
28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...
- 28个Unix/Linux的命令行神器
下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道 ...
随机推荐- iOS 在类别里添加成员变量的方法:objc_setAssociatedObject
今天在github上查看MJPopupViewController这个项目,发现里面用到了objc_setAssociatedObject,用来为类别添加成员变量. 我百度之后,发现有人是这样说明的: ...
- jQuery ajax同步的替换方法,使用 $.Deferred()对象
function aa() { var defer = $.Deferred(); $.ajax({ url: "/Handler1.ashx", type: "post ...
- html插入视频
http://www.jb51.net/web/168548.html http://www.w3school.com.cn/html/html_media.asp
- 3.SQL*Plus命令
3.1SQL*Plus与数据库的交互 主要用来数据库查询和数据处理的工具. 3.2SQL*Plus运行环境设置 3.2.1SET命令概述 用户可以使用SET命令设置SQL*Plus的运行环境,SET命 ...
- javascript full screen 全屏显示 页面元素
javascript full screen 全屏显示 页面元素 要想让页面的某个元素全屏显示,就像在网页上看视频的时候,可以全屏观看一样,该怎么实现呢? 一种最简单的方式,就是动态改变你想要全屏显示 ...
- Error creating bean with name
最近在学一个东西,要使用SSM新建一个案例,是这样滴,我有如下 DeptDAO DeptService DeptServiceImpl DeptController Dept Mybatis 首先,我 ...
- 微信小程序外包 就找北京动软 专业承接微信小程序定制
很多人问为什么要开发微信小程序,微信小程序的“入口”在哪儿? 1.只有访问过的小程序,才会出现所谓的「入口」. 所有访问过得小程序都可以从微信首屏下面的「发现」点过去.(必须是最新版微信) 这个所谓的 ...
- (14)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第二部分
引言 程序截图: 这篇教程是<如何使用Cocos2d-x 3.0制作基于tilemap的游戏>的第二部分.在上一个教程中,我们创建了一个简单的基于tiled地图的游戏,里面有一个忍者在沙漠 ...
- 异步和等待(async和await)
在.Net 4.5中,通过async和await两个关键字,引入了一种新的基于任务的异步编程模型(TAP).在这种方式下,可以通过类似同步方式编写异步代码,极大简化了异步编程模型.如下式一个简单的实例 ...
- vim多行注释与取消
神操作 在vim中编写代码,常常会遇到多行注释和取消注释的情况,在VS中我们可以用默认的快捷键或者在设置中自定义快捷键来解决这个问题. vim既然这么强大,必然也是有快捷键来完成的.下面给出具体步骤: ...
来自:Linux迷链接:https://www.linuxmi.com/linux-vs-unix.html Linux和Unix这两个术语可以互换地用来指同一操作系统.这在很大程度上是由于他们惊人的 ...
主机 = 内核 + 实用工具 内核(kernel) 当计算机启动时,计算机要经历一系列动作,这些动作构成了引导过程.引导过程的最后一个动作是启动一个非常复杂的程序,该程序就被称为内核(Kernel) ...
英文全称解释更容易理解 知其然,更要知其所以然 man: Manual 意思是手册,可以用这个命令查询其他命令的用法. pwd:Print working directory 显示当前工作路径. su ...
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞 ...
Linux(一)-- Unix&Linux 历史 Unix =Unix内核+Unix实用工具 Unix Unix 的诞生 Unix的历史可以追溯到20世纪60年代中期,当时麻省理工学院,AT& ...
“为什么说Unix/Linux是自由的: 因为我们可以自己组装一个操作系统:Unix/Linux内核+其他实用工具+编程工具+GUI 因为我们可以自由地获取开源工作者 ...
28个Unix/Linux的命令行神器 下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具,有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具 ...
下面是Kristóf Kovács收集的28个Unix/Linux下的28个命令行下的工具(原文链接),有一些是大家熟悉的,有一些是非常有用的,有一些是不为人知的.这些工具都非常不错,希望每个人都知道 ...
- iOS 在类别里添加成员变量的方法:objc_setAssociatedObject
今天在github上查看MJPopupViewController这个项目,发现里面用到了objc_setAssociatedObject,用来为类别添加成员变量. 我百度之后,发现有人是这样说明的: ...
- jQuery ajax同步的替换方法,使用 $.Deferred()对象
function aa() { var defer = $.Deferred(); $.ajax({ url: "/Handler1.ashx", type: "post ...
- html插入视频
http://www.jb51.net/web/168548.html http://www.w3school.com.cn/html/html_media.asp
- 3.SQL*Plus命令
3.1SQL*Plus与数据库的交互 主要用来数据库查询和数据处理的工具. 3.2SQL*Plus运行环境设置 3.2.1SET命令概述 用户可以使用SET命令设置SQL*Plus的运行环境,SET命 ...
- javascript full screen 全屏显示 页面元素
javascript full screen 全屏显示 页面元素 要想让页面的某个元素全屏显示,就像在网页上看视频的时候,可以全屏观看一样,该怎么实现呢? 一种最简单的方式,就是动态改变你想要全屏显示 ...
- Error creating bean with name
最近在学一个东西,要使用SSM新建一个案例,是这样滴,我有如下 DeptDAO DeptService DeptServiceImpl DeptController Dept Mybatis 首先,我 ...
- 微信小程序外包 就找北京动软 专业承接微信小程序定制
很多人问为什么要开发微信小程序,微信小程序的“入口”在哪儿? 1.只有访问过的小程序,才会出现所谓的「入口」. 所有访问过得小程序都可以从微信首屏下面的「发现」点过去.(必须是最新版微信) 这个所谓的 ...
- (14)如何使用Cocos2d-x 3.0制作基于tilemap的游戏:第二部分
引言 程序截图: 这篇教程是<如何使用Cocos2d-x 3.0制作基于tilemap的游戏>的第二部分.在上一个教程中,我们创建了一个简单的基于tiled地图的游戏,里面有一个忍者在沙漠 ...
- 异步和等待(async和await)
在.Net 4.5中,通过async和await两个关键字,引入了一种新的基于任务的异步编程模型(TAP).在这种方式下,可以通过类似同步方式编写异步代码,极大简化了异步编程模型.如下式一个简单的实例 ...
- vim多行注释与取消
神操作 在vim中编写代码,常常会遇到多行注释和取消注释的情况,在VS中我们可以用默认的快捷键或者在设置中自定义快捷键来解决这个问题. vim既然这么强大,必然也是有快捷键来完成的.下面给出具体步骤: ...








