RHEL6基础之一系统内核Kernel与GNU计划及Linux发行版本

简介:

系统内核Kernel

系统内核是负责完成操作系统最基本功能的程序。我们平常在用QQ聊天、用WORD打字、用IE浏览器上网、再加上玩各种游戏……等等这些都不是操作系统的功能,而是由应用软件提供的功能。系统内核是实现上述所有这些应用的前提——要想做这些事情,必须先把操作系统装好才行。内核直接运行在电脑硬件之上,所以系统内核的主要作用就是替我们管理电脑中那些形形色色的硬件设备,它是所有外围程序运行的基础,也是电脑硬件跟用户之间的一个接口或桥梁。通过它,用户才能让CPU去高效的处理各种数据;通过它,用户才能在硬盘中读写各种文件;通过它,用户才能与网络上的电脑之间传输数据……。具体来说, 系统内核的主要作用就是负责管理计算机中的硬件资源、提供用户操作界面、提供应用程序的执行环境 因而可以说它是电脑中软件的核心和基础。
141029557.png
Linux系统中的内核程序称为Kernel,LinuxKernel是由LinusTorvalds领导的一个小组负责开发更新的,
LinuxKernel的官方网站是http://www.kernel.org,从该站点中可以下载到已发布的每一个版本的Kernel程序。
140904218.png

截至到2013/09/16Kernel的最新版本为3.11.1,这是一个开发版的最新版本;版本号3.11.1是由主版本号(3).次版本号(11).修订版本号(1)组成,其中,次版本号如果是偶数,表示该内核是稳定版;若是奇数,则该内核是开发版

稳定版内核:具有很好的稳定性,可以广泛地应用和部署。新的稳定版内核一般都是对较早的稳定版本进行一些修正,或加入一些新的驱动程序。
开发版内核:处于实验阶段的,由于要实验各种解决方案,所以版本变化很快,但一般不建议使用。

144112270.png


GNU计划

Kernel只能实现系统最基本的功能,作为一个操作系统,仅仅只有内核是远远不够的,重点是要使用在Kernel之上运行的Web服务、FTP服务、邮件服务……这类应用程序,所以一个完整的Linux系统应该包括Kernel和应用程序两部分。
无论Linux的Kernel还是Linux中的应用程序,它们都具有一个共同的特点——都属于一个名为GNU的计划项目,都要遵守GNU计划中的GPL或LGPL协议。
GNU是世界知名的自由软件项目,正是它决定了Linux系统自由开放的属性,也正是它才导致了Linux系统百花齐放、版本众多的现状。
GNU计划是由一位名叫RichardStallman于1984年发起并创建的,Stallman堪称世界顶级程序员,也被誉为黑客中的黑客。而且除了技术之外,Stallman的思想更是超前,他认为:对于整个人类,知识传播的过程应该是开放的,计算机软件作为人类智慧的结晶,也是知识的一种,所以它应以源代码的方式呈现,没有人可以独占。软件的开发没有壁垒,也没有垄断,其主要目的就是为了满足更多的用户需求,激发更多的创新力量。

GNU的logo和RichardStallman:

145643440.png

所以,凡是属于GNU计划中的软件都是开放源代码的,任何人都可以自由地去使用、修改或传播这些软件。而且为了保证GNU计划内的软件经传播、改写以后仍然具有“自由”特性,该计划还专门制定了针对自由软件的授权许可协议GPL和LGPL协议,正是这些协议为GNU计划中的软件提供了统一的使用规范。

简单的总结一下:Linux系统的内核Kernel以及Linux系统中的绝大多数应用软件都来自于GNU计划,任何人都可以自由地(也可以狭隘地理解为免费地)去使用、传播它们,因此Linux系统的确切名称应该为“GNU/Linux操作系统”。


linux发行版本

由于Linux自由开源的特性,才造就了目前各种不同的Linux发行版本百花齐放的局面。Linux的标识是一只企鹅,企鹅只在南极才有,而南极洲不属于任何国家,所以企鹅寓意开放和自由,这也正是Linux的精髓。

150014923.png

Linux发行版就是指在Linux内核的基础之上添加上各种管理工具和应用软件,这就构成了一个完整的操作系统。根据GNU的相关协议,任何公司或社团甚至是个人都可以将Linux内核和各种自由软件打包成一个完整的Linux发行版。据不完全统计,目前各种Linux发行版加起来已有188个。虽然每个Linux发行版都有单独的名称,但其实它们所采用的Linux内核和使用的软件包都是基本类似的,只是在具体操作和使用上略有差别而已

1.RedHatLinux

150509402.jpgRedHat也是全球最大的Linux厂商。RedHatLinux系列发行版具有广泛的企业用户基础,也代表着Linux操作系统的事实标准,RedHatLinux的一个分支RedHatEnterpriseLinux(简称RHEL)是专门面向企业用户,功能强大,性能也非常优越。RHEL为很多企业所采用,但需要向RedHat付费才可以使用。这个费用并不是用于购买RHEL操作系统本身,而是为了得到RedHat公司的服务和技术支持,以及专门针对企业应用的第三方软件定制。

2.CentOS

150808477.jpgCentOS是RHEL的再编译版本,其实也就是抹去了RHEL系统中RedHat的标识信息,其功能和使用与RHEL基本是一致的。而且其版本更新也与RHEL保持同步,只要RedHat发布了RHELx.0,过不多久就会紧跟着出现CentOSx.0,CentOS其实就相当于是免费版的RHEL,现在好多企业用的CentOS

3..Debian

153122540.jpgDebian1993816SunIanMurdock

4.Ubuntu

151012196.jpgUbuntu主要是基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。2013年1月3日,Ubuntu正式发布面向智能手机的移动操作系统。

5.FreeBSE

153051243.jpgFreeBSD是一个自由的(英文free也可以说是免费的)类UNIX操作系统(Unix-like),经由BSDUNIX由AT&TUNIX衍生而来,FreeBSD由于法律原因不能称为UNIX,但由于直接衍生于BSDUNIX,并且一些原来BSDUNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。由于FreeBSD宽松的法律条款,其代码被好多其他系统借鉴包括苹果公司的MacOSX,正因此由于MacOSX的UNIX兼容性,使得MacOSX获得了UNIX商标认证

6.SuSe

151044584.jpgSUSELinux原是以SlackwareLinux为基础,并提供完整德文使用界面的产品。1992年PeterMcDonald成立了SoftlandingLinuxSystem(SLS)这个发行版。这套发行版包含的软件非常多,更首次收录了XWindow及TCP/IP等套件。Slackware就是一个基于SLS的发行版

7.等等





本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1297762,如需转载请自行联系原作者

相关文章
|
4月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
369 3
Linux系统禁用swap
|
4月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
788 3
|
5月前
|
安全 网络协议 Linux
深入理解Linux内核模块:加载机制、参数传递与实战开发
本文深入解析了Linux内核模块的加载机制、参数传递方式及实战开发技巧。内容涵盖模块基础概念、加载与卸载流程、生命周期管理、参数配置方法,并通过“Hello World”模块和字符设备驱动实例,带领读者逐步掌握模块开发技能。同时,介绍了调试手段、常见问题排查、开发规范及高级特性,如内核线程、模块间通信与性能优化策略。适合希望深入理解Linux内核机制、提升系统编程能力的技术人员阅读与实践。
508 1
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
479 0
Linux系统初始化脚本
|
5月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
342 18
|
4月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
408 1
|
4月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1100 1
|
5月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1757 10