Linux的版本与内核

合集下载

linux内核及版本介绍

linux内核及版本介绍

linux的版本分为两类:内核版本和发行版本。

内核版本是指linux的传世人linus领导的开发小组所开发的操作系统内核的版本号,如2.4.20.通常在内核版本号之后还会附加一个数字,如2.4.20-8,最后的数字用来表示该版本内核是第几次被修订的。

linux的内核版本号是由3部分组成:主版本号,次版本号,次次版本号。

如内核版本2.4.20,2是主版本号,4是次版本号,20是次次版本号。

当内核有重大改动时,主版本号会加1;当内核只是小改动,如加入一些新的特性,支持更多的硬件,次版本号会加1;次次版本号的增加只表示内核有轻微的改动,对内核的影响很小。

次版本号为奇数表示该版本是测试版,可能不是很稳定,若为偶数则表示是个稳定版本,普通用户可以放心使用。

如2.4、2.6是稳定版本,而2.5、2.7是开发中的测试版本。

内核只是实现了操作系统最关键的部分,只有在此基础上提供用户界面,增加一些应用软件,一般用户才能方便使用它。

一些公司或组织将linux内核和常用的应用软件包装起来,并提供安装界面和管理工具,这样就形成了linux的发行版本。

发行本版本经过了严格的测试,而且还加入了一些常用的应用软件(如字处理软件、播放器)和开发工具(如gcc、gdb)。

Linux kernel内核升级全过程,教你一次成功

Linux kernel内核升级全过程,教你一次成功

序言由于开发环境需要在linux-2.6内核上进行,于是准备对我的虚拟机上的Linux系统升级。

没想到这一弄就花了两天时间(反复装系统,辛苦啊~~),总算把Linux系统从2.4.20-8内核成功升级到了2.6.18内核。

网上虽然有很多介绍Linux内核升级的文章,不过要么过时,下载链接失效;要么表达不清,不知所云;更可气的是很多文章在转载过程中命令行都有错误。

刚开始我就是在这些“攻略”的指点下来升级的,以致于浪费了很多时间。

现在,费尽周折,升级成功,心情很爽,趁性也来写个“升级攻略”吧!于是特意又在虚拟机上重新安装一个Linux系统,再来一次完美的升级,边升级边记录这些步骤,写成一篇Linux内核升级记实录(可不是回忆录啊!),和大家一起分享~~!一、准备工作首先说明,下面带#号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。

启动Linux系统,并用根用户登录,进入终端模式下。

1、查看Linux内核版本# uname -a如果屏幕显示的是2.6.x,说明你的已经是2.6的内核,也用不着看下文了,该干什么干什么去吧!~~~如果显示的是2.4.x,那恭喜你,闯关通过,赶快进行下一步。

2、下载2.6内核源码下载地址:/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz23、下载内核升级工具(1)下载module-init-tools-3.2.tar.bz2/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2(2)下载mkinitrd-4.1.18-2.i386.rpm/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm(3)下载lvm2-2.00.25-1.01.i386.rpm/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm(4)下载device-mapper-1.00.19-2.i386.rpm/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm(2.6.18内核和这4个升级工具我都有备份,如果以上下载地址失效,请到/guestbook留下你的邮箱,我给你发过去)好啦,2.6内核和4个升级工具都下载完了(少一个也不行,如果没有下载齐全,请不要尝试下面的步骤,升级是不会成功的),下面回到Linux系统中开始配置工作吧。

linux内核命名规则

linux内核命名规则

linux内核命名规则Linux内核是开源操作系统Linux的核心组件,负责管理计算机的硬件资源,并提供了许多系统调用和服务,以及各种设备驱动程序。

内核的命名规则是指在每个内核版本发布时,都会有一个特定的名称与之对应。

本文将介绍Linux内核命名规则及其背后的故事。

Linux内核的命名规则遵循一定的模式,通常由两个或三个部分组成:主版本号、次版本号和修订版本号。

例如,Linux内核的一个版本号可以是5.4.3,其中5是主版本号,4是次版本号,3是修订版本号。

这个命名规则的目的是为了方便用户识别和区分不同的内核版本。

内核的主版本号通常只在有重大变化或突破性的更新时才会增加,而次版本号则表示一些较小的功能性改进和更新。

修订版本号则用于修复一些bug和安全漏洞,并提供性能优化。

通过这种命名规则,用户可以根据版本号来判断内核的新旧程度和功能改进情况。

