Linux学习-认识Linux

  1. Linux简介:Linux是一个操作系统,类似于我们常见的Windows系统,但又和Windows系统完全不同。Linux是自由的,免费和开放源码的基于POSIXUnix的多用户、多任务、支持多线程和多 CPU 的操作系统。Linux 继承了 Unix 以网络为核心的设计思想,还是是一个性能稳定的多用户网络操作系统

    ​ 严格来讲Linux这个名词其实本身只表示Linux内核,但在日常工作中大家都已经习惯用Linux来代表所有基于Linux内核的各种发行版操作系统。我们所浏览过的网页所使用的服务器基本都是Linux系统的,作为服务器的后台提供各种各样的网页和资源。

    ​ Linux吉祥物:企鹅。

  1. UNIX发展:

    • 1965年,美国麻省理工学院(MIT)、通用电气公司(GE)及AT&T的贝尔实验室联合开发 Multics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因Multics追求的目标过于庞大复杂,项目进度远远落后于计划,最后贝尔实验室宣布退出,项目搁置;
    • 1969年贝尔实验室肯・汤普森开发了一款游戏(travel space)在原有操作系统上运行缓慢,于是在Multics项目基础上重新开发一款操作系统,也就是UNIX系统。当时UNIX操作系统是使用的汇编语言开发的;
    • UNIX诞生之初并没有得到很好的发展,汤普森所在的贝尔实验室隶属于AT&T,AT&T当时主要业务为电话和电报而不包括软件产品,所以UNIX不能作为软件产品来销售。
    • 60年代末,美苏冷战的背景下诞生了ARPANET,ARPANET最开始使用的网络协议NCP存在一些问题,美国国防部接手ARPANET以后决定资助开发一项新的协议(TCP/IP)。为了TCP/IP更好的普及,美国国防部找到AT&T把TCP/IP捆绑在UNIX上,面向大学发放非商业的许可
    • 1971年,肯・汤普森的同事丹尼斯・里奇发明了C语言
    • 1973年,UNIX系统的绝大部分源代码用C语言重写,这为提高UNIX系统的可移植性打下基础;
  2. UNIX主要发行版本:

    操作系统 公司 硬件平台
    AIX IBM PowerPC
    HP-UX HP PA-RISC
    Solaris Sun SPARC
    Linux RedHat、Ubuntu…… Intel、AMD、Cyrix、RISE……

    ​ 就UNIX而言,国内IBM一家独大,因此AIX也是使用最多的,UNIX对普通个人用户来讲使用起来比较困难,因为不能在通用计算机安装,必须在相应硬件平台使用。当然并不绝对,如果我们想要学习UNIX的话,可以选择SUN公司的Solaris。

    ​ 另外,Linux属于UNIX分支的一种,我们把它叫做类UNIX系统BSD也是UNIX的分支,新浪曾经使用过BSD的一个分支版本,叫FreeBSD。Apple公司的MacOS底层也是UNIX。UNIX有很多的分支,我们都可以称之为类UNIX操作系统。

  3. GNU计划:

    ​ GNU是“GNU's Not UNIX”的缩写,是由著名的美国黑客理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统GNU。
    由于GNU将要实现UNIX类各系统的接口标准,因此GNU计划并不局限于Linux系统也可以开发其他不同的操作系统。

    ​ 为了确保GNU系列软件可以真正的自由地“使用、复制、修改和发布”,所有GNU软件都包含有一份在禁止其他人添加任何限制的情况下,授权所有权利给任何人的协议框架,GNU通用公共许可证协议(GNUGPL)。

    • 1985年,理查德·斯托曼创立了自由软件基金会(FSF)来为GNU计划提供技术、法律以及资金支持。尽管GNU计划大部分时候是由大家自愿无偿贡献的,但FSF还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat红帽兼并的Cygnus Solutions。
    • 1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs、C语言编译器GCC以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件,就是操作系统的内核(称为HURD)。
    • 1991年,Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。
    • 1992年,Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此,GNU计划自己的内核HURD依然在开发中,目前已经发布Beta版本)
  4. GPL(General Public License):中文名为通用公共许可,是一个最著名的开源许可协议,GPL许可是由自由软件基金会(FSF)创建的。

     简单的理解,GPL许可的核心,是保证任何人有共享和修改自由软件的自由,任何人有权取得、修改和重新发布自由软件的源代码权利,但都必须同时给出具体更改的源代码。
    
  5. POSIX标准:可移植操作系统接口(Portable Operating System Interface)是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称,其正式称呼为IEEE Std 1003,而国际标准名称为ISO/IEC 9945。

    Linux基本上逐步实现了POSIX兼容,但并没有参加正式的POSIX认证。

  6. Linux的发展:

    • 70年代末,UNIX又面临了突如其来的被AT&T回收版权的重大问题,特别是要求禁止对学生群体提供Unix系统源代码;
    • 1984年,芬兰赫尔辛基大学教授Andrew S.Tanenbaum开发了用于教学的UNIX系统,命名为MINIX
    • 1989年,Andrew S.Tanenbaum将MINIX系统运行与x86的PC计算机平台;
    • 1990年,芬兰赫尔辛基大学学生Linus Torvalds首次接触MINIX系统;
    • 1991年,Linus Torvalds开始在MINIX上编写各种补丁和驱动程序等,但是教授并不接受外来的代码,于是Linus Torvalds以MINIX为模板开发了自己的操作系统Linus's UNIX,也就是后来的LinuxLinus Torvalds把自己的Linux放到了学校为学生开放的网站上。其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。
    • 1991年底,Linus Torvalds公开了Linux内核源代码0.0.2版。
    • 1993年,Linux1.0版发行,Linux转向GPL版权协议。
    • 1994年,Linux的第一个商业发行版Slackware问世。
    • 1996年,美国国家标准技术局的计算机系统实验室确认Linux版本1.2.13(由Open Linux公司打包)符合POSIX标准。
    • 1999年,Linux的简体中文发行版问世。
    • 2000年后,Linux系统日趋成熟,涌现大量基于Linux服务器平台的应用,并广泛应用于基于ARM技术的嵌入式系统中。
  7. Linux内核版本:

    Linus Torvalds1991年发布第一个Linux版本只是一个Linux内核,只有90多K。内核指的是一个提供设备驱动、文件系统、进程管理、网络通信等功能的系统软件,内核并不是一套完整的操作系统,它只是操作系统的核心。

    Linux内核官网www.kernel.org会定期更新内核版本,内核版本一般采用3.11.10的形式命名,3是主版本,11是次版本,10是末版本。

    一些组织或厂商加入自己的桌面和应用程序进行二次开发就构成了 Linux 的发行版本,这就是内核版本跟发行版本的区别。Linux目前全球至少有386个不同的发行版本,了解Linux发行版的最佳方法是查看Linux流行风向标的网站www.distrowatch.com。比较主流的Redhat系列与Debian系列最主要的区别就是软件安装方式的不同。

  8. Linux的分支(图片来源于网络):

    Linux-branch

  9. Linux优缺点:

    优点:

    • 自由开放(源码公开)
    • 完全兼容UNIX
    • 系统强大并且安全稳定
    • 良好的移植性及灵活性
    • 支持几乎所有的网络协议及开发语言
    • 完善的多用户、多任务,支持多进程、多CPU的系统

    缺点:软件和商业化支持不够

  10. Linux与Windows比较):

    比较 Windows Linux
    界面 收费 免费或少许费用
    软件与支持 软件数量和质量都不错;由微软官方提供支持和服务 开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的 Linux开发者和自由软件社区提供支持
    安全性 经常打补丁安装系统安全更新,还是会中病毒木马 相对来说比Windows平台要更加安全
    使用习惯 普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成一切操作,用户上手容易入门简单 兼具图形界面操作和完全的命令行操作,可以只用键盘完成一切操作,新手入门较困难,需要一些学习和指导,一旦熟练之后效率极高
    可定制性 封闭的,系统可定制性很差 开源,可定制化强
    应用场景 桌面操作系统主要使用的是 window 支撑百度,谷歌,淘宝等应用软件和服务的,是后台成千上万的 Linux服务器主机。世界上大部分软件和服务都是运行在 Linux之上的
    多用户多任务 单用户、多任务 多用户、多任务

    多用户多任务:

    • 单用户:一个用户,在登录计算机(操作系统),只能允许同时登录一个用户;
    • 单任务:一个任务,允许用户同时进行的操作任务数量;
    • 多用户:多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作;
    • 多任务:多个任务,允许用户同时进行多个操作任务。

    `关于Linux的发展历史有多个版本,这里我总结了我认为最正确的,如果有误,欢迎大家批评指正!`
posted @ 2020-04-21 18:12  IoT-yangyu  阅读(226)  评论(0编辑  收藏  举报