♦ 1  Linux的简单介绍

Linux与Windows一样都是一套OS(操作系统),Windows界面美观 ,普通用户很容易上手,点点鼠标就能搞定许多操作,而Linux生下来就是为程序员的,故精通Linux都是非常擅长命令行的,可以说命令行就是学习Linux的最基础的东西了,操作相对Windows来说并不是那么的容易上手,反而很复杂,因为命令行是艰涩难懂的,故造成了如今Linux只在程序员中流行,而普通电脑用户可能根本不知道它的存在,我当初也是听说的,到现在我才有极度想要学习它的念头,好了,废话不多说。

操作系统=内核(kernel)+系统调用接口,内核与硬件紧密相关,见图1.1,仅有内核的话,只能将计算机运行起来,而你什么都不能做,干瞪眼的干活,所以说操作系统除了内核外 系统调用接口也是相当的重要的,有了它们,软件开发者就可以利用这些接口开发出软件,软件让操作系统更加的完美。

1.1

Torvalds先生在写出Linux的时候,这个OS也仅有内核与接口这么简单,而且还是针对386来开发的,所以也仅能“让计算机开始运行,等待用户输入指令”而已,事实上,能在Linux上跑的软件还很少呢。

每种OS都是在它专门的机器上运行的,像Windows系统是专门针对个人计算进X86架构的硬件去设计的,有人问 Windows操作系统能装在 苹果公司的麦金塔计算机(MAC) 上面吗? 结果很明显 不可以啊 ,为什么呢,由上可知硬件是由内核来控制的,Windows操作系统的内核只能控制Intel的X86架构的硬件,而06年之前苹果公司是请IBM公司开发硬件(所谓的power CPU), 然后apple在该硬件架构上开发自家的OS(即Mac),故Windows是不能安装在苹果计算机上的。但是在06年之后苹果公司也采用了Intel的X86架构的硬件,此时才可能将Windows用于Mac计算机,注意了,仅仅是可能,据说是由于兼容性问题的存在,这里我也不太明白。再说Linux吧,这个系统是一个Open Source(开放源代码)的操作系统,这就注定了它具有“可移植”这个强大的优点,理论上讲Linux的源代码可以被修改从而在各种机器上运行,Windows闭源则不行啊,这就奠定了Linux的良好前途。

Linux是一个提供了一个完整操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,所以相当稳定并且强大。

如此越来越多的软件开发者渐渐将工作心血转移到了这个系统上,所以之后能在Linux上运行的软件也不在少数了。这些软件与Linux共同形成了一个更加强大,更加稳定的操作系统发展至今。

♦2.至于Linux追根溯源到底是如何来的,那就要从Unix说起了,先说说跟Unix的建立有关的东西吧。

2.1   1969年以前——Multics项目

在20世纪60年代左右一间学校可能仅有一台主机,而如此多的学生免不了要等待才能使用,好在之后麻省理工学院(MIT)开发了分时操作系统(compatible time-sharing system,CTSS),它可以让多个终端机通过连接大型主机利用主机的资源进行运算工作,其架构如图2.1

2.1

这些终端机只能提供输入输出的功能,本身并不能安装软件或运算的能力,而且最先进的主机只能让30多台终端机连入而已。为了加强大型主机的功能,以便让更多的用户利用主机的资源,所以在1965年前后,由贝尔实验室(Bell)、麻省理工学院(MIT)及通用电气公司(GE)共同发起了Multics的项目,Multics的最终目标是让一台大型主机可以同时接入300台以上的终端机。但是后来由于资金短缺进度落后等原因,这个项目最终没有获得成就,而贝尔实验室也退出了该项目的研究。

虽然这个项目不成功,但是这个项目培养出了的人才是相当优秀的。

2.2   1969年——Ken Thompson的小型File Server System

Ken Thompson是 参与Multics项目的贝尔实验室人员之一,他从Multics中获得了一点想法,他用了四个星期的时间,终于以汇编语言(Assembier)写出了一组内核程序,同时包括一些内核工具程序,以及一个小的文件系统。该系统就是UNIX的原型,被同事们戏称为Unics。只能说“科技来自于人性”。

2.3   1973年——Unix正式诞生,Ritchie等人以C语言写出第一个正式UNIX内核