除了版本号之外,Linux内核的命名还有一个独特的特点,即每个版本都有一个与之对应的代号。

这些代号通常是由内核的主要开发者之一——林纳斯·托瓦兹(Linus Torvalds)来命名的。

这些代号通常是以字母顺序排列的,例如2.6.17版本的代号是“骑士”(Knight),2.6.24版本的代号是“爱莎”(Elvira)。

这些代号的选择并没有特定的规则,通常是林纳斯根据自己的喜好和兴趣来决定的。

有时,这些代号可能与一些有趣的事物或人物相关联,例如2.6.20版本的代号是“怀旧”(Valhalla),是因为林纳斯喜欢玩一款名为“怀旧”(Valhalla)的电子游戏。

而有些代号则是纯粹的幽默和调侃,例如2.6.29版本的代号是“凯特琳”(Kitten),是为了取悦他的女儿。

除了版本号和代号之外,Linux内核的命名还有一些特殊的规则和限制。

首先,每个代号只能在一个版本中使用一次,以确保每个版本的代号都是独一无二的。

其次,代号必须是以字母开头的英文单词,以避免与数字或其他特殊字符产生冲突。

6.1 嵌入式linux操作系统的组成与版本

6.1 嵌入式linux操作系统的组成与版本
可移植性是指将操作系统从一个平台转移到另一个平
台使它仍然能按其自身的方式运行的能力。
9
嵌入式Linux优势
Linux的费用低; Linux的所有部分可以充分地定制 ; Linux可以运行在低档,便宜的硬件平台; Linux的功能是强大的; Linux对源代码质量有一个高标准; Linux内核非常小,而且紧凑; Linux有很好的支持; Linux有很多合适的工具;
进程控制快 ;
独立的存储空间 ;
pid_t fork(void)函数:生成进程。
void main() { for(;;) fork(); }
Exit():退出进程。
21
进程与线程
进程是具有一定独立功能的程序关于某个数据集 合上的一次运行活动,进程是系统进行资源分配和 调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本 单位,它是比进程更小的能独立运行的基本单位. 线程自己基本上不拥有系统资源,只拥有一点在运 行中必不可少的资源(如程序计数器,一组寄存器 和栈),但是它可与同属一个进程的其他的线程共 享进程所拥有的全部资源. 一个线程可以创建和 撤销另一个线程;同一个进程中的多个线程之间可 以并发执行 需要注意的是:在应用程序中使用多线程不会增 加 CPU 的数据处理能力。
只要安装它们的驱动程序,任何用户都可以象使用文 件一样,操纵、使用这些设备,而不必知道它们的具 体存在形式。
丰富的网络功能
完善的内置网络是Linux的一大特点。
可靠的系统安全
Linux采取了许多安全技术措施,包括对读、写进行
权限控制、带保护的子系统、审计跟踪、核心授权等。
良好的可移植性
如何选择Linux的版本

linux版本发展史

linux版本发展史

linux版本发展史Linux是一种自由、开放源代码的操作系统,最早的Linux版本发展可以追溯到1991年,这一年,芬兰的一位程序员Linus Torvalds开始将他的程序公开发布,从此,Linux进入了一个长久的发展历程。

1991年第一个Linux版本发布:Linux 0.011991年,Linus Torvalds在Helsinki University开始开发出Linux,并在同年9月份发布了第一个版本Linux 0.01。

这个版本具有非常小的内核,只有10个文件,能够支持8086处理器,并能够在AT机上运行。

1992年:进入GNU计划并发布版本0.121992年初,Linus加入了Richard Stallman领导的GNU计划,开始把Linux与GNU项目合并,从而成为自由软件的象征之一。

同年8月,Linus Torvalds发布了Linux 0.12版本,这个版本增加了对386处理器的支持,同时还添加了对多个tty的支持。

1993年:采用了GPL1993年,Linus Torvalds决定将Linux采用GNU通用公共许可证(GPL),这意味着Linux源代码可以免费使用和分发,并允许其他人对其进行修改和分发。

这个决定使得Linux成为了一种可持续、稳定的项目。

1994年3月,Linux 1.0版本正式发布。

这个版本带来了很多改进,例如支持了网络协议等,并在台式机和服务器上得到了广泛应用。

此外,这个版本也诞生了很多开源社区,例如Linux User Group(LUG)等。

1996年:X Window系统集成1996年,Linux开始集成X Window系统,这使得Linux操作系统有了一个漂亮的图形化界面,大大提升了用户体验。

