linux历史追溯

1. Linux 历史


早在 linux 出现之前的 20 年(大约在 20 世纪 70 年代),就有一个相当稳定而成熟的操
作系统存在了。那就是 Linux 的老大哥”Unix”。那么 Linux 和 Unix 有什么关系呢?
Linux 的内核是由 Linus Torvalds 在 1991 年的时候给开发出来的,并且放到网络上提
供大家下载,后来大家觉得(Linux kernel)相当小而精巧,所以慢慢就有相当多的朋友投入
到 linux 的研究中。


那为什么 Linux 为何受到大家钟爱呢?


1965 年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是
军事或者学院的研究机构,而且当时大型主机至多能提供 30 台终端(30 个键盘、显示器),
连接一台电脑
 
1965年以前,Bell(贝尔实验室) MIT(麻省理工) GE(通用电气)共同发起了Multics项目,
目的是为了让大型主机同时提供 300 台以上的终端连接使用。到了 1969 年前后,项目进
度落后,资金短缺,虽然项目仍在研究,但是贝尔实验室认为项目不可能成功就退出了该项
目的研究。后来原本参与项目的人员中 Ken Thompson 根据自己的需要用汇编语言写了一
组内核程序,该系统就是 UNUX 系统的原型。


由于 Thompson 写的操作系统是在太好用了,所以在贝尔实验室广为流传,并且多次
改版。但是因为系统是汇编语言写的,移植到其他机器上就得需要重新编写汇编语言,很不
方便。


后来 Thompson 和 Retchie 合作使用 B 语言来写,由于 B 语言编译出来的内核性能不好。后来 Retchie 将 B 语言改成 C 语言,用 C 语言重写改写与编译了 UNIX 系统内核,最
后发行出 UNIX 的正式版本。


Unix 由于是由高级语言编写的,只要取得 UNIX 源代码,加以修订就可以移植到另一
台不同的主机上。1973 年 UNIX 与加州伯克利大学合作,伯克利大学额 Bill Joy 在取得 UNIX
的内核源码后,修改成了适合自己及其的版本,并且增加很多工具软件,并将其命名为
Berkely Software Distribution(BSD)。 这个 BSD 是 UNIX 的一个分支。


之后很多商业公司也开始了 UNIX 操作系统的开发,例如 AT&T 的 System V、IBM 的 AIX. 出于商业的考虑,决定收回 UNIX 的版权,并在 79 年发型的第七版 UNIX 中,特别提
到了不可对学生提供源码的严格限制。


关于这则 79 年的版权声明,影响最大的就是学校里教 UNIX 的教授,没有内核源码怎
么教学生认识 UNIX。于是 Andrew S. Tanenbaum(塔能鲍姆)教授写了一个 MINIX 这个
UNIX LIKE 的的内核程序,到了 86 年完成。


这套系统被 Andrew S. Tanenbaum(塔能鲍姆)教授主要用于教育,所以点到为止,不
再进行开发。


1984 年一个叫 Richard Mathew Stallman 的人 71 年进入了黑客圈非常有名的智能实
验室 AI.Lab,当时的黑客圈对软件的着眼点几乎都是在分享,没有专利方面的困扰。这个特色对 Stallman 的影响很大,Stallman 想成立一个开放的团体。
1983 年 Stallman 开始的 GNU 项目,这个项目是创建一个自由、开放的 UNIX 操作系
统(free unix).但是创建一个操作系统谈何容易?于是 Stallman 认为,既然开发操作系统不
容易,那就先在 UNIX 写一些小程序,这总可以吧。Stallman 依据 UNIX 上现有的软件开
发出功能类似的软件,并且还免费。之后 Stallman 写了许多优秀的软件 GNU C
Compiler(GCC),Emacs,GNU C LIBARY,BASH SHELL 等。


1991 年芬兰大学生 Linus Torvalds 使用 Stallman 开发的 bash,gcc 写了以内核程序,
之后又有很多的志愿者参与进来,Linux 茁壮成长。


1994 年终于完成了 Linux 内核的正式版 Version 1.0.




