剖析linux操作系统技术构成与发行本质

踩点 踩点     2022-12-04     613

关键词:

作者:IT圈黎俊杰

一、Linux与Linux操作系统的区别

        在剖析Linux操作系统技术构成与发行本质前,我们先要清楚Linux和Linux操作系统的区别。

平时,我们将Linux和Linux操作系统很容易混为一谈,但其实,它们是可以有区别的,区别如下:

        (1)Linux:Linux®已由LinusTorvalds注册为商标,所以只会有一个Linux,它是一个内核系统,通常我们把它当成一类Unix操作系统的统称,严格来说,它是指由Linus内核。

        (2)Linux操作系统:它通常是指基于Linux内核二次开发出来的操作系统,它不能叫Linux,因为Linux是内核,所以它只能再取一个名字,如Redhat Linux,Redhat是一个公司名称,并被注册成商标,Redhat Linux就是指Redhat公司基于Linux内核开发出来,使用Redhat商标而发行的操作系统。

二、Linux操作系统的技术构成

Linux操作系统=Linux内核+应用程序

        Linux内核:只有一个,LinusTorvalds作为创始人与拥有商标权,代码全部开源,交由Linux基金会负责维护管理,基金会Kernel SIG项目成员均可以贡献代码、提交合并请求,全球所有人都可以下载(会不会受政府出口管制和贸易法规限制、代码作者的特定限制在此不论)、学习和使用,但使用它时需要遵特对应的开源协议。

        应用程序:是指基于Linux内核之上,开发的应用软件,通过调用内核接口,达到驱动硬件工作的向用户提供人机对话应用的各类程序,包含图形化软件等,操作系统厂家干的主要是这个工作,当然还包括对接硬件厂商将驱动程序进行可合并进内核的代码开发,并提交内核合并需求。

三、支持Linux发行版的巨人肩膀

        这里说的支持Linux发行版的巨人,是指GNU。

GNU 于1983年由Richard Stallman(rms)发起,意在为所有软件用户能够自由控制自己的计算而构建一款由大家共同努力开发而成的操作系统。

        GNU的全称为GNU's not unix,意思是“GNU不是UNIX”,GNU计划,又称革奴计划,是FSF的主要项目。GNU的目标是提供一个和Unix兼容的100% 自由软件的操作系统。GNU由自由软件基金会支持,这也是由rms创建的倡导自由软件理念的非盈利组织。

        GNU类Unix操作系统是由一系列应用程序、系统库和开发工具构成的软件集合,例如:Emacs 编辑软件、gcc 编译软件、bash 命令解释程序和编程语言,以及gawk (GNU’s awk) 等程序库和工具,非常强大,质量也很好,甚至许多Unix操作系统上都安装了许多GNU软件,但是GNU自己的内核Hurd一直在开发中。

        庆幸的是,我们不再等 Hurd 内核了,因为到了1991年,有了Linux内核的发布,并在网上广泛流传。当 Linus Torvalds 在 1992 年使 Linux 成了自由软件,它填补了 GNU 系统的一个重要空白。人们可以把 Linux 和 GNU 系统结合起来 组成一个完整的自由系统:一个带有 Linux 的 GNU 系统。换句话说,就是 GNU/Linux系统。

        虽然在2001年开始GNU的Hurd内核可以稳定工作,但是离能够被人们正常使用还有很长的路要走,所以完全属于GNU的完整操作系统并没有流行起来。

四、巨人肩膀上的Linux发行版操作系统

        内核是操作系统的基本部分,但是只能在完整的操作系统框架下才能发挥作用。

如果基于Linux内核完全独立自主开发完整的操作系统,难度是巨大的,有句话核弹研发难度远不如操作系统”。

        事实上,在有Linux内核和GNU操作系统的时代,一般是Linux内核和GNU操作系统一起使用,整个系统基本上就是Linux内核加上GNU,叫做GNU/Linux。

        GNU/Linux操作系统以GPL协议开放,无疑成了众多操作系统开发者的曙光,那就是基于Linux内核,站在GNU巨人的肩膀上,二次开发发行版操作系统。事实上,现在在运行的 linux 实际上都是 GNU/linux 的发行版,被叫做“Linux”的发行版实际上是GNU/Linux发行版。

        即便使用Linux内核+GNU能够组织成发行版,但实际上,要把它们组合到一起并不是一个简单的工作。有些 GNU 部件需要作大量的修改才能适应 Linux。把系统集成到一个完整的发行版本中、使之“能够直接安装并工作”也是一项艰巨的工作,同时,发行版操作系统还会加入很多自主研发的应用产品加入Linux操作系统中,Linux操作系统研发是一项伟大的工作。

        列几个大家常用的命令,来更加简单的理解一下GNU所提供的能力吧:

grep

gzip

tar

make

......

        这些在Linux操作系统运维过程中高频率使用的工具命令,都是来自于GNU。

        (1)属于GNU/Linux的发行版操作系统点点名看:

fefora、Redhat、CentOS、OpenSUSE、SUSE、Debian、Ubuntu等。

--国产操作系统就不在此点名了,真要点名可能都会在此列(经笔者测试过的都是GNU/Linux)。

        (2)基于Linux内核开发,完全没有使用GNU的操作系统:

Android 比较特殊,其基于linux内核,而又没有使用GNU的套件,所以Andriod并不属于GNU/linux,可以说Android 是linux发行版,但是又不是GNU/linux分支。

       扫码关注IT圈黎俊杰公众号,一起探讨IT技术人生!

 

 

        坚持原创发表,如发现有不妥与不正确之处,欢迎指正。IT圈黎俊杰虚心向大家学习!

现在这么多android平板是否可以安装linux发行版