1998年:Red Hat和Debian诞生1998年,Red Hat和Debian分别成立,并开始提供Linux服务器和桌面操作系统等,这标志着Linux开始向商业化、专业化方向发展,并且Linux的安全性和稳定性也得到了极大的提升。

命令行查看Linux的系统版本和内核版本以及机器字长

命令行查看Linux的系统版本和内核版本以及机器字长

命令行查看Linux的系统版本和内核版本以及机器字长Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

这篇文章主要介绍了命令行查看Linux的系统版本和内核版本以及机器字长,是一些Linux入门学习中的基础命令,需要的朋友可以参考下方法技巧查看Linux版本1. lsb_release -a (适用于所有linux)复制代码代码如下:LSB Version: :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarchDstributor ID: CentOSDescription: CentOS release 6.5 (Final)Release: 6.5Codename: Final注意:如果提示“-bash: lsb_release: command not found” ,就需要手动安装 lsb_release 命令。

使用 yum install -y redhat-lsb 以下方法适用于RedHat , CentOS复制代码代码如下:#cat /etc/redhat-releaseCentOS release 6.5 (Final)或者通过查看软件包名来看查看系统版本redhat执行:复制代码代码如下:#rpm -q redhat-releasecentos执行;复制代码代码如下:# rpm -q centos-releasecentos-release-6-5.el6.centos.11.2.i686查看linux内核版本:1. uname -a复制代码代码如下:Linux default.hostname 2.6.32-042stab094.8 #1 SMP Tue Dec 16 20:36:56 MSK 2014 i686 i686 i386 GNU/Linux或者直接用-r 参数复制代码代码如下:uname -r2.6.32-042stab094.82. cat /proc/version复制代码代码如下:Linux version 2.6.32-042stab094.8 (root@kbuild-rh6-x64) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Tue Dec 16 20:36:56 MSK 2014查看系统位数(查看机器字长)1..直接看看有没有/lib64 目录。

linux内核版本命名规则

linux内核版本命名规则

linux内核版本命名规则
Linux内核版本号格式为X.Y.Z,其中X表示主版本号,Y表示副版本号,Z表示修正版本号。

以下是Linux内核版本号的命名规则:
1. 主版本号:代表Linux内核的大版本更新,当Linux内核有较大的结构改变时,主版本号发生改变,且通常会带来不兼容的API变化。

2. 副版本号:代表Linux内核的次要版本,当Linux内核有较小的结构改变和部分新功能添加时,副版本号发生改变。

3. 修正版本号:代表Linux内核的修正版本,主要用于修复已知的技术问题和漏洞,通常不包括新的功能特性。

例如,Linux内核版本号为2.6.32-696.18.7.el6.x86_64,其中2是主版本号,6是副版本号,32是修正版本号。

特殊的,最高位的数字为偶数代表稳定版,最高位数字为奇数代表开发版。

linux操作系统版本查看命令

linux操作系统版本查看命令

linux操作系统版本查看命令在windows下我们查看系统信息直接右击电脑属性就可以查看了.那么在Linux系统中如何查看呢.下面大家与店铺一起来学习一下linux 操作系统版本的查看命令吧。

linux操作系统版本查看命令一.查看内核版本命令:1) [root@SOR_SYS ~]# cat /proc/versionLinux version 2.6.18-238.el5 (mockbuild@) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010[root@SOR_SYS ~]#2)[root@SOR_SYS ~]# uname -r2.6.18-238.el53)[root@SOR_SYS ~]# uname -aLinux SOR_ 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux[root@SOR_SYS ~]#二.查看linux版本:1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:[root@SOR_SYS ~]# lsb_release -aLSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarchDistributor ID: RedHatEnterpriseASDescription: Red Hat Enterprise Linux AS release 4 (Nahant Update 4)Release: 4Codename: NahantUpdate4[root@SOR_SYS ~]#注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian 等发行版。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux的版本与内核Linux有两种版本,一个是核心(kernel)版,一个是发行(distribution)版。

核心版的序号由三部分数字构成,其形式为:major.minor.patchlevel,其中,majoro为主版本号,minor为次版本号,二者共同构成了当前核心版本号。

patchlevel表示对当前版本的修订次数。

例如,2.2.11表示对核心作用2.2 版本的第11次修订。

根据约定,次版本号为奇数时,表示该版本加入新内容,但不一定稳定,相当于测试版;次版本号为偶数时,表示这是一个可以使用的稳定版本。

