linux 是什么

一. Linux 是什么

计算机是由一堆硬件所组成的,为了更加有效的使用这些硬件,于是乎就有了操作系统。操作系统除了能够有效的控制这些硬件资源的分配,并提供计算机运行所需要的功能之外,操作系统也会提供一整组系统调用的接口给软件程序员开发用。Linux 就是一套操作系统,Linux 就是内核与系统调用那两层,如下图所示:
linux 是什么_第1张图片

二.Linux 之前 Unix 的历史

  • 1969年,Bell、MIT 与GE 合作研发 “Multics”系统,目的让大型主机可以同时提供300台以上的终端机连接使用的目标。
  • 1969年,Bell 实验室的 KenTompson 开发了一个小的操作系统用于满足自己的需求,这个系统包含一组内核程序,同时包括一些内核工具程序,以及一些小的文件系统。这个就是 UNIX 的原型。这个文件系统有两个重要的概念:
    • 所有的程序或者系统装置都是文件
    • 不管构建编辑器还是附属文件,缩写的程序只有一个目的,就是要高校的完成目标
  • 1973年, UNIX 正式诞生,Ritchie 等人以C语言写出了第一个 正式的 UNIX 内核。
  • 1977年,伯克利大学的 Bill Joy 在取得了 UNIX 的内核源码后,开发了BSD(Berkeley Software Distribution),同时 AT&T 推出了 System V,并收回 UNIX 的版权。
  • Andrew Tanenbaum 自己动手写了 Minix 这个 UNIX like 内核,并且与Unix 兼容。
  • Richard Mathew Stallman 发起了 GNU 项目,掀起了自由软件的风潮,GNU的目的是创办一个自由开放的 UNIX 操作系统(Free UNIX),开发了重要的软件:Emacs,GNUC(gcc), GNU Library(GLIBC) 和 Bash Shell,后来 Linus Torvalds 使用这些工具写了一个小小的内核程序,可以在386 机器上运行,从此开始了Linux 不平凡的历史。

PS: 这里的自由软件的重点并不是指“免费”的,而是指具有“自由度”的软件,自由度是指用户可以自由执行,复制,再发行,学习和修改与强化自由软件。

三.Linux 开发

  • Torvalds 参考 Minix 的设计理念与书上的代码,然后仔细研究出 386个人计算机的性能优化,使用GNU项目提供的自由软件将内核程序代码与 386 紧紧地结合在一起,最终写出了所需要的内核程序Linux。
  • 为了让Linux 能够兼容 Unix,Torvalds 参考标准的 POSIX 规范修改 Linux,让Linux符合软件能够运作的规范。
  • 随着广大志愿者的加入,1994年正式推出了Linux 的内核正式版本 Version 1.0,同时加入了X Window System 的支持,并指明企鹅为Linux的吉祥物。
  • 1994年以后,Linux 被开发到更多的硬件方面上。

四.Linux 相关知识

1. Linux 的内核版本

Linux 的内核版本为: 主版本.次版本.释出版本-修改版本

主、次版本为技术,表示为开发中的版本,主、次为偶数表示稳定版本。

2. Linux distributions

“Linux + 各种软件” 就算一个相当完整的操作系统了, 很多商业公司或者非营利性团体奖 linux Kernel(含 tools) 与可运行的软件集成起来,加上自己的工具程序,组成一个可以安装的系统,我们称之为 Linux distribution,一般中文翻译为可完全安装套件。
linux 是什么_第2张图片
各种 Distributions 可以主要分为两大系统
- 以 RPM 方式安装软件的系统,包括Red Hat, Fedora, SuSE 等。
- 一种是以 Debian 的 dpkg 方式安装的软件的系统,包括 Debian, Ubuntu,B2D 等。

虽然各个 Distributions 各不相同,但是大多选用都是比较知名的软件,而且依据LSB(Library Standard Base)和 FHS(File System Hierachy Standard)标准规范。唯一的差别就是开发者开发出来的管理工具以及套件管理的模式。

Linux 的特色
  • 自由与开放的使用与学习环境
  • 配置需求低廉
  • 内核功能强大而稳定
  • 独立作业
优缺点

优点:稳定的系统,免费或少许费用,安全性。漏洞的快速修补,多任务多用户,用户与用户组的规划,相对比较不耗资源的系统,适合需要小内核的嵌入式系统,整合度佳且多样的图形用户界面(GUI)。

缺点:没有特定的支持厂商,游戏的支持度不足,专业软件的支持度不足。

五.参考资料:

  • 《鸟哥的私房菜》
  • www.linux.org
  • https://www.kernel.org

你可能感兴趣的:(计算机科学基础)