由于Thompson写的那个OS太好用了,所以在贝尔实验室内部广为流传,并且多次经过改版。 但是因为Unics使用汇编语言写出来的,汇编语言的专一性,所以若计算机的架构不同的话,每次安装都得进行重新编写这个步骤,灰常的不方便。

当时现成的高级语言有B语言,但是有B语言编译出来的内核性能不是很好,于是Dennis Ritchie将B语言重新改写成了C语言,Thompson、Ritchies两人合作用C语言重新编写UNICS的内核,最后发行出Unix的正式版本!!到这里你会发现,哦,C语言原来是这么来的啊,还真是神奇呢。C语言使得Unix很容易被移植到不同的机器上。

2.4   1977年——重要的Unix分支-BSD的诞生

柏克莱大学的Bill Joy在取得了UNIX的内核源码后,便着手于修改适合自己机器的版本,并且同时增加了很多工具软件和编译程序看,最终将它命名为Berkeley Software Distribution(BSD)。这个BSD是UNIX的一个很重要的分支,Bill Joy也是Sun这家公司的创始人。

2.5  1979年:重要的System V架构与版权声明

早期的UNIX只能跟服务器(SERVER)和大型工作站(Workstation)画上等号!直到AT&T公司推出System V后才有所改观,S V这个架构最特殊的地方就是支持X86架构的个人计算机系统,也就是说它可以安装在个人计算机上并运行。

不过,AT&T出于对商业的考虑,以及在当时现实环境下的思考,于是想将UNIX的版权收回去。因此,AT&T在1979年发行的第七版UNIX中,声明“不可对学生提供源码”,这个事件也造成了UNIX业界之间的紧张气氛,并且引发了很多商业纠纷。

 注:目前被称为纯种的UNIX指的就是System V 和 BSD这两套。

2.6 1984年:X86架构的Minux操作系统诞生

由于1979年的版权声明,影响到了教授关于UNIX的教学,无法向学生提供UNIX源码,教授没法讲解,谭宁邦教授就是其中之一,他自己动手编写了一个能在X86上运行的UNIX Like的内核程序Minix,为了避免版权纠纷,谭宁邦教授在编写过程中完全不看UNIX内核源码,并且强调Minix必须与UNIX兼容才行,直到1986年终于完成。

Minix操作系统的开发者只有谭宁邦教授一人,因为学术很忙,而且谭宁邦始终认为Minix主要用在教育上面,所以对Minix是点到为止。Minix虽然很受欢迎,但是它已无法再向更高的位置前进了。

2.7  1984年:GUN项目与FSF基金会成立

这两个东西的成立者都是史托曼(英文名:Richard Mathew Stallman,RMS),GUN项目创建的目的是创建一个自由、开放的UNIX操作系统(Free UNIX),他一个人是无法完成的,所以他以出售他自己编写的那个Emacs来赚钱,Emacs是一个很好很优秀的程序编辑器,非常牛,赚了点钱后全力编写其他软件,并且成立了自由软件基金会(Free Software Foundation,FSF),请来了更多的工程师和志愿者一同编写软件,写出了GCC这个比Emacs更加优秀的工具,还有更多可以被调用的C函数库(GNU C Library),以及可以被用来操作系统的基本接口bash shell,大约在1990年完工。

♦3.Torvalds的Linux开发

GUN、GCC、minux等等这些东西的出现都为托瓦兹开发Linux打下基石,利用这些东西,托瓦兹写出了自己的操作系统,当这个内核程序可以在386上顺利运行后,他希望能够获取大家的意见,于是将这个内核放到网上供大家下载。

。。。。。

之后各个Linux团队产生,到现在各大distributions横行这个过程我就自动省略了。

♦4.再稍微普及点知识吧。

4.1 主次版本为基数:开发中版本(development)

如2.5.xx,这种内核主要用于测试和开发新功能,经众多工程师测试没问题后,才加入下一版的稳定内核中。

4.2 主次版本为偶数:稳定版本(stable)

如2.6.xx,这种版本可以提供给用户使用了。

想学的话建议CentOS为入门系统。说到这里,此篇文章到此结束。2015-11-1016:49:36

本文为  凌小墨 撰写 ,转发请勿清除此行,本文链接:http://www.cnblogs.com/lxmwb/p/5144363.html

