当前位置: 首页 > news >正文

【Linux基础】Linux发展史

👉系列专栏:【Linux基础】

🙈个人主页:sunny-ll


一、前言

本篇主要介绍Linux的发展历史,这里并不需要我们掌握,但是作为一个合格的Linux学习者与操作者,这些东西是需要了解的,而且对于我们之后的学习与感悟是必不可少的。读史以明智,通过了解Linux的历史,相信你会收获不小!

二、Linux发展史 

💦 在这里简要介绍Linux的发展史。要说Linux,还得从UNIX说起。

🍎UNIX的发展史

💦 UNIX的诞生

        UNIX 操作系统由肯•汤普森(Ken Thompson)和丹尼斯•里奇(Dennis Ritchie)发明。它的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。

        可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。

        以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。
 

💦C语言对UNIX的影响 

        自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。

        到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。

        图 1 为肯•汤普森与丹尼斯•里奇的合影,天才都是不修边幅的……

        随后出现了各种版本的 UNIX 系统,目前常见的有 Sun Solaris、FreeBSD、IBM AIX、HP-UX 等。

        20 世纪 70年代初,计算机界还有一项伟大的发明——TCP/IP 协议,这是当年美国国防部接手 ARPAnet 后所开发的网络协议。美国国防部把 TCP/IP 协议与 UNIX 系统、C语言捆绑在一起,由 AT&T 发行给美国各个大学非商业的许可证,这为 UNIX 系统、C语言、TCP/IP 协议的发展拉开了序幕,它们分别在操作系统、编程语言、网络协议这三个领域影响至今。肯•汤普森和丹尼斯•里奇因在计算机领域做出的杰出贡献,于 1983 年获得了计算机科学的最高奖——图灵奖。
 

🍐Linux 的诞生 

        Linux 内核最初是由林纳斯•托瓦兹(Linus Torvalds)在赫尔辛基大学读书时出于个人爱好而编写的,当时他只是觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,也可能是出于英雄主义。于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10000 行代码。

 💦Linux概述

        Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

        Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

 💦Linux开源的优势

        林纳斯•托瓦兹没有保留 Linux 源代码的版权,而是公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。

        为了吸引更多的有志之士加入开发据估计,现在只有 2% 的 Linux 核心代码是由林纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由林纳斯•托瓦兹和后来陆续加入的众多 Linux 爱好者共同开发完成的,当然也有黑客。

        相比于 UNIX,Linux 最大的创新是开源免费,这是它能够蓬勃发展的最重要原因;而目前的 UNIX 大部分都是收费的,小公司和个人都难以承受。
 

        林纳斯•托瓦兹无疑是这个世界上最伟大的程序员之一,他还搞出了世界上最先进的分布式版本控制系统Git 。

        Linux的Logo 是一只企鹅。

        企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,任何国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。

🍉Linux系统结构 

         Linux 系统可以粗糙地抽象为 3 个层次,如图所示。底层是 UNIX/Linux 操作系统,即系统内核(Kernel);中间层是 Shell 层,即命令解释层;高层则是应用层。

💦 内核层

        内核层是 UNIX/Linux 系统的核心和基础,它直接附着在硬件平台之上,控制和管理系统内各种资源(硬件资源和软件资源),有效地组织进程的运行,从而扩展硬件的功能,提高资源的利用效率,为用户提供方便、高效、安全、可靠的应用环境。

💦 Shell层

        Shell 层是与用户直接交互的界面。用户可以在提示符下输入命令行,由 Shell 解释执行并输出相应结果或者有关信息,所以我们也把 Shell 称作命令解释器,利用系统提供的丰富命令可以快捷而简便地完成许多工作。

 💦 应用层

        应用层提供基于 X Window 协议的图形环境。X Window 协议定义了一个系统所必须具备的功能(就如同 TCP/IP 是一个协议,定义软件所应具备的功能),任何系统能满足此协议及符合 X 协会其他的规范,便可称为 X Window。

        现在大多数的 UNIX 系统上(包括 Solaris、HP-UX、AIX 等)都可以运行 CDE (Common Desktop Environment,通用桌面环境,是运行于 UNIX 的商业桌面环境)的用户界面;而在 Linux 上广泛应用的有 Gnome、KDE 等。

        X Window 与微软的 Windows 图形环境有很大的区别:

        Linux 系统与 X Window 没有必然捆绑的关系,也就是说,Linux 可以安装 X Window,也可以不安装;而微软的 Windows 图形环境与内核捆绑密切。
        Linux 系统不依赖图形环境,依然可以通过命令行完成 100% 的功能,而且因为不使用图形环境还会节省大量的系统资源。(这里才是重点)

