Linux是什么

logo:
在这里插入图片描述

Linux是一个操作系统。

操作系统:
在这里插入图片描述

  1. 操作系统(Operating System,OS)本身就是一个软件。

  2. 常见操作系统:Windows、Linux、Mac OS、Android等

  3. Office、QQ、迅雷、微信等则称为 应用程序

  4. 操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序,例如:

    1. 文件系统
      1. 提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。
    2. 设备驱动程序
      1. 提供连接计算机的每个硬件设备的接口,设备驱动器使程序能够写入设备,而不需要了解执行每个硬件的细节。
    3. 用户接口
      1. 操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows 图形界面,可以理解为一种用户与操作系统交互的方式;智能手机的 Android 或 iOS 系统,也是一种操作系统的交互方式。
    4. 系统服务程序
      1. 当计算机启动时,会自启动许多系统服务程序,执行安装文件系统、启动网络服务、运行预定任务等操作。

    打个比方,操作系统就好像是一个政府,其它软件都会被它管控;操作系统在给其他软件提供各种便利的同时,还会约束其他软件不能为所欲为。

Linux的特点

  1. Linux 是一套开放源代码程序的、可以自由传播的类 Unix 操作系统软件。

  2. Linux 与 Windows 到底有哪些不同

    1. 免费与收费

      1. 最新正版 Windows 10,需要付费购买;
      2. Linux 免费或少许费用。
    2. 软件与支持

      1. Windows 平台:数量和质量的优势,不过大部分为收费软件;由微软官方提供重要支持和服务;
      2. Linux 平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;由全球所有的 Linux 开发者和自由软件社区提供支持。
    3. 安全性

      1. Windows 平台:三天两头打补丁安装系统安全更新,还是会中病毒木马;
      2. Linux 平台:要说 Linux 没有安全问题,那当然是不可能的,这一点仁者见仁智者见智,相对来说肯定比 Windows 平台要更加安全,使用 Linux 你也不用装某杀毒、某毒霸。
    4. 使用习惯

      1. Windows:普通用户基本都是纯图形界面下操作使用,依靠鼠标和键盘完成一切操作,用户上手容易,入门简单;
      2. Linux:兼具图形界面操作(需要使用带有桌面环境的发行版)和完全的命令行操作,可以只用键盘完成一切操作,新手入门较困难。
    5. 可定制性

      1. Windows:这些年之前算是全封闭的,系统可定制性很差;
      2. Linux:你想怎么做就怎么做,Windows 能做到得它都能,Windows 做不到的,它也能。
    6. 应用范畴

      1. 或许你之前不知道 Linux ,要知道,你之前在 Windows 使用百度、谷歌,上淘宝,聊 QQ 时,支撑这些软件和服务的,是后台成千上万的 Linux 服务器主机,它们时时刻刻都在忙碌地进行着数据处理和运算,可以说世界上大部分软件和服务都是运行在 Linux 之上的。
    7. Windows 没有的

      1. 稳定的系统
      2. 安全性和漏洞的快速修补
      3. 多用户
      4. 用户和用户组的规划
      5. 相对较少的系统资源占用
      6. 可定制裁剪,移植到嵌入式平台(如安卓设备)
      7. 可选择的多种图形用户界面(如 GNOME,KDE)
    8. Linux 没有的

      1. 特定的支持厂商
      2. 足够的游戏娱乐支持度
      3. 足够的专业软件支持度

Unix和Linux发展史

UNIX发展史

(1)1965年,美国麻省理工学院(MIT)通用电气公司(GE)AT&T的贝尔实验室联合开发 Multics 工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因 Multics 追求的目标过于庞大复杂,项目进度远远落后于计划,最后贝尔实验室宣布退出。

(2)1969年,美国贝尔实验室的 肯 · 汤普森 在 DEC PDP-7 机器上开发出了 UNIX 系统。

(3)1971年,肯 · 汤普森 的同事 丹尼斯 · 里奇 发明了C语言;1973年,UNIX系统的绝大部分源代码用C语言重写,这为提高UNIX系统的可移植性打下基础。

UNIX主要发行版本

操作系统公司硬件平台
AIXIBMPowerPC
HP-HXHPPA-RISC
SolarisSunSPARC
LinuxRed Hat Linux、
Ubuntu Linux …
LA(Intel、AMD、
Cyrlx、RISE …)

Linux发展史

背景:

  • UNIX 在服务器市场上尤其是大学校园中成为主流操作系统,但价格昂贵。
  • 学生们唯一低廉的选择就是 MINIX,这是一个功能有限的类似 UNIX 的操作系统,作者 Andrew Tanenbaum 开发它的目的是用于教学。

出现:

1991 年 10 月,Linus Torvalds(Linux 之父)在赫尔辛基大学接触 UNIX,他希望能在自己的电脑上运行一个类似的操作系统。可是 UNIX 的商业版本非常昂贵,于是他从 MINIX 开始入手,计划开发一个比 MINIX 性能更好的操作系统。很快他就开始了自己的开发工作。他第一次发行的版本迅速吸引了一些黑客。尽管最初的 Linux 并没有多少用处,但由于一些黑客的加入使它很快就具有了许多吸引人的特性,甚至一些对操作系统开发不感兴趣的人也开始关注它。