鉴于Linux内核开发工作的连续性,内核的稳定版本与在此基础上进一步开发的不稳定版本总是同时存在的。

建议采用稳定的核心版本。

Linux的内核具有两种不同的版本号,实验版本和产品化版本。

要确定LINUX版本的类型,只要查看一下版本号:每一个版本号由三位数字组成,第二位数字说明版本类型。

如果第二位数字是偶数则说明这种版本是产品化版本,如果是奇数说明是实验版本。

如2.6.20是产品化版本,2.6.16是实验版本。

LINUX的两种版本是相互关联的。

实验版本最初是产品化产品的拷贝,然后产品化版本只修改错误,实验版本继续增加新功能,到实验版本测试证明稳定后拷贝成新的产品化版本,不断循环,这样一方面可以方便广大软件人员加入到LINUX的开发和测试工作中来,另一方面又可以让一些用户使用上稳定的LINUX版本。

真是做到开发和实用两不误。

现在LINUX的内核的最新版本是2.6.20。

Linux内核Linux是最受欢迎的自由电脑操作系统内核。

它是一个用C语言写成,符合POSIX标准的类Unix操作系统。

Linux最早是由芬兰黑客 Linus Torvalds为尝试在英特尔x86架构上提供自由免费的类Unix操作系统而开发的。

该计划开始于1991年,这里有一份Linus Torvalds 当时在Usenet新闻组comp.os.minix所登载的贴子,这份著名的贴子标志着Linux计划的正式开始。

在计划的早期有一些Minix 黑客提供了协助,而今天全球无数程序员正在为该计划无偿提供帮助。

技术上说Linux是一个内核。

“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。

一个内核不是一套完整的操作系统。

一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux架构。

今天Linux是一个一体化内核(monolithic kernel)系统。

设备驱动程序可以完全访问硬件。

Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。

Linux不是微内核(microkernel)架构的事实曾经引起了Linus Torvalds与Andy Tanenbaum之间一场著名的争论。

Linux内核简史操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。

一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。

计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。

但是没有软件来操作和控制它,自身是不能工作的。

完成这个控制工作的软件就称为操作系统,在Linux 的术语中被称为“内核”,也可以称为“核心”。

Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。

一般地,可以从Linux内核版本号来区分系统是否是Linux稳定版还是测试版。

以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。

在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。

这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。

Linux最早是由芬兰人Linus Torvalds设计的。

当时由于UNIX的商业化,Andrew Tannebaum 教授开发了Minix操作系统以便于不受AT&T许可协议的约束,为教学科研提供一个操作系统。

当时发布在Internet 上,免费给全世界的学生使用。

Minix具有较多UNIX的特点,但与UNIX不完全兼容。

1991年10月5日,Linus为了给Minix用户设计一个比较有效的UNIX PC 版本,自己动手写了一个“类Minix”的操作系统。

整个故事从两个在端终上打印AAAA...和BBBB...的进程开始的,当时最初的内核版本是 0.02。

Linus Torvalds将它发到了Minix 新闻组,很快就得到了反应。

Linus Torvalds在这种简单的任务切换机制上进行扩展,并在很多热心支持者的帮助下开发和推出了Linux的第一个稳定的工作版本。

1991年11月,Linux0.10版本推出,0.11版本随后在1991年12月推出,当时将它发布在Internet上,免费供人们使用。

当Linux非常接近于一种可靠的/稳定的系统时,Linus决定将0.13版本称为0.95版本。

1994年3月,正式的Linux 1.0出现了,这差不多是一种正式的独立宣言。

截至那时为止,它的用户基数已经发展得很大,而且Linux的核心开发队伍也建立起来了。

核心的开发和规范一直是由Linux社区控制着,版本也是唯一的。

实际上,操作系统的内核版本指的是在Linus本人领导下的开发小组开发出的系统内核的版本号。

自1994年3月14日发布了第一个正式版本Linux 1.0以来,每隔一段时间就有新的版本或其修订版公布。

Linus将标准的GNU许可协议改称Copyleft,以便与Copyright相对照。

通用的公共许可(GPL)允许用户销售、拷贝和改变具有 Copyleft的应用程序。

当然这些程序也可以是Copyright的,但是你必须允许进一步的销售、拷贝和对其代码进行改变,同时也必须使他人可以免费得到修改后的源代码。

事实证明,GPL对于Linux的成功起到了极大的作用。