淡说Linux 的发展史的更多相关文章

  1. Linux的发展史和centos7的安装

        目 录 第1章 Linux系统介绍与环境搭建准备UNIX操作系统    1 1.1 Unix的发展    1 1.2 MINIX的发展    1 1.3 GUN    1 1.4 Linux的 ...

  2. Linux - 操作系统的发展史

    操作系统的发展史(科普章节) 目标 了解操作系统的发展历史 知道 Linux 内核及发行版的区别 知道 Linux 的应用领域 01. 操作系统的发展历史 1.1 Unix 1965 年之前的时候,电 ...

  3. Linux操作系统发展史

    1984年,面对美国电话电报公司启动的UNIX商业化计划和程序开发的封闭模式,麻省理工学院的RichardM.Stallman发起了一项国际性的源代码开放的GNU(GNU's Not Unix)计划, ...

  4. 【Linux】一步一步学Linux——Unix发展史(02)

    目录 00. 目录 01. 请参考Unix传奇 02. 03. 00. 目录 @ 本博客后面会更新 01. 请参考Unix传奇 链接: https://coolshell.cn/articles/23 ...

  5. Kali Linux的发展史,专为数字取证和渗透测试而设计

    Kali Linux拥有非常强大的网络功能,Kali Linux是一个Debian衍生的Linux发行版,专为数字取证和渗透测试而设计.它是由OffensiveSecurityLtd维护和资助,是由M ...

  6. Linux之我见

    Linux哲学之美 linux就像是一个哲学的最佳实践.如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪的说着:“linux的美丽简直让人沉醉.” 我只能说是我处在linux学习的修炼之路上的一个 ...

  7. linux学习初体验

    前天买了鸟哥私房菜,昨天一早就到了.阅读了前两章. 一.Linux是什么 二.Linux如何学习 还有前面的计算机概论也值得一看.对于计算机构成,硬件解读,数据存储,比一般的电脑维修类的书深一些. 第 ...

  8. linux(一)之linux简介

    其实在前几天我使用的是csdn来写博客,尝试了一下,发现真的太浪费时间了.可能是自己不太习惯的原因吧.所以最后还是换回使用博客园.接下来给大家带来的是linux,大家听到这里linux感觉很神秘的样子 ...

  9. Linux运维基础

    一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...

随机推荐

  1. 基于Spark GraphX计算二度关系

    关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友 ...

  2. 判定 java 对象死亡的过程

  3. Algorithm——无重复字符的最长子串

    一.问题 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "a ...

  4. LOJ6066:「2017 山东一轮集训 Day3」第二题

    传送门 二分答案 \(k\),考虑如何 \(hash\) 使得做起来方便 把每个点挂在 \(k+1\) 级祖先上,考虑在祖先上删除 这道题巧妙在于其可以对于 \(dfs\) 序/括号序列 \(hash ...

  5. jquery特效:无缝向上循环滚动列表

    效果呈现 整个列表间隔设定的时间向上移动一个item的高度 html结构: <div class="slide-title"> <span>title1&l ...

  6. Postman-关于设置

    用Postman的时候由于没有中文版,所以想设置的完全符合自己的使用习惯不太容易,于是找了下关于设置的使用并转载记录一下,链接:https://www.jianshu.com/p/518ab60ebe ...

  7. Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法

    前段时间,Wasserstein GAN以其精巧的理论分析.简单至极的算法实现.出色的实验效果,在GAN研究圈内掀起了一阵热潮(对WGAN不熟悉的读者,可以参考我之前写的介绍文章:令人拍案叫绝的Was ...

  8. 专访探探DBA张文升:PG在互联网应用中同样也跑的很欢畅

    张文升认为,PG无论在可靠性和性能方面都不输其它任何关系型数据库   张文升,探探DBA,负责探探的数据库架构.运维和调优的工作.拥有8年开发经验,曾任去哪儿网DBA.   9月24日,张文升将参加在 ...

  9. php 3des加密 兼容JAVA 多么痛的领悟呀

    最近和别人做接口用到SOCKET TCP/IP方式 其中需要对账号和密码进行3DES加密 对方提供了一个加密比对的软件和JAVA的实现代码 并且给了我们一个长度为32位的密钥 这边需要用PHP来实现! ...

  10. iTextSharp 使用详解(转)

    PDF文件是目前比较流行的电子文档格式,在办公自动化(OA)等软件的开发中,经常要用到该格式,但介绍如何制作PDF格式文件的资料非常少,在网上搜来搜去,都转贴的是同一段“暴力”破解的方法,代码片断如下 ...