Linux 入门之 历史与现状

  Linux是一个计算机的操作系统,与windows类似,是一款系统软件。操作系统首先是一个计算机程序,使用计算机语言开发,比如C语言、VC语言。是计算机硬件和应用软件的桥梁。

Unix起源

  上个世纪六十年代,那个计算机还没有很普及,只有少数人才能使用,而且当时的计算机系统都是批处理的。unix最早由Ken Thompson(肯.汤普森)开发,使用汇编语言开发,后来采用B语言开发,最后作者 Ken Thompson和Dennis Ritchie(丹尼斯.里奇)为了再次改进系统,重新写了一门计算机语言(主要贡献是Dennis Ritchie),就是大名鼎鼎的C语言。

  从早期的UNIX系统文档和内容中可以清晰的看出,UNIX的发展是一个免费的、无私的、完全致力于将UNIX变的更优秀的过程。这个过程导致了代码的共享(不管是在贝尔实验室内部还是外部)从而使高质量的UNIX操作系统走向了快速的发展之路。

  因为美国担心已经垄断了电话行业的AT&T公司再次垄断计算机行业,AT&T使被禁止出手计算机的。因为AT&T在资产分解之前被严格限制直接出售计算机给消费者,所以UNIX源代码被授权给了大学,只是象征性地收取一定费用。

  20世纪70年代,它逐步盛行,这期间,又产生了一个比较重要的分支,就是大约1977年诞生的BSD(Berkeley Software Distribution)系统,从BSD系统开始,各大厂商业公司开始了根据自身公司的硬件架构,并以BSD系统为基础进行Unix系统的研发,从而产生了各种版本的Uinx系统,例如:SUN公司的Solaris,IBM公司的AIX,HP公司的HP UNIX等。

  70年代中后期,由于各厂商及商业公司开发的Unix 及内置软件都是针对自己公司特定硬件的,因此在其他公司的硬件上基本上无法直接运行,面且当时没有人对开发基于X86架构CPU 的系统感兴趣。另外,70 年代末,Unix又面临了突如其来的被AT&T 回收版权的重大问题,特别是要求禁止对学生群体提供Unix 系统源代码,AT&T收回了版权,并且不再开源。这样的问题一度引起了当时Unix业界的恐慌,也因此产生了商业纠纷。

  如果想继续使用就需要购买授权,一份授权4万美元在八十年代,自由软件之父 理查德.斯托曼发起了自由软件运动,吹起了共产主义的号角(发起了GUN运动),并发布了软件界的共产主义宣言(GPL协议),并且这一运动得到了很多人的认同。GUN的定义是一个递归缩写,就是GUN IS NOT UNIX。就是说Unix是流氓,我不是。

理查德.斯托曼

  所谓自由软件自由就是指:自由使用、自由学习和修改、自由分发、自由创建衍生版。

  1985年GNU理查德·斯托曼又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持

  到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs、C语言编译器GCC以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件,就是操作系统的内核.有意思的是,而那个时候Linux还没有诞生呢 ,所以Stallman宝宝心里苦啊,就在大家逐渐失去信心的时候,1991年Linus Torvalds带着他的Linux闪亮登场了,也给GUN运动画了一个完美的句号。

Linux诞生

  1991年,Linus Torvalds,一个芬兰赫尔辛基大学的学生,为了能在家里的PC机上使用与学校一样的操作系统,开始了编写类似UNIX内核的工作。那是,linus使用的是MINIX,但是他希望能超过MINIX的标准。

Linus Torvalds

  Linus Torvalds在开始其Linux 操作系统的设计时,他的目的只不过是想看一看Intel 386存储 管理硬件是怎样工作的,他也没有想到这一举动会在计算机界 产生如此重大的影响。他的设计进展得很顺利,只花了几个月时间就在一台Intel 386微机上完成了一个类似于Unix的操作系统, 这就是最早的Linux版本。

  1991年底,Linus Torvalds首次在Internet 上发布了基于Intel 386体系结构的Linux源代码,从此以后,奇迹开始发生了。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学生和科研机构的研究人员纷纷把它作为学习和研究的对象。他们在更正原有Linux版本中操作的同时,也不断地为Linux增加新的功能。在众多热心者的努力下,Linux逐渐成为一个稳定可靠、功能完善的操作系统。

  1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。

Linus将自己国家的吉祥物作为Linux标志

Linux现状

Linux经过20多年的发展,已日渐成熟,并衍生出一大批优秀的Linux衍生版本。目前所使用最为广泛且最受欢迎的十大主流发行版:

1.Ubuntu

2.Linux Mint