发展:

Linux 本身只是操作系统的内核。内核是使其它程序能够运行的基础。它实现了多任务和硬件管理,用户或者系统管理员交互运行的所有程序实际上都运行在内核之上。其中有些程序是必需的,比如说,命令行解释器(shell),它用于用户交互和编写 shell 脚本。 Linus 没有自己去开发这些应用程序,而是使用已有的自由软件。这减少了搭建开发环境所需花费的工作量。实际上,他经常改写内核,使得那些程序能够更容易地在 Linux 上运行。许多重要的软件,包括 C 编译器,都来自于自由软件基金 GNU 项目。GNU 项目开始于 1984 年,目的是为了开发一个完全类似于 UNIX 的免费操作系统。为了表扬 GNU 对 Linux 的贡献,许多人把 Linux 称为 GNU/Linux(GNU 有自己的内核)。

1992-1993 年,Linux 内核具备了挑战 UNIX 的所有本质特性,包括 TCP/IP 网络,图形界面系统(X window ),Linux 同样也吸引了许多行业的关注。一些小的公司开始开发和发行 Linux,有几十个 Linux 用户社区成立。1994 年,Linux 杂志也开始发行。

Linux 内核 1.0 在 1994 年 3 月发布,内核的发布要经历许多开发周期,直至达到一个稳定的版本。

Linux诞生的大事件

下面列举一些 Linux 诞生大事件:

  • 1965 年,Bell 实验室、MIT、GE(通用电气公司)准备开发 Multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;

    那时候并没有鼠标、键盘,输入设备,只有卡片机。因此,如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过;Multics:Multiplexed Information and Computing Service;

  • 1969 年,Ken Thompson(C语言之父)利用汇编语言开发了 File Server System(Unics,即 UNIX 的原型);

    因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 只是为了移植一款“太空旅游”的游戏;

  • 1973 年,Dennis Ritchie 和 Ken Thompson 发明了 C 语言,而后写出了 UNIX 的内核;

    将 B 语言改成 C 语言,由此产生了 C 语言之父;90% 的代码是 C 语言写的,10% 的代码用汇编语言写的,因此移植时只要修改那 10% 的代码即可;

  • 1977 年,Berkeley 大学的 Bill Joy 针对他的机器修改了 UNIX 源码,称为BSD(Berkeley Software Distribution);

    Bill Joy 是 Sun 公司的创始人;

  • 1979 年,UNIX 发布 System V,用于个人计算机;

  • 1984 年,因为 UNIX 规定“不能对学生提供源码”,Tanenbaum 老师自己编写兼容于 UNIX 的 Minix,用于教学;

  • 1984 年,Stallman 开始 GNU(GNU’s Not Unix)项目,创办 FSF(Free Software Foundation)基金会;

    产品:GCC、Emacs、Bash Shell、GLIBC;倡导“自由软件”;GNU 的软件缺乏一个开放的平台运行,只能在 UNIX 上运行;自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着 GPL 的版权;自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;

  • 1985 年,为了避免 GNU 开发的自由软件被其他人用作专利软件,因此创建 GPL(General Public License)版权声明;

  • 1988 年,MIT 为了开发 GUI,成立了研发 XFree86 的组织;

  • 1991 年,芬兰赫尔辛基大学的研究生 Linus Torvalds 基于 gcc、bash 开发了针对 386 机器的 Linux 内核;

  • 1994 年,Torvalds 发布 Linux-v1.0;

  • 1996 年,Torvalds 发布 Linux-v2.0,确定了 Linux 的吉祥物:企鹅。

linux重要人物:

  1. Ken Thompson:C 语言之父和 UNIX 之父

  2. Dennis Ritchie:C 语言之父和 UNIX 之父

  3. Stallman:著名黑客,GNU 创始人,开发了 Emacs、gcc、bash shell

  4. Bill Joy:BSD 开发者

  5. Tanenbaum:Minix 开发者

  6. Linus Torvalds:Linux 之父,芬兰赫尔辛基大学

Linux的几个主流发行版本

在这里插入图片描述

  • RedHat
    • Redhat系列,包括
    • RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、
    • Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、
    • CentOS(RHEL的社区克隆版本,免费)。这个版本的特点就是使用人群数量大,资料非常多,不会的可以很容易找到高手指点。
    • Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。
  • Debian
    • 包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经 过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是 稳定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。
  • SUSE Linux
    • 它原是德国的 SuSE Linux AG公司发行维护的Linux发行版,是属于此公司的注册商标。2004年这家公司被Novell公司收购。广义上SUSE Linux是一系列Linux发行版,第一个版本出现在1994年初,SUSE现存的最古老的商业发行版之一,起源于德国,而SUSE Linux 针对个人用户。SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。
Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