【Linux专区】 Linux is not unix | Linux发展史 | Linux应用现状

news2024/11/25 2:27:52

💞💞欢迎来到 Claffic 的博客💞💞

     👉 专栏《Linux专区》👈

       

前言:

上次提前带大家搭建了Linux的环境,其实之前应该还有一步的,就是向大家介绍Linux发展史,毕竟如此伟大的产品,不懂Linux史就学Linux总觉得有点奇怪... ...


(没有目录) ヽ( ̄ω ̄( ̄ω ̄〃)ゝ

Part1:从Unix谈起

🪄Unix 也是一种操作系统,诞生于20世纪70年代初,早于 Linux 操作系统,它的发展催生了 Linux 的诞生。

📍我取了一些 Unix 发展的重要结点:

1969-1970年,AT&T 的贝尔实验室研究人员 Ken Tompson 和 Dennis Ritchie (也是C语言之父),在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX 就是一个有价值的、高效的、多用户和多任务的操作系统。
1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加
州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。
1975年伯克莱由下属部门 BSD 发行了自己的UNIX版本。UNIX 的 BSD 版本成为 AT&T 贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。
Unix 闭源开发,价格昂贵,很难在个人电脑上普及。计算机领域迫切需要一个稳定,廉价,开放的操作系统,正是对这种现状的不满,一批大佬选择创造新的操作系统来改变这种现状 (如此生猛)。
 Andrew S. Tanenbaum
   
   先是在荷兰任职教授的美籍人  Andrew S. Tanenbaum,他于1987年发布了 MINIX 操作系统,以提供教学支持。
    不过既然是面向教学的操作系统,就必然有其局限性,并没有成为一个强有力的操作系统,不过,不过好在 MINUX开放源代码的,这吸引了一大批学生钻研它的源代码,芬兰赫尔辛基大学二年级的学生 Linus Torvalds 就是其中一位。

Linus Torvalds

    在充分吸收了 MINIX 精华的基础上,Linus 在1991年写出了一款操作系统 -- 起初他给这款操作系统命名为 “Freax” (Linux0.01),意思是自由(“free”)和奇异(“freak”) 的结合字,并且附上了"x"这个常用的字母,以配合所谓的 Unix-like 的系统,起初这款操作系统只有 1.1w 行代码,它的诞生是 Linux 时代开始的标志。

    但是 Linus 的朋友 Ari Lemmke 建议将其改为 "Linux",并将其发布到 FTP 服务器上。这个名字的本意为 Linus Unix 组成,意为“像 Unix 一样的操作系统”,后来 Linus 也接受了这个名字。

也有人这样理解:

Linux is not unix  -->  Linux

我是非常认同这种解释的,因为 Linux 与 Unix 走的是两条完全不同的道路,一个开源,一个闭源,当然,没有好坏之分,Linux 的诞生以及后续大量极客的投入,进一步推动了个人电脑的普及,这使得操作系统的发展更加多元化,这是一场了不起的革命。

❓或许你也好奇,这只企鹅是怎么来的?

告诉你:1994年,Linux 正式核心1.0发布的时候,大家都期望 Linus 想一只吉祥物代表 Linux,于是他就想起来那段  没好 回忆:在澳大利亚的一个动物园里被一只企鹅咬了,嘿,干脆就这只企鹅吧。

有一个格局开阔的说法:企鹅代表了南极,而南极是全世界共有的一块大陆,也就表示了 Linux 属于全人类!!!

Part2:Linux发展历程

Linux 从诞生到走进大众视野不是一蹴而就的,也经历了一段光辉历程,期间离不开 Linus,计算机爱好者,极客和基金会等。

📍取重要发展结点:

Linus于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。

Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。

1994年3月,Linux1.0内核发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

2011年7月,Linux 3.0内核发布,此内核有大约1500~2000万行代码,在性能、文件系统、硬件支持、能源管理和网络支持等方面都有了很大的提升。

有张图很好地展示了 Linux 内核的发展:

来源:最详细的Linux简史来了——Linux大神带你领略它的前世今生 (zhihu.com)

看到这里,你也许会疑惑:为什么当今的 Linux 不叫做 Linux ,而是有各种名称:像 CentOS,Ubuntu 等?

准确的说,Linux 是内核,并不是操作系统。

❓那么什么是内核,什么又是操作系统呢?

有个简单的比喻:

用户不能直接使用发动机,所以会有厂商生产出完整的汽车来供用户使用,汽车就是沟通用户和发动机之前的桥梁;

推演到内核和操作系统也是一样的道理:用户是不能直接使用内核的,所以就出现了机构发行操作系统,操作系统沟通了用户和内核,本质上还是在使用内核。

常见以 Linux 为内核的发行版:

Debian
Debian 运行起来极其稳定,这使得它非常适合用于服务器。 debian 这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。
Ubuntu
Ubuntu Debian 的一款衍生版,也是当今最受欢迎的免费操作系统。 Ubuntu 侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux 的移动设备上很常见。 Ubuntu 是新手用户肯定爱不释手的一款操作系统。
Red Hat 企业级Linux
这是第一款面向商业市场的 Linux 发行版。它有服务器版本,支持众多处理器架构,包括 x86
x86_64 。红帽公司通过课程红帽认证系统管理员 / 红帽认证工程师( RHCSA/RHCE ),对系统管理员进行培训和认证。
CentOS
CentOS 是一款企业级 Linux 发行版,它使用红帽企业级 Linux 中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary 程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux ;对他们来说, CentOS 值得一试。此外, CentOS 的外观和行为似乎与母发行版红帽企业级Linux 如出一辙。 CentOS 使用 YUM 来管理软件包。
Fedora
小巧的 Fedora 适合这些人:想尝试最先进的技术,等不及程序的稳定版出来。其实, Fedora 就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora 是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。
Kali Linux
Kali Linux Debian 的一款衍生版。 Kali 旨在用于渗透测试。 Kali 的前身是 Backtrack 。用于 Debian 的所有Binary 软件包都可以安装到 Kali Linux 上,而 Kali 的魅力或威力就来自于此。此外,支持 Debian 的用户论坛为Kali 加分不少。 Kali 随带许多的渗透测试工具,无论是 Wififi 、数据库还是其他任何工具,都设计成立马可以使用。Kali 使用 APT 来管理软件包。
毫无疑问, Kali Linux 是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。
•  ... ...  

 

Part3:Linux特点

1.开源

想到 Linux,就想到了开源。

Linux 是一种自由和开放源代码的类 UNIX 操作系统,该操作系统的内核由林纳斯托瓦兹在 1991 年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux 操作系统。严格来讲, Linux 只是操作系统 内核本身,但通常采用“Linux 内核 来表达该意思。而 Linux 则常用来指基于 Linux 内核的完整操作系统,它包括GUI 组件和许多其他实用工具。
• GNU 通用公共许可协议( GNU General Public License ,简称 GNU GPL GPL ),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU 计划而撰写, GPL 给予了计算机程序自由软件的定义, 任何基于GPL 软件开发衍生的产品在发布时必须采用 GPL 许可证方式,且必须公开源代码。
• Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证,任何个人和机构都可以自由地使用Linux 的所有底层源代码,也可以自由地修改和再发布。随着 Linux 操作系统飞速发展,各种集成在Linux 上的开源软件和实用工具也得到了应用和普及,因此, Linux 也成为了开源软件的代名词。

2.广泛的硬件支持

得益于其免费开源的特点,有大批程序员不断地向Linux社区提供代码,使得Linux有着异常丰富的设备驱动资源,对主流硬件的支持极好,而且几乎能运行在所有流行的处理器上。

3.支持多平台

Linux可以运行在多种硬件平台省,如具有x86、68x0、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上,2001年1月份发布的Linux2.4版内核能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
 

此外,Linux 还有很多特点,可以自行查阅。

Part4:Linux应用现状

现如今,Linux 依然有广阔的应用和发展,下面举几个例子:

• Linux在服务器领域的发展
随着开源软件在世界范围内影响力日益增强, Linux 服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux 的快速成长性以及国家相关政策的扶持力度,Linux 服务器产品一定能够冲击更大的服务器市场。
据权威部门统计,目前 Linux 在服务器领域已经占据 75% 的市场份额,同时, Linux 在服务器市场的迅速崛起,已经引起全球IT 产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
• Linux在桌面领域的发展
近年来,特别在国内市场, Linux 桌面操作系统的发展趋势非常迅猛。国内如中标麒麟 Linux 、红旗
Linux 、深度 Linux 等系统软件厂商都推出的 Linux 桌面操作系统,目前已经在政府、企业、 OEM 等领域得到了广泛应用。另外SUSE Ubuntu 也相继推出了基于 Linux 的桌面系统,特别是 Ubuntu Linux ,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux 桌面系统与 Windows 系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
• Linux在移动嵌入式领域的发展
Linux 的低成本、强大的定制功能以及良好的移植性能,使得 Linux 在嵌入式系统方面也得到广泛应用,目前Linux 以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android 操作系统就是创建在 Linux 内核之上的。目前, Android 已经成为全球最流行的智能手机操作系统,据2015 年权威部门最新统计, Android 操作系统的全球市场份额已达 84.6%
此外,思科在网络防火墙和路由器也使用了定制的 Linux ,阿里云也开发了一套基于 Linux 的操作系
“YunOS” ,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux 来实现,而这一切均归功与 Linux 与开源的力量。
• Linux在云计算/大数据领域的发展
互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux 占据了核心优势;据 Linux 基金会的研究, 86% 的企业已经使用 Linux 操作系统进行云计算、大数据平台的构建,目前,Linux 已开始取代 Unix 成为最受青睐的云计算、大数据平台操作系统。


总结: 

带大家了解了 Linux 的历史,记住那只企鹅!!!

码文不易 

如果你觉得这篇文章还不错并且对你有帮助,不妨支持一波哦  💗💗💗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/564758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HNU-电路与电子学-小班3

第三次讨论 1 、直接用晶体管而不是逻辑门实现异或门,并解释这个电路是如何工作的。 (6个 MOS 管构成) 2 、通信双方约定采用 7 位海明码进行数据传输。请为发送方设计海明码校验位 生成电路,采用功能块和逻辑门为接收方设计海…

SCMA基本原理介绍

SCMA: Sparse Code Multiple Access SCMA基本原理 我们考虑一个同步(synchronous)的SCMA系统, 含1个基站(Base Station, BS); J J J个用户(so called layers);K个OFDM…

算法练习-2:送外卖

n 个小区排成一列,编号为从 0 到 n-1 。一开始,美团外卖员在第0号小区,目标为位于第 n-1 个小区的配送站。 给定两个整数数列 a[0]~a[n-1] 和 b[0]~b[n-1] ,在每个小区 i 里你有两种选择: 1) 选择a:向前 a[…

shiro环境搭建

源码部署 这种方法相对复杂,如果不需要分析源码直接用docker就行 前置条件:Maven Ideal Tomcat 下载方式1:https://codeload.github.com/apache/shiro/zip/shiro-root-1.2.4,然后将文件夹导入ideal下载方式2:将shiro…

装饰者模式-java实现

的简介 装饰模式又称为“包装(Wrapper)模式”,以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。动态地给对象添加一些额外地职责,就增加功能而言,装饰模式比生成子类更加灵活。 一般来说,一些特殊场景…

C++ new和delete详解

文章目录 1、 C C C内存分布2、 C C C内存管理方式3、 n e w new new 和 d e l e t e delete delete 底层实现4、定位 n e w new new表达式(了解)5、 m a l l o c 、 f r e e 和 n e w 、 d e l e t e malloc、free和new、delete malloc、free和new、de…

初识Linux:第六篇

初识Linux:第六篇 初识Linux:第六篇1.Linux 软件包管理器 yum2.Linux下的软件生态3.Linux中编辑器vim的使用3.1命令模式3.11控制光标移动3.12复制,粘贴,剪切,删除3.13替换,大小写转换3.14撤销与反撤销3.15查…

深度学习笔记之循环神经网络(六)长短期记忆神经网络(LSTM)

深度学习笔记之循环神经网络——长短期记忆神经网络[LSTM] 引言回顾: RNN \text{RNN} RNN的反向传播过程 RNN \text{RNN} RNN反向传播的梯度消失问题 长短期记忆神经网络遗忘门结构输入门结构遗忘门与输入门的特征融合操作输出门结构 个人感悟 引言 上一节介绍了循…

【C++】哈希——unordered系列容器哈希概念哈希冲突

文章目录 1. unordered系列的关联式容器1.1 引言1.2 unordered_map的使用说明1.3 unordered_set的使用说明1.4 unordered_set和unordered_map的应用1.5 性能比较 2. 哈希概念3. 哈希函数4. 哈希冲突5. 哈希冲突的解决——开散列和闭散列5.1 闭散列5.2 开散列 1. unordered系列的…

C++:征服C指针:关于指针

关于指针 1.看一个简单的程序,来接触下指针二级目录三级目录 本章节,我们重点分析C指针,首先我们从指针的概念谈起 💚💚💚 指针是一种保存变量地址的变量,并在C中频繁使用在C语言标准中&#xf…

数据结构与算法01:时间复杂度

目录 【复杂度分析】 【降低时间复杂度】 降低时间复杂度的必要性 【每日一练】 不管是使用什么编程语言或者哪种数据库,不管是解决项目中的什么问题,都离不开数据结构与算法。所谓数据结构就是指某一种数据的存储结构,所谓算法就是操作这…

【ClickHouse】

文章目录 一、表引擎1、表引擎的作用2、TinyLog3、Memory4、MergeTree二、数据库引擎1、作用--跨种类交换数据2、示例 三、MergeTree引擎1、简单使用2、分区partition by3、主键primary key4、order by(必填) 一、表引擎 1、表引擎的作用 CK表引擎决定…

U盘无法格式化?试试这几种快速有效的方法!

我们在通过Windows文件资源管理器、磁盘管理或Diskpart命令格式化U盘过程中,会遇到Windows无法格式化U盘。导致出现该问题的原因可能有以下几种: U盘被病毒和恶意软件感染; U盘有坏道; U盘已经物理损坏; 1.消除可能…

数据类型的陷进,从表象看本质!

哪些值转为布尔值为false 1、undefined(未定义,找不到值时出现) 2、null(代表空值) 3、false(布尔值的false,字符串"false"布尔值为true) 4、0(数字0&…

LeetCode每日一题之209长度最小的子数组

文章目录 问题描述方法一:暴力求解方法二:滑动窗口 问题描述 方法一:暴力求解 暴力求解法:时间复杂度O(n^2),空间复杂度O(1)。 暴力求解法的思想:每一次遍历数组,然后更新result的值&#xff0…

【Linux基本指令(3)】几十条指令快速入手Linux/到底什么是日志?/指令的运行原理到底是什么?

本文思维导图: 文章目录 13.head指令14.tail指令15.时间相关指令到底什么是日志?时间戳 16.cal指令17.find指令(非常重要)18.grep指令19.zip/unzip指令20.tar指令(非常重要)21.bc指令22.uname指令23.几个重…

香橙派4和树莓派4B构建K8S集群实践之六:虚拟主机

1. 说明 根据之前设置好的基础,我打算设置两种不同的虚拟主机运行在这个K8s集群上面,一个是LNMP体系的WebApp,一个是Java SpringBoot体系的WebApp。 1.1 设置表格 - wwwroot 是之前做pvc定义的文件目录,形如:/data0…

外包没有前途的,已经被替换了....

我25岁的时候,外包测试,薪资13.5k,人在深圳。 内卷什么的就不说了,而且人在外包那些高级精英年薪大几十的咱也接触不到,就说说外包吧。假设以我为界限,25岁一线城市13.5k,那22-24大部分情况下是…

花指令问题

前言 想起之前打题的时候经常会遇到一些关乎花指令的问题,但是没有系统地总结归纳花指令去除的姿势,浅浅开一个坑慢慢来写 题1:简单jmp 可以骗过dbg,但是放在ida中就很容易看出来,无效跳转 题目来源:[HD…

七牛云图床设置

文章目录 七牛云图床设置下面是用picgo配置图床SSL证书申请https网站显示http图片解决方案 原文链接图床设置,免费SSL证书申请,https网站显示http链接的图片 七牛云图床设置 登录七牛云官网并进行个人注册,然后找到对象存储 点击空间管理&a…