3.Debian GNU/Linux

4.Mageia

5.Fedora

6.openSUSE

7.Arch Linux

8.CentOS

9.PCLinuxOS

10.Slackware Linux

版本详情可参考:http://baijiahao.baidu.com/s?id=1597911999197622652&wfr=spider&for=pc


Linux入门(历史与现状)的更多相关文章

  1. linux入门教程(一) 关于linux的历史

    很多关于linux的书籍在前面章节中写了一大堆东西来介绍linux,可惜读者看了好久也没有正式开始进入linux的世界,这样反而导致了他们对linux失去了一些兴趣,而把厚厚的一本书丢掉. Linux ...

  2. 01 Linux入门介绍

    一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...

  3. linux 入门教程

    linux入门教程 搜索 Linux入门教程 前言 第一章 关于Linux的历史 第二章 图形界面还是命令窗口 第三章 Linux操作系统的安装 第四章 初步进入linux世界 第五章 Linux系统 ...

  4. Linux入门介绍

    Linux入门介绍 一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以 ...

  5. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  6. Linux入门_1

    Linux入门 目录  Root用户  终端  交互式接口(图形化界面和命令行)  什么是Shell(bash)  命令提示符  内部命令和外部命令 enable,hash  命令别名 ...

  7. Linux入门_2-基础命令

    Linux入门-基础命令 目录 日期命令date 修改时区 日历命令cal 关机启动命令halt,reboot,poweroff whoami.who.who am i.w screen ...

  8. linux入门001--帮助支持

    linux入门001--帮助支持====1. 帮助手册提供命令的使用说明:man ls提供基础知识和参考信息,有时会有实例和交叉索引,但是基本没有教程式的文档.就是说,并不会有偏重告诉你那个重要,那个 ...

  9. Linux入门篇(五)——Shell(一)

    这一系列的Linux入门都是本人在<鸟哥的Linux私房菜>的基础上总结的基本内容,主要是记录下自己的学习过程,也方便大家简要的了解 Linux Distribution是Ubuntu而不 ...

随机推荐

  1. 树莓派的Respbian或者ubuntu系统下安装opencv最有效的方法

    第一种方法当然首选和其他安装包相同的方法pip install opencv-python安装失败后果断选择第二种方法,这第二种方法尝试过很多次了,屡试不爽 第二种方法:sudo apt-get in ...

  2. 【LeetCode】56-合并区间

    题目描述 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 ...

  3. (转)Idea使用教程以及各种问题解决

    1.可以先去查看这篇博客: https://www.cnblogs.com/yjd_hycf_space/p/7483921.html 2.如果到配置tomcat时遇到了问题,找不到tomcat se ...

  4. JDBC进行批处理Batch

    在实际的项目开发中,有时候需要向数据库发送一批SQL语句执行,这时应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率. JDBC实现批处理有两种方式:statement和pr ...

  5. 4.cache每个参数的意义和作用以及工作原理?

    在程序开发过程中,适当使用 Cache 缓存能有效提高程序执行效率.比如一些常常调用的系统公共变量,把它们缓存到 Cache 中,当需要使用它们时,直接从 Cache 中读取,不必每次都从数据库或文件 ...

  6. 史上最全Docker环境安装指南-让安装docker简单到爆

    一.思考❓❔ 1.什么是Docker? 装应用的容器 开发.测试.运维都偏爱的容器化技术 轻量级 扩展性 一次构建.多次分享.随处运行 2.安装Docker难不难? So easy! 此文看过之后,读 ...

  7. 初识数据库(MySql)

    一.简介 1.MySql是关系型数据库. 2.是一种开放源码软件, 3.是一种关联数据库管理系统. 4.服务器工作于客户端/服务端模式之下,或者是嵌入系统中. 数据库管理软件分类: 分两大类: 关系型 ...

  8. wrk,ab,locust,Jmeter 压测结果比较

    背景: 项目需要对一批接口进行压测,要求是接口的QPS(Quest Per Second每秒请求数)达到6万以上由于楼主一直使用的压力测试工具是jmeter,但是jmeter单台电脑无法达到6万的QP ...

  9. Recovery启动流程(2)---UI界面【转】

    Recovery启动流程系列文章把recvoery目录下文件分成小块讲解,最后再以一条主线贯穿所有的内容.这篇文章主要讲解Recovery-UI的相关内容. 我们知道,当我们通过按键或者应用进入rec ...

  10. mysql按关键词截取字符串

    按关键字截取字符串 :substring_index(被截取字段,关键字,关键字出现的次数) eg:字符串:test.docx:test2.zip substring_index(file_name, ...