...inuxdeploy,termux,gnuroot等 参考技术B平板电脑并不都是Android操作系统,也有windows等操作系统。安卓系统针对平板的调整使之更适合平板电脑。Android(['ændrɔid])是一个以Linux为基础的半开源操作系统,主要用于移动设备... 查看详情

linux和centos7区别

Linux是指操作系统内核,CentOS是指GNU/Linux操作系统。2、Linux系统内核加上GNU提供的大量自由软件就是一个完整的GNU/Linux发行版,而CentOS就是众多发行版中的一个。Linux只是一个操作系统内核而已,而GNU提供了大量的自由软件来丰... 查看详情

linux版本的发行版和内核版是啥意思

...什么意思内核版本什么意思区别是什么?Linux内核是Linux操作系统创始人主持的网站 www.kernel.org 上发布的操作系统的最基本的那些东西。Linux发行版则是前述那些东西的基础上添加了一些工具软件的基础上构成的一套庞大... 查看详情

随笔1_tww(代码片段)

...能的系统核心程序Linux发行套件系统才是我们常说的Linux操作系统,也即是由Linux内核与各种常用软件的集合产品Linux的发行版本可以大体分为两类:一类:商业公司维护的发行版 查看详情

列举出不少于三种linux的发行版本名称

...稳定性已深入人心。RaspbianRaspbian是安装在RaspberryPi的默认操作系统。作为在Pi中被设计为的一个教育工具,Raspbian对于那些有兴趣学习编写代码的人来说,是一个完美的系统。GentooGentoo得名于“快速游泳的企鹅”,由于用户可以... 查看详情

linux发行版本众多,选择哪个最合适?

...发行版本。简单容易使用,可以像应用软件一样在Windows操作系统中安装,是一个伟大的过渡型操作系统。  2、Debian:提供一个纯粹的操作系统,附带了超过51000个预先编译好的软件包,包含Ubuntu和Li 查看详情

fedora是啥系统

Fedora是一个开放的、创新的、前瞻性的操作系统和平台,基于Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软... 查看详情

linux驱动子系统剖析|linux设备与驱动分离思想的代表作——platform总线模型

...绍本系列专栏文章专注于Linux内核常见的驱动子系统/框架剖析,开发平台使用RK3399平台,Linux内核使用5.4.32版本。文章目录专栏介绍一、Linux内核中设备与驱动分离思想1.Linux内核驱动模型2.驱动模型实现2.1.bus总线类型2.2.device设备... 查看详情

linux驱动子系统剖析|linux设备与驱动分离思想的代表作——platform总线模型

...绍本系列专栏文章专注于Linux内核常见的驱动子系统/框架剖析,开发平台使用RK3399平台,Linux内核使用5.4.32版本。文章目录专栏介绍一、Linux内核中设备与驱动分离思想1.Linux内核驱动模型2.驱动模型实现2.1.bus总线类型2.2.device设备... 查看详情

怎么用shell查看我linux系统发行版本和系统名字

...当前Linux系统是32位还是64位,可以使用uname-a命令。参考技术Alsb_release-a 参考技术Buname-ahostname 查看详情

(0基础学linux系列)2.12linux软件包管理(代码片段)

...本是不兼容的。多数Linux发行版采用的不外乎两种软件包技术阵营,即Debian的.deb技术和RedHat的.rpm技术。当然也有一些特例,比如Gentoo、Slackware和Foresight等,但多数版本采取的还是下表中所列的两个基本软件包系统。主流软件包... 查看详情

ubuntu是啥?他和linux有啥关系?

请不要大篇幅复制linux这个词是指操作系统的内核,ubuntu是指基于这种内核的操作系统,就是在linux这个内核上又加上了一种界面系统,就像你看到的windows的界面一样。Linux发行版(英语:Linuxdistribution,也被叫做GNU/Linux发行版)... 查看详情

小猿圈之linux常见的发行版本

...1、红帽企业系统(RedHatEnterpriseLinux,RHEL)全球最大的开源技术厂商,全世界内使用最广泛的Linux发布套件,提供性能与稳定性极强的L 查看详情

鸿蒙系统基于linux打造,其本质还是安卓系统?

目前操作系统市场基本已被微软windows、谷歌安卓、苹果iOS瓜分完毕,国产新操作系统想分一杯羹太难,技术与基础甚至还不如华为的鸿蒙,鸿蒙兼容的意义何在?鸿蒙操作系统为什么兼容安卓。安卓系统兼容性、... 查看详情

3.docker与lxc虚拟化技术的区别——虚拟化技术本质上是在模拟硬件,docker底层是lxc,本质都是cgroups是在直接操作硬件

...cgroup和namespaces来打造轻便的、将近裸机速度的虚拟技术操作系统环境。因为不是虚拟化存储,所以容器技术不会管底层存储或者文件系统,而是你放哪里,它操作哪里。这从根本上改变了我们如何虚拟化工作负载和应用程序,... 查看详情

firstblood

1、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。联系:所有的发行版都使用linux内核;都需要遵循GNU的GPL协定;所有的发行版都有自己的版本号,版本格式约定基本一样(主版本号.次版本号.发行号或修正号... 查看详情

docker的宿主系统是centos,为啥可以运行ubuntu的镜像

首先需要区分Linux内核与Linux发行版Linux内核是Linux操作系统的核心,负责硬件管理,比如管理内存、管理磁盘(文件系统)、管理CPU(进程)等等...Linux发行版是在Linux内核的基础上添加了一些工具软件,比如图形界面、函数库、软件包... 查看详情

linux基本命令

...inux系统版本和主要使用范围  Linux系统主要作为服务器操作系统和嵌入式操作系统。分为内核版本和发行版本。发行版本(也被叫做GNU/Linux发行版)通常包含桌面环境,办公软件,媒体播放器,数据库等应用软件。  常见的... 查看详情