经过上面说明,我们直到 Linux 其实就是一个操作系统最底层的内核及其提供的内核工
具。它是 GNU GPL 授权模式,任何人都可以取得源代码与可执行这个内核程序,并且可以
修改。此外,因为 Linux 参考了 POSIX(Portable Operating System Interface,他规范
了应用程序与内核的接口规范)设计规范,因此兼容于 UNIX 操作系统,故亦可称之为 UNIX
LIKE 的一种。


虽然由 Torvalds 负责开发的 LINUX 仅具有 Kernel 与 Kernel 工具,不过,很多软件已
经可以运行在 Linux 上了,因此”Linux + 各种软件”就可以完成一个相当完整的操作系
统了。不过要完成这样的操作系统还真难,因为 Linux 早起都是由黑客工程师所开发维护的,
一般用户没有这种能力。


为了让用户能够接触到 Linux,于是很多商业公司或非营利团体就将 Linux Kernel 与
可运行的软件集成起来,加上自己具有创意的工具程序发布给用户。这个 Linux Kernel + Software + Tools 的可完全安装的系统,我们就叫做 Linux Distribution.
由于开发 Linux Distrubution 的团队和公司太多了,在中国有名的 Red Hat,SUSE, Ubuntu,Fedora,Dibian,CentOS 等,所以很多人担心,如此一来每个 distribution 是否都
不 相 同 呢 ? 这 就 不 需 要 担 心 了 , 因 为 每 个 distribution 使 用 的 kernel 都 是
http://www.kernel.org 所发布的,它们所选用的软件都是目前很知名的软件,重复性很高,
而且这些开发商都遵循着 Linux standard Base 等标准来规范开发,以及目录架构的 FIle
system Hierarchy Standard 规范,它们唯一的差别可能就是该开发者自家的所开发出来的
管理工具而已。差异不大,所以大家额可以选择喜欢的 distribution 来安装就可以了。
 
Fedora
 
RedHat
 
Ubuntu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php获取当前世界,php获取网站alexa世界流量排名代码