它启动了一个十分繁荣的商用Linux阶段,还为编程人员提供了一种凝聚力,诱使大家加入这个充满了慈善精神的Linux运动。

Linux内核的发展过程中,我们还不得不提一下各种Linux发行版的作用,因为正是它们推动了Linux的应用,从而也让更多的人开始关注 Linux。

一些组织或厂家,将Linux 系统的内核与外围实用程序(Utilities)软件和文档包装起来,并提供一些系统安装界面和系统配置、设定与管理工具,就构成了一种发行版本(distribution),Linux的发行版本其实就是Linux核心再加上外围的实用程序组成的一个大软件包而已。

相对于Linux操作系统内核版本,发行版本的版本号随发布者的不同而不同,与Linux系统内核的版本号是相对独立的。

因此把SUSE、 RedHat、Ubuntu、Slackware等直接说成是Linux是不确切的,它们是Linux的发行版本,更确切地说,应该叫做“以Linux为核心的操作系统软件包”。

根据GPL准则,这些发行版本虽然都源自一个内核,并且都有自己各自的贡献,但都没有自己的版权。

Linux的各个发行版本 (distribution),都是使用Linus主导开发并发布的同一个Linux内核,因此在内核层不存在什么兼容性问题。

每个版本都不一样的感觉,只是在发行版本的最外层才有所体现,而绝不是Linux本身特别是内核不统一或是不兼容。

90年代初期Linux开始出现的时候,仅仅是以源代码形式出现,用户需要在其他操作系统下进行编译才能使用。

后来出现了一些正式版本。

目前最流行的几个正式版本有:SUSE、RedHat、Fedora、UbuntuLinux 内核简介现在让我们从一个比较高的高度来审视一下 GNU/Linux 操作系统的体系结构。

GNU C Library (glibc)也在这里。

它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换的机制。

这点非常重要,因为内核和用户空间的应用程序使用的是不同的保护地址空间。

每个用户空间的进程都使用自己的虚拟地址空间,而内核则占用单独的地址空间。

更多信息,请参看参考资料一节中的链接。

Linux 内核可以进一步划分成 3 层。

最上面是系统调用接口,它实现了一些基本的功能,例如 read 和 write。

系统调用接口之下是内核代码,可以更精确地定义为独立于体系结构的内核代码。

这些代码是 Linux 所支持的所有处理器体系结构所通用的。

在这些代码之下是依赖于体系结构的代码,构成了通常称为 BSP(Board Support Package)的部分。

这些代码用作给定体系结构的处理器和特定于平台的代码。

Linux 内核的属性在讨论大型而复杂的系统的体系结构时,可以从很多角度来审视系统。

体系结构分析的一个目标是提供一种方法更好地理解源代码,这正是本文的目的。

Linux 内核实现了很多重要的体系结构属性。

在或高或低的层次上,内核被划分为多个子系统。

Linux 也可以看作是一个整体,因为它会将所有这些基本服务都集成到内核中。

这与微内核的体系结构不同,后者会提供一些基本的服务,例如通信、I/O、内存和进程管理,更具体的服务都是插入到微内核层中的。

每种内核都有自己的优点,不过这里并不对此进行讨论。

随着时间的流逝,Linux 内核在内存和 CPU 使用方面具有较高的效率,并且非常稳定。

但是对于 Linux 来说,最为有趣的是在这种大小和复杂性的前提下,依然具有良好的可移植性。

Linux 编译后可在大量处理器和具有不同体系结构约束和需求的平台上运行。

一个例子是 Linux 可以在一个具有内存管理单元(MMU)的处理器上运行,也可以在那些不提供 MMU 的处理器上运行。

Linux 内核的 uClinux 移植提供了对非 MMU 的支持。

Linux 内核的主要子系统现在简要说明 Linux 内核的主要组件。

系统调用接口SCI 层提供了某些机制执行从用户空间到内核的函数调用。

正如前面讨论的一样,这个接口依赖于体系结构,甚至在相同的处理器家族内也是如此。

SCI 实际上是一个非常有用的函数调用多路复用和多路分解服务。

在 ./linux/kernel 中您可以找到 SCI 的实现,并在 ./linux/arch 中找到依赖于体系结构的部分。

进程管理进程管理的重点是进程的执行。

在内核中,这些进程称为线程,代表了单独的处理器虚拟化(线程代码、数据、堆栈和 CPU 寄存器)。

相关文档
最新文档