什么是linux?

        Linux,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds)于1991年10月5日首次发布,它主要受到MinixUnix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU操作系统。它支持32位64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。

        Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debianarchlinux,和基于商业开发的Red Hat Enterprise LinuxSUSEOracle Linux等。

        大型、超大型互联网企业(百度、Sina、淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。

Linux特点

         Linux操作系统之所以如此流行,是因为它具有如下一下特点:

        1、代码开源

        Linux由众多微内核组成,其源代码完全开源;

       2、 网络功能强大

        Linux继承了Unix的特性,具有非常强大的网络功能,其支持所有的因特网协议,包括TCP/IPv4TCP/IPv6和链路层拓扑程序等,且可以利用Unix的网络特性开发出新的协议栈

        3、系统工具链完整

        Linux系统工具链完整,简单操作就可以配置出合适的开发环境,可以简化开发过程,减少开发中仿真工具的障碍,使系统具有较强的移植性。

Linux 插图1

Linux的起源

Unix的历史

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

        Linux系统诞生于1991年左右,因此,可以说Linux是从Unix发展而来的。

        Unix的五大优秀特性:

        1、技术成熟,可靠性高

        使用Unix系统时,即时运行若干年也无需重启,它依然可以工作得非常好。毫不夸张地说,只要计算机硬件不坏,Unix就很难出问题。

        2、极强的可伸缩性

        Unix支持的CPU处理器体系架构非常多,包括Intel/AMD及HP-PA、MIPS、PowerPC、UltraSPARC、ALPHA等RISC芯片,以及SMP、MPP等技术。

        3、强大的网络功能

Internet互联最重要的协议TCP/IP就是在Unix上开发和发展起来的。此外,Unix还支持非常多的常用网络通信协议,如NFS、DCE、IPX/SPX、SLIP、PPP等。

        4、强大的数据库支持能力

        Oracle、DB2、Sybase、Informix等大型数据库,都把Unix作为其主要的数据库开发和运行平台,一直到目前为止,依然如此。

        5、强大的开发功能

        正是Unix促使了C语言的诞生,并相互促进与发展,成为当时工程师的首选操作系统和开发环境。互联网早期有重大意义的软件新技术的出现几乎都在Unix上,例如:TCP/IP、WWW、JAVA、XML等。

Unix操作系统革命

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

    由于Unix面临版权回收问题,以及代码不开源等的问题,这直接或间接的导致了新的类Unix系统的诞生以及自由软件运动的建立和发展。

    1984年,Richard Stallman发起了开发自由软件的运动,并成立了自由软件基金会(Free Software Foundation,FSF)和GNU项目。当时发起这个自由软件运动和创建GNU项目的目的其实很简单,就是想开发一个类似Unix系统、并且是自由软件的完整操作系统,也就是要解决70年代末Unix版权问题以及软件源代码面临闭源的问题,这个系统叫做GNU操作系统。

    也是在80年代初期,同样是由于之前的Unix系统版权和源代码限制等问题,使得当时大学里教学Unix系统的束缚很大。因此,当时的一个大学的教授,名字为Andrw Tanenbaum(谭邦宁),于大概1984年开始着手编写新的用于教学的Unix系统,目标是开发新的Unix系统尽可能和原来的Unix系统兼容,并且可以运行与x86 PC平台,这个系统的名字为Minix。

Linux的诞生

        Linux系统的诞生开始于芬兰赫尔辛基大学的一位计算机系的学生,名字为Linus Torvalds。在大学期间,他接触到了学校的Unix系统,但是当时的Unix系统仅为一台主机,且对应了多个终端,使用时存在操作等待时间很长等一些不爽的问题,无法满足年轻的Linus Torvalds的使用需求。因此他就萌生了自己开发一个Unix的想法,于是不久,他就找到了前文提到的谭邦宁教授开发的用于教学的Minix操作系统,他把Minix安装到了他的1386个人计算机上。此后,Torvalds又开始陆续阅读了Minix系统的源代码,从Minix系统中学到了很多重要的系统核心程序设计理念和设计思想,从而逐步开始了Linux系统雏形的设计和开发。

Linux核心概念

        自由软件与FSF

        自由软件

        简单地理解,自由软件的核心就是没有商业化软件版权制约,源代码开放,可无约束自由传播。

        自由软件基金会FSF

        FSF(Free Software Foundation)的中文意思是自由软件基金会,是Richard Stallman与1984年发起和创办的。FSF的主要项目是GNU项目。它的目标是建立自由发布和可移植的类Unix操作系统产品。GNU项目本身产生的主要软件包括:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU's awk)等。

GNU简介

        GNU的全称为GNU's not unix,意思是"GNU不是UNIX",GNU计划,又称“革奴计划”,是由Richard Stallman在1984年公开发起的,是FSF的主要项目。这个项目的目标是建立一套完全自由的和可移植的类Unix操作系统。

        GNU类Unix操作系统是由一系列应用程序、系统库和开发工具构成的软件集合,例如:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言,以及gawk(GNU's awk)等,并加上了用于资源分配和硬件管理的内核。

        但是GNU自己的内核Hurd仍在开发中,离实用还有一定的距离。因此,这个GNU系统并没有流行起来。现在的GNU系统通常是使用Linux系统的内核、加上GNU项目贡献的一些组件,以及其他相关程序组成的,这样的组合被称为GNU/Linux操作系统。

        到1991年Linux内核发布的时候,GNU项目已经完成了除系统内核之外的各种必备软件的开发。在Linux Torvalds和其他开发人员的努力下,GNU项目的部分组件又运行到了Linux内核之上。

        例:GNU项目里的Emacs、gcc、bash、gawk等,至今都是Linux系统中很重要的基础软件。

GUN插图1

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