gooood个人博客网站phpfunction getAlexaRank ($Domain){$line "";$data "";$URL "http://data.alexa.com/data/?cli10&datsnba&url". $Domain ;$fp fopen ($URL ,"r");if ($fp ){while (!feof ($fp )){$line fgets ($f…

“函数调用的左操作数”的理解

参考下面这个网址中两段话,对《C Primer》中的这句话“函数调用的左操作数”进行理解: http://www.caole.net/diary/lvalue.html “C中引入了引用类型(reference type),引用总是引用到某一对象或者函数上,因此当我们使用引用时,相当于对其引用…

LeetCode MySQL 180. 连续出现的数字(cast)

文章目录1. 题目2. 解题1. 题目 编写一个 SQL 查询,查找所有至少连续出现三次的数字。 --------- | Id | Num | --------- | 1 | 1 | | 2 | 1 | | 3 | 1 | | 4 | 2 | | 5 | 1 | | 6 | 2 | | 7 | 2 | --------- 例如,给定上面的 L…

linux应用领域

Linux 应用领域个人桌面领域此领域是传统 linux 应用最薄弱的环节,传统 linux 由于界面简单、操作复杂、应用软件少的缺点,一直被 windows 所压制,但近些年来随着 ubuntu、fedora 等优秀桌面环境的兴起,同时各大硬件厂商对其支持…

怎么在linux下使用ftp服务器,怎么在Linux下建立安全的FTP服务器?

怎么在Linux下建立安全的FTP服务器?2018-08-31 15:53分享人:老牛学习Linux系统时,你可能会遇到网络服务的问题,这里将介绍linux FTP服务器安全及DHCP服务的实现的解决方法,在这里拿出来和大家分享一下。Linux系统相对于…

Linux基本操作指南

Linux 操作1 Linux 文件和目录Windows 和 Linux 文件系统在 windows 平台下,打开“计算机”,我们看到的是一个个的驱动器盘符:每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形。在 Linux 下,我们是看不到这…

jar打包 jar line too long 异常处理方法

http://hi.baidu.com/hoszone/item/e5165353062e2e828d12eddb 在jar的manifest.mf中加入了所依赖的所有jar路径,结果报错说 IOException("line too long") 然后查看这个地方java.util.jar.Attributes.read方法里,针对每行读入的数据有个byte限…

LeetCode MySQL 178. 分数排名(dense_rank连续排名)

文章目录1. 题目2. 解题1. 题目 编写一个 SQL 查询来实现分数排名。 如果两个分数相同,则两个分数排名(Rank)相同。 请注意,平分后的下一个名次应该是下一个连续的整数值。 换句话说,名次之间不应该有“间隔”。 --…

编辑神器Vi介绍及常用命令

1 vi 简介vi 编辑器是 Linux 和 Unix 上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi 是效率很高的文本编辑器。尽管在 Linux 上也有很多图形界面的编辑器可用,但 vi 在系统和服务器管理中的功能是那些图形编辑器所无法比拟的…

LeetCode MySQL 185. 部门工资前三高的所有员工(dense_rank)

文章目录1. 题目2. 解题1. 题目 Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。 --------------------------------- | Id | Name | Salary | DepartmentId | ---------------…

jquery非常不错的图片切换,多种切换效果

下载: http://files.cnblogs.com/timy/wowslider.rar转载于:https://www.cnblogs.com/timy/archive/2013/04/03/2998381.html

linux 子目录 挂载,linux – NFS4 – 挂载多个子目录

我正在尝试在NFS4服务器上设置2个不同的挂载点,但无法使其按预期工作./etc/exports (on server)/mnt/raid/nas 10.1.0.0/18(rw,fsid0,sync)/mnt/raid/nas/file/perm 10.1.0.0/18(rw,sync,all_squash,no_subtree_check,anonuid501,anongid503)/mnt/raid/nas/mail 10.1.0.0/18(rw…

python历史以及基础知识

1. Python 基础知识1.1 Python 历史1.1.1 Python 起源Python 的作者,Guido von Rossum,荷兰人。1982 年,Guido 从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受计算机带来的…

SQLSERVER字符串截取------STUFF

STUFF ( character_expression , start , length ,character_expression ) 参数 character_expression 一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。 start 一个整数值,指定删除和插入的开始位置。如…

LeetCode MySQL 601. 体育馆的人流量(row_number+over+cast)

文章目录1. 题目2. 解题1. 题目 X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)。 请编写一个查询语句,找出人流量的高峰期。高峰期时,至少连续三行记录中的人流量…

linux进程上下文切换的具体过程,Linux实验三 结合中断上下文切换和进程上下文切换分析Linux内核一般执行过程...

fork系统调?创建?进程,也就?个进程变成了两个进程,两个进程执?相同的代码,只是fork系统调?在?进程和?进程中的返回值不同。打开linux-5.4.34/arch/x86/entry/syscalls/syscall_64.tbl 文件,56、 57、 58号系统调?__x64_sy…

python常见错误及基本技巧

1.2 Python Hello World1.2.1 执行 python 三种方式1.2.1.1 文本模式Python 代码 保存在文件 中,解释器对文件逐行解释执行,在终端中输入解释器名,再输入要执行的文件名:# 使用 python 2.x 以文本模式执行 python 程序$ python xx…

flash加xml图片叠加焦点图,左右箭头翻页

flash加xml左右箭头翻页,叠加焦点图,具体效果如下:源码下载: http://files.cnblogs.com/chendaoyin/flash%E5%8A%A0xml%E5%9B%BE%E7%89%87%E5%8F%A0%E5%8A%A0%E5%B7%A6%E5%8F%B3%E5%88%87%E6%8D%A2%E7%84%A6%E7%82%B9%E5%9B%BE.z…

linux 跨服务器备份,用BackupPC架设Linux跨平台备份服务器

随着数据价值逐渐被重视,当提到备份,更多是希望备份充分而非不够,特别在一些情况发生下庆幸为重要数据所备份所付出精力是值得的。通过xmodulo网站介绍一个跨平台的备份服务器软件BackupPC,它可以通过网络为Linux,Wind…

LeetCode 351. 安卓系统手势解锁(回溯)

文章目录1. 题目2. 解题1. 题目 我们都知道安卓有个手势解锁的界面,是一个 3 x 3 的点所绘制出来的网格。 给你两个整数,分别为 ​​m 和 n,其中 1 ≤ m ≤ n ≤ 9, 那么请你统计一下有多少种解锁手势,是至少需要经过…