🍓Linux应用领域

        自诞生至今,Linux系统经过无数人的开发与完善,逐渐发展成了与Unix、Windows并列的操作系统,且应用于人类生活的诸多领域,包括服务器领域、嵌入式领域和桌面应用领域等。

💦服务器领域

        Linux系统最显著的优点便是稳定,这是企业服务器对系统的首要要求。此外,Linux系统是自由软件,还具备体积小、价位低、可定制等优点,可用于搭建Web、数据库、邮件、DNS、FTP等各种服务器。总的来说,使用Linux搭建的服务器不仅功能齐全、稳定性高、运营成本小,还无需考虑版权问题,因此Linux系统逐渐渗入到了电信、政府、教育、银行、金融等各个行业,在服务器领域的应用也越来越广泛。

 💦嵌入式应用领域

        由于具有成本低廉、可设定性强等特点,Linux在嵌入式应用领域的使用也极其广泛,从路由器、交换机、防火墙等因特网设备,到冰箱、空调等各种家用电器,以及自动贩卖机等专用的控制系统都有Linux系统的身影。此外,Linux也是目前移动设备上常用的操作系统之一。

💦个人桌面领域

       近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

 💦Linux在云计算/大数据领域的发展

        互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。

🍌Linux的发行版本 

💦CentOS

        CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。

💦Ubuntu 

        Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定爱不释手的一款操作系统。
        红帽企业级Linux 这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。

 💦Fedora

        小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

 💦Kali Linux

        Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。
        毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(不谈论恶意黑客)青睐的操作系统。

 💦Debian

        Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。

四、共勉 

        通过上面的介绍,想必你对Linux有了更加深入的了解也了解到了它的重要性,这可以使以后Linux的学习目标更加明确,同时我还会继续更新对 Linux基础的讲解,请持续关注我哦!!! 

http://www.lryc.cn/news/182691.html

相关文章:

  • openGauss学习笔记-90 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用重试中止事务
  • 【Docker】搭建 Docker 镜像仓库
  • Python数据攻略-Pandas的数据计算、拼接与可视化
  • 【计算机网络】HTTPS协议详解
  • Septentrio接收机二进制的BDS b2b改正数解码
  • nvm 管理 node版本
  • LeetCode 15.三数之和
  • Linux实用操作(固定IP、进程控制、监控、文件解压缩)
  • Redis高可用之哨兵模式、集群
  • Python数据攻略-DataFrame的创建与基础特性
  • 【word】从正文开始设置页码
  • 计算机网络 快速了解网络层次、常用协议、常见物理设备。 掌握程序员必备网络基础知识!!!
  • CUDA 安装
  • Springboot+vue的在线试题题库管理系统(有报告),Javaee项目,springboot vue前后端分离项目。
  • 【简单的留言墙】HTML+CSS+JavaScript
  • linux 火狐浏览器报错Firefox is already running, but is not responding
  • Python:操作SQLite数据库简单示例
  • 第8期ThreadX视频教程:应用实战,将裸机工程移植到RTOS的任务划分,驱动和应用层交互,中断DMA,C库和中间件处理等注意事项
  • 【NeurIPS 2023】Backdoor对抗攻防论文汇总
  • (Note)在Excel中选中某一行至最后一行的快捷键操作
  • 古记事法:Windows 下 16 位汇编环境搭建指南(DOSBox-X 篇)
  • 云计算基础:理解AWS、Azure和Google Cloud
  • 【数据结构初阶】七、非线性表里的二叉树(堆的实现 -- C语言顺序结构)
  • 基于SpringBoot的网上超市系统
  • 在springboot项目中整合Druid
  • 微信支付费率降低到0.2%,商家收款开户手续费0.6%降低的操作方法
  • 计算机毕业设计 基于SSM的民宿推荐系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 【机器学习】训练集/验证集/测试集释疑
  • LCR 120.寻找文件副本
  • 代码随想录算法训练营第44天|动态规划:完全背包理论基础、518.零钱兑换II、377. 组合总和 Ⅳ