文档库 最新最全的文档下载
当前位置:文档库 › linux内核2.6与之前版本的比较

linux内核2.6与之前版本的比较

linux内核2.6与之前版本的比较
linux内核2.6与之前版本的比较

《Linux系统与应用》大作业2010 / 2011 学年第 2 学期

姓名:___刘颜铭_________

学号:___090209114______

班级:__09网络一班______

指导教师:______王小英_______

计算机科学与工程学院

2011

Linux内核2.6与之前版本的比较

关键词: Linux2.6 比较老版本新特性

2003年岁末,Linux内核2.6版本正式推出, 新内核是振奋人心的,无论对于企业用户、个人爱好者还是开发者。新内核的功能比以往任何一个版本都更加强大,它支持更多类型的处理器,提高了可靠性和可扩展性,势必推动Linux更广泛地应用。

对于高端服务器,新特性改进了性能、可扩展性、吞吐率,以及对多处理机服务器的支持。对于嵌入式领域,新内核合并了uCLinux,添加了新的体系结构和处理器类型,包括对无MMU系统的支持。对于桌面用户,新内核则添加了一整套新的音频和多媒体驱动程序。Linux强劲的发展势头再次向人们展现了其独特的魅力。

Linux 2.6内核新特性

支持更多处理器,比如AMD64、一些大型机及嵌入式等,同时改进了对已有处理器的支持。

采用抢占式内核,使交互式操作的响应速度大大提高。

修改了I/O子系统部分,保证在各种工作负荷下I/O都有很好的响应速度。

更新了IDE/ATA、SCSI等存储总线,解决和改善了以前的一些问题,比如2.6版内核可以直接通过IDE驱动程序来支持IDE CD/RW设备,而不必像以前一样要使用一个特别的SCSI模拟驱动程序。

大量改进文件系统,比如支持Windows的逻辑卷管理器、重写对NTFS文件系统的支持、改进HPFS等。

改进和部分重写了Modules功能,使之更稳定。

改进对USB的支持,使之能够支持当前多数主流的USB设备。

加强对无线设备的支持。

增加了ALSA(Advanced Linux Sound Architecture)。ALSA是有希望取代旧式OSS (Open Sound System)的另一种声音系统,能支持全杜比录音及回放、无缝混音、支持声音合成设备、USB声卡等。

支持更多种类和型号的多媒体设备。

网络功能新增了对IPSec协议的支持,改进了对IPv6的支持。

新增“Enable different security models”。

编译系统的改进。

......

实际上2.6版内核的很多新特性都是针对企业应用的改进,比如最大支持64个CPU、64GB内存、支持NUMA(非一致存储访问)等。对于普通PC用户,从2.6版内核中感受到的将是USB支持、响应速度、音频、无线设备、PDA等方面的提高。

Linux 2.6内核VS Linux 2.4内核

新内核较之以往内核在很多方面都有突破性地改进,前面已有列举。这里再简单对几个较突出的方面进行比较,使读者对新内核的新特性能有一个更清晰的了解。

1.服务器领域

在大型服务器领域,Unix一直独占鳌头。最新发布的Linux 2.6版内核增加了对安全性的改进和支持,从而使Linux具备了与Unix在这一领域抗衡的基础。

Linux的稳定性和安全性一直都是商家青睐它的主要原因,大型服务器更是Linux在商业领域发展的顶梁柱。2.6版内核对更多新硬件类型的支持中也包含了对大型服务器更多的支持。这些服务器既有运行i386处理器的,也有运行其它处理器的。这些特性是新近加入Linux的,还有许多优化工作需要完成。但这是Linux发展相当迅速的一个领域,预计在不久的将来,Linux将成为服务器领域更有力的竞争者。

在Linux 2.6内核中,整个基于核心的安全体系,即类Unix操作系统中的超级用户权限,已经被划分成一些可以被替换的安全模块。不过,目前提供的安全模块只有一个缺省的,仅仅当作一个向我们展示如何自定义安全模块的例子。作为这个变化的一部分,核心的所有部分都被更新,以具有更细粒度的用户访问控制,而不是像以前那样的“超级用户”系统。虽然几乎所有的Linux系统将仍然存在具有完全访问权限的root用户,但上述改变使得类Linux系统可以不再必须如此。

另一个与安全相关的变化是一些二进制模块不能再重载系统调用,也不能看到及修改系统调用表。这极大地限制了非开放源码模块在核心中的访问,同时也修补了GPL版权协议在这方面可能存在的漏洞。

2.文件系统

(1)本地文件系统

相对于Linux 2.4而言,2.6版内核对于文件系统的支持在很多方面都有大的改进。

日志文件系统的最大优点是它的容错能力。一个设计精良的日志文件系统在损坏恢复方面,比传统的日志文件实现起来更容易、时间更短、返回服务功能更快。2.6版内核增加了对日志文件系统功能的支持,解决了2.4版在这方面的不足。

2.6版内核在文件系统上的关键变化还包括对扩展属性及POSIX标准访问控制的支持。ext2/ext3作为大多数Linux系统缺省安装的文件系统,在2.6版内核中是改进最大的一个。最主要的变化是对扩展属性的支持,即给指定的文件在文件系统中嵌入一些元数据。很多其它操作系统,如Windows已经大量地使用了这种扩展属性。但Unix系的操作系统一般都还不能很好地支持扩展属性,很多用户级程序需要进行更新才能保存和转储这些扩展属性信息。

(2)网络文件系统

Linux下块设备最常见的用法是在块设备上建立一个文件系统。但并不是所有文件系统都作为块设备被加载,像进程、共享内存和设备文件系统等完全都是虚拟的。还有其它一些文件系统是通过网络加载的,其完成的方法多样,许多操作系统都提供自己的方法来处理。Linux可以识别当前的大部分网络文件系统(NFS)。

Linux 2.4内核在显著提高NFS加载目录稳定性的同时,还提供对NFS协议最新版本——NFSv3的支持。NFSv3能更好地支持文件系统同步、文件锁定等功能。

Linux 2.6内核中,网络文件系统同样得到了更新和改进。最大的改进就是实验性地支持NFSv4协议在客户端和服务器端的实现。新版本有更强、更安全的身份认证(采用加密技术),支持更智能化的锁管理、伪文件系统等。Linux 2.6还没有实现所有NFS4的新特征,但目前的版本已经比较稳定,并能够支持一些产品级的应用。同时,改进了基于Linux的NFS服务端的实现,从而具有更好的扩展性、完整性、健壮性。通过新的NFSd文件系统能够更加便捷地管理,而不再需要通过系统调用来管理。

除了改进对网络文件系统的支持,Linux 2.6在对Windows类型的网络文件系统支持方面也进行了改进。Linux新内核能够在SMB协议的客户端对该协议的很多版本提供不错地支持。同时,2.6新内核无需在内核编译阶段手动选择从Windows 9x或Windows NT/2000加载的选项,而能够自动检测远端操作系统的类型,并能够进行必要地排错。

Linux 2.6还加入了相对新的一些分布式网络文件系统,支持一个逻辑卷上的文件分布在多个节点中。

3.嵌入式系统

嵌入式系统是一种以应用为中心,计算机技术为基础,软件/硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。

嵌入式领域是Linux应用的广阔天地。uCLinux是Linux应用在微控制器平台的一个项目,是一种针对不带MMU的ARM微处理器的嵌入式操作系统。uCLinux完全符合GNU/GPL公约,完全开放代码,它的很多特性都和Linux相同,最典型的特征是无MMU(内存管理单元)。

Linux 2.6内核扩展多嵌入式平台支持的一个主要途径就是把uCLinux的大部分并入主流内核功能中。目前许多嵌入式处理器如ARM系列等,很多都是无MMU的。uCLinux在嵌入式系统中的应用非常广泛。因此,Linux 2.6对无MMU体系结构的支持,及将Linux和uCLinux 合并到统一的新内核中,无疑为Linux在嵌入式领域的广泛应用加重了砝码。

新版Linux前景看好

“使用和调试下一代Linux内核的时代已经开始”,Linux的创始人在发布Linux内核2.6.0新的测试版时表示.

据调查显示,约有三分之一的Linux用户表示,将在新内核最终版推出的一年时间内升级其Linux系统,这将是Linux系统的一次较大的版本升级.

总结

本文从三个不同方面提纲挈领地介绍了Linux 2.6内核的一些特点,旨在展示新内核的设计理念和相对于2.4版内核的进步。一个设计优良的操作系统应该有一个精简一致的构造,在添加新功能时不必破坏原有的结构,并在后续发展中能够保持前后一致。Linux由于最初设计时的科学性,在后来的发展中没有在设计思想上做过大的变动。虽然Linux有很多版本,但是通过POSIX标准,这些不同版本的系统在源代码上都能保持高度的兼容。因此,无论是最新推出的Linux 2.6版本内核,还是仍在不断完善稳定的2.4版本内核,或者是将来功能更加强大的新内核,Linux都将会在兼容的基础上继续进步。

参考文献:赛迪网

如何安装Linux内核源代码

如何获取Linux内核源代码 下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux 内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。 使用Git 由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。 你可以使用下面的Git命令获取Linus内核代码树的最新“推送”版本: $ git clone git://https://www.wendangku.net/doc/df15006548.html,/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 然后使用下面的命令将你的代码树与Linus的代码树最新状态同步: $ git pull 安装内核源代码 内核包有GNU zip(gzip)和bzip2格式。Bzip2是默认和首选格式,因为它的压缩比通常比gzip更好,bzip2格式的Linux内核包一般采用linux-x.y.z.tar.bz2形式的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽取就很简单了,如果你下载的是bzip2包,运行: $ tar xvjf linux-x.y.z.tar.bz2 如果你下载的是gzip包,则运行: $ tar xvzf linux-x.y.z.tar.gz 无论执行上面哪一个命令,最后都会将源代码解压和抽取到linux-x.y.z目录下,如果你使用Git下载和管理内核源代码,你不需要下载tar包,只需要运行git clone命令,它就会自动下载和解压。 内核源代码通常都会安装到/usr/src/linux下,但在开发的时候最好不要使用这个源代码树,因为针对你的C库编译的内核版本通常也链接到这里的。 应用补丁

史上最全linux内核配置详解

对于每一个配置选项,用户可以回答"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;"n"表示内核不提供相应特性或驱动程序的支持。只有<>才能选择M 1. General setup(通用选项) [*]Prompt for development and/or incomplete code/drivers,设置界面中显示还在开发或者还没有完成的代码与驱动,最好选上,许多设备都需要它才能配置。 [ ]Cross-compiler tool prefix,交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认不使用。嵌入式linux更不需要。 [ ]Local version - append to kernel release,自定义版本,也就是uname -r可以看到的版本,可以自行修改,没多大意义。 [ ]Automatically append version information to the version string,自动生成版本信息。这个选项会自动探测你的内核并且生成相应的版本,使之不会和原先的重复。这需要Perl的支持。由于在编译的命令make-kpkg 中我们会加入- –append-to-version 选项来生成自定义版本,所以这里选N。 Kernel compression mode (LZMA),选择压缩方式。 [ ]Support for paging of anonymous memory (swap),交换分区支持,也就是虚拟内存支持,嵌入式不需要。 [*]System V IPC,为进程提供通信机制,这将使系统中各进程间有交换信息与保持同步的能力。有些程序只有在选Y的情况下才能运行,所以不用考虑,这里一定要选。 [*]POSIX Message Queues,这是POSIX的消息队列,它同样是一种IPC(进程间通讯)。建议你最好将它选上。 [*]BSD Process Accounting,允许进程访问内核,将账户信息写入文件中,主要包括进程的创建时间/创建者/内存占用等信息。可以选上,无所谓。 [*]BSD Process Accounting version 3 file format,选用的话统计信息将会以新的格式(V3)写入,注意这个格式和以前的v0/v1/v2 格式不兼容,选不选无所谓。 [ ]Export task/process statistics through netlink (EXPERIMENTAL),通过通用的网络输出工作/进程的相应数据,和BSD不同的是,这些数据在进程运行的时候就可以通过相关命令访问。和BSD类似,数据将在进程结束时送入用户空间。如果不清楚,选N(实验阶段功能,下同)。 [ ]Auditing support,审计功能,某些内核模块需要它(SELINUX),如果不知道,不用选。 [ ]RCU Subsystem,一个高性能的锁机制RCU 子系统,不懂不了解,按默认就行。 [ ]Kernel .config support,将.config配置信息保存在内核中,选上它及它的子项使得其它用户能从/proc/ config.gz中得到内核的配置,选上,重新配置内核时可以利用已有配置Enable access to .config through /proc/config.gz,上一项的子项,可以通过/proc/ config.gz访问.config配置,上一个选的话,建议选上。 (16)Kernel log buffer size (16 => 64KB, 17 => 128KB) ,内核日志缓存的大小,使用默认值即可。12 => 4 KB,13 => 8 KB,14 => 16 KB单处理器,15 => 32 KB多处理器,16 => 64 KB,17 => 128 KB。 [ ]Control Group support(有子项),使用默认即可,不清楚可以不选。 Example debug cgroup subsystem,cgroup子系统调试例子 Namespace cgroup subsystem,cgroup子系统命名空间 Device controller for cgroups,cgroups设备控制器

Linux 操作系统查看服务器系统信息命令(linux系统)

Linux 操作系统查看服务器系统信息命令(linux 系统系统: # uname -a # 查看内核 /操作系统 /CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看 CPU 信息 # hostname # 查看计算机名 # lspci -tv # 列出所有 PCI 设备 # lsusb -tv # 列出所有 USB 设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 : # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名 > # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 磁盘和分区 :

# mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数 (仅适用于 IDE 设备 # dmesg | grep IDE # 查看启动时 IDE 设备检测状况 网络 : # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 用户 : # w # 查看活动用户 # id <用户名 > # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务

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内核源码 下载地址:https://www.wendangku.net/doc/df15006548.html,/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2 3、下载内核升级工具 (1)下载module-init-tools-3.2.tar.bz2 https://www.wendangku.net/doc/df15006548.html,/pub/linux/utils/kernel/module-init-tools/module-init-tools-3.2.tar.bz2 (2)下载mkinitrd-4.1.18-2.i386.rpm https://www.wendangku.net/doc/df15006548.html,/fedora/linux/3/i386/RPMS.core/mkinitrd-4.1.18-2.i386.rpm (3)下载lvm2-2.00.25-1.01.i386.rpm https://www.wendangku.net/doc/df15006548.html,/fedora/linux/3/i386/RPMS.core/lvm2-2.00.25-1.01.i386.rpm (4)下载device-mapper-1.00.19-2.i386.rpm https://www.wendangku.net/doc/df15006548.html,/fedora/linux/3/i386/RPMS.core/device-mapper-1.00.19-2.i386.rpm (2.6.18内核和这4个升级工具我都有备份,如果以上下载地址失效,请到https://www.wendangku.net/doc/df15006548.html,/guestbook留下你的邮箱,我给你发过去)

如何查询centos查看系统内核版本,系统版本,32位还是64位

【转】如何查询centos查看系统内核版本,系统版本,32位还是64位 查看centos内核的版本: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@https://www.wendangku.net/doc/df15006548.html,) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:14 EDT 2010 2) [root@localhost ~]# uname -a Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux 3) [root@localhost ~]# uname -r 2.6.18-194.el5 2. 查看linux版本: 1) 列出所有版本信息, [root@localhost ~]# lsb_release -a LSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics -3.1-ia32:graphics-3.1-noarch Distributor ID: CentOS Description: CentOS release 5.5 (Final) Release: 5.5 Codename: Final 注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。 2) 执行cat /etc/issue,例如如下: [root@localhost ~]# cat /etc/issue CentOS release 5.5 (Final) Kernel r on an m 3) 执行cat /etc/redhat-release ,例如如下: [root@localhost ~]# cat /etc/redhat-release CentOS release 5.5 (Final) 查看系统是64位还是32位: 1、getconf LONG_BIT or getconf WORD_BIT [root@localhost ~]# getconf LONG_BIT 64 2、file /bin/ls [root@localhost ~]# file /bin/ls /bin/ls: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped 3、lsb_release -a [root@localhost ~]# lsb_release -a

Linux内核十个版本性能对比

【IT168 评论】从2008年1月底至今,Linux Kernel系统内核已经先后升级了十次,版本号也从2.6.24上升到2.6.33,并且下个版本2.6.34也已进入开发阶段。今天我们就看看过去两年内这十个版本在性能上有何差异。 测试平台是一套工作站系统,硬件配置包括AMD Opteron 2384 2.7GHz四核心处理器(“上海”)、泰安Thunder n3600B S2927主板(NVIDIA nForce 3600PRO 芯片组)、4GB DDR2 ECC Reg内存、希捷ST3300622AS 300GB硬盘、ATI FirePro V8700显卡,软件上采用Ubuntu 8.04.4 LTS 64位操作系统,组件有GNOME 2.22.3、https://www.wendangku.net/doc/df15006548.html, Server 1.4.0.90、GCC 4.2.4、EXT3。 Linux Kernel 2.6.24-2.6.33的每个版本都从Ubuntu PPA源上获取,而且均为64位版本。除了替换内核之外,系统其他设置均保持默认。 Apache Benchmark(静态网页服务):2.6.33成绩大幅提升,但事实最早的2.6.24版反而才是好的,之后八个版本都差得很多,最新版终于基本正常了。

PostgreSQL pgbench(每秒钟TPC-B交易数):2.6.30的成绩比上个版本骤然提升了多达770%,但之后2.6.32迅速下滑,最新的2.6.33却又完全不如2.6.30之前的六个版本了。

7-Zip Compression(文件压缩速度):不同版本有所波动,最新的2.6.33成了赢家,这才是我们最希望看到的。 LZMA Compression(256MB文件压缩):十个版本几乎没什么区别。

查看linux系统版本,内核,CPU,MEM,位数的相关命令

查看linux系统版本,内核,CPU,MEM,位数的相关命令 1.查看版本,内核 [oracle@svr15 ~]$ cat /etc/issue Red Hat Enterprise Linux AS release 4 (Nahant) Kernel \r on an \m [oracle@svr15 ~]$ cat /proc/version Linux version 2.6.9-5.ELsmp (bhcompile@https://www.wendangku.net/doc/df15006548.html,) (gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)) #1 SMP Wed Jan 5 19:30:39 EST 2005 [oracle@svr15 ~]$ uname -r 2.6.9-5.ELsmp 2.查看cpu,mem [oracle@svr15 ~]$ grep "model name" /proc/cpuinfo model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz [oracle@svr15 ~]$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Intel(R) Xeon(R) CPU 5130 @ 2.00GHz stepping : 6 cpu MHz : 1995.006 cache size : 64 KB physical id : 0 siblings : 2 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 10 wp : yes

Linux的版本与内核

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 内核版本号及源代码目录树结构 一、linux内核版本号的命名机制 Linux内核版本有两种:稳定版和开发版。稳定的内核具有工业级的强度,可以广泛地应用和部署。新的稳定内核相对于较旧的只是修正一些bug或加入一些新的驱动程序。而开发版内核由于要试验各种解决方案,所以变化很快。这两种版本是相互关联,相互循环的。 Linux内核的命名机制: num.num.num 其中第一个数字是主版本号,第二个数字是次版本号,第三个数字是修订版本号。如果次版本号是偶数,那么该内核就是稳定版的;若是奇数,则是开发版的。头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。最新的内核源代码可以在https://www.wendangku.net/doc/df15006548.html,以tar包或者增量补丁的形式下载.。 Linux还有各种发行版本,除了最熟悉的Redhat,Debian,Bluepoint,红旗,还有 Slackware,Mandarke,Turbo。 二、linux源代码目录树结构 Linux用来支持各种体系结构的源代码包含大约4500个C语言程序,存放在270个左右的子目录下,总共大约包含200万行代码,大概占用58MB磁盘空间。 在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下: arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。 include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。

Linux查看系统命令

系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载# cat /proc/loadavg # 查看系统负载 磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况 网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 进程 # ps -ef # 查看所有进程 # top # 实时显示进程状态 用户

linux查看驱动版本

Linux下查看驱动版本以及硬件信息 2009-05-13 09:58 lsmod 看看你要查看的驱动模块名字,例如100M网卡e100 modinfo e100 则会出现相关的版本信息 常用命令整理如下: 用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查看PCI信息:lspci (相比cat /proc/pci更直观) 查看内存信息:cat /proc/meminfo 查看USB设备:cat /proc/bus/usb/devices 查看键盘和鼠标:cat /proc/bus/input/devices 查看系统硬盘信息和使用情况:fdisk & disk - l & df 查看各设备的中断请求(IRQ):cat /proc/interrupts 查看系统体系结构:uname -a dmidecode查看硬件信息,包括bios、cpu、内存等信息 dmesg | more 查看硬件信息 对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:Cpuinfo 主机CPU信息 Dma 主机DMA通道信息 Filesystems 文件系统信息 Interrupts 主机中断信息 Ioprots 主机I/O端口号信息 Meninfo 主机内存信息 Version Linux内存版本信息 另外我们还可以使用hardinfo 这个软件来查看硬件信息。

通常,linux系统启动的时候当加载网卡的时候,会产生一条日志信息写道/var/log/messages或者dmesg里面,这里面就有比较详细的网卡信息,包括版本号码等。 对于网卡: 用ethtool -i ethX可以查询该网络设备的版本信息 包括driver版本信息和firmware版本信息 用此命令也能看到总线信息和该设备所用的driver模块名称 假定该网卡使用的驱动模块是intel的e1000 再用modinfo e1000就可看到该driver模块的详细信息 查看网卡属性:ethtool -g eth0;查看网卡信息:dmesg

如何查看LINUX操作系统是多少位的

方法一 Linux系统查看当前安装的系统是32位还是64位方法如下: [root@localhost mysql-5.1.57]# getconf LONG_BIT 64 通过上面命令,可以很方便看到是64位,如果结果是32就是32位系统。 查看Linux版本信息命令如下: [root@localhost mysql-5.1.57]# lsb_release -a LSB 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-noarch Distributor ID: CentOS Description: CentOS release 5.8 (Final) Release: 5.8 Codename: Final 方法二 (1) 终端输入: file /sbin/init 如显示: /sbin/init: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped 即是32位的linux, 如是64位的, 显示的是64-bit (2) 终端输入: uname -a 如显示: Linux redhat-tj 2.6.18-128.el5 #1 SMP Wed Jan 21 10:44:23 EST 2009 i686 i686 i386 GNU/Linux 则是32位 (3)(?) 终端输入: getconf WORD_BIT 如显示: 32 则是32位的linux

Linux查看系统状态命令

inux 查看系统信息命令是linux初学者必备的基础知识, 这些命令也非常有用, 因为进入linux第一件事就可能是首先查看系统信息, 因此必要的系统的学习一下这些linux系统信息命令还是非常有必要的! 下面给除了各linux发行版比较常用的系统信息查询的命令, 大家可以参考, 同时也可以测试学习, 必要的时候man, 一定要学学使用man命令, 呵呵 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息进程

Linux查看系统各项配置信息

Linux大部分操作是通过命令实现的,并不像windows那么直观。linux查看硬件信息也是需要通过linux查看硬件 信息命令查询的 系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源 # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh<目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 磁盘和分区 # mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况 网络 # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 进程 # ps -ef # 查看所有进程 # top # 实时显示进程状态 用户 # w # 查看活动用户 # id <用户名> # 查看指定用户信息 # last # 查看用户登录日志

Linux内核详细介绍

Linux内核详细介绍 现如今,电脑的使用越来越普遍,几乎每家每户都有电脑,而电脑的操作离不开操作系统,在这里,小编就向大家介绍Linux 内核。 很多Linux 爱好者对内核很感兴趣却无从下手,本文旨在介绍一种解读Linux内核源码的入门方法,而不是讲解Linux复杂的内核机制。 1.核心源程序的文件组织 (1)Linux核心源程序通常都安装在/usr/src/Linux下,而且它有一个非常简单的编号约定:任何偶数的核心(中间数字)如:2.0.30都是一个稳定的发行的核心,而任何奇数的核心如:2.1.42都是一个开发中的核心。 本文基于稳定的2.2.5源代码,第二部分的实现平台为Redhat Linux 6.0。 (2)核心源程序的文件按树形结构进行组织,在源程序树的

最上层你会看到这样一些目录: arch:arch子目录包括了所有和体系结构相关的核心代码。它的每一个子目录都代表一种支持的体系结构,例如i386就是关于Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录; include:include子目录包括编译核心所需要的大部分头文件。与平台无关的头文件在include/linux子目录下,与Intel CPU 相关的头文件在include/asm-i386子目录下,而include/scsi目录则是有关SCSI设备的头文件目录; init:这个目录包含核心的初始化代码(注:不是系统的引导代码),包含两个文件main.c和Version.c,这是研究核心如何工作的一个非常好的起点; Mm:这个目录包括所有独立于CPU 体系结构的内存管理代码,如页式存储管理内存的分配和释放等,而和体系结构相关的内存管理代码则位于arch/*/mm/,例如arch/i386/mm/Fault.c; Kernel:主要的核心代码,此目录下的文件实现了大多数Linux系统的内核函数,其中最重要的文件当属sched.c,同样,和

Linux 操作系统查看服务器系统信息命令(linux系统)

Linux 操作系统查看服务器系统信息命令(linux系统) linux软件开发 系统: # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod # 列出加载的内核模块 # env # 查看环境变量 资源: # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh <目录名> # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内存量 # uptime # 查看系统运行时间、用户数、负载 # cat /proc/loadavg # 查看系统负载 磁盘和分区:

# mount | column -t # 查看挂接的分区状态 # fdisk -l # 查看所有分区 # swapon -s # 查看所有交换分区 # hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备) # dmesg | grep IDE # 查看启动时IDE设备检测状况 网络: # ifconfig # 查看所有网络接口的属性 # iptables -L # 查看防火墙设置 # route -n # 查看路由表 # netstat -lntp # 查看所有监听端口 # netstat -antp # 查看所有已经建立的连接 # netstat -s # 查看网络统计信息 用户: # w # 查看活动用户 # id <用户名> # 查看指定用户信息 # last # 查看用户登录日志 # cut -d: -f1 /etc/passwd # 查看系统所有用户 # cut -d: -f1 /etc/group # 查看系统所有组 # crontab -l # 查看当前用户的计划任务

linux系统下查看系统信息命令

Linux的文件系统中,有一个特殊目录“/proc”,该目录下列出的文件并非保存在磁盘上,而是内存中的一个映像。在该目录下可以找到许多有意思的东西,例如: /proc/cpuinfo 本机CPU的相关信息; /proc/meminfo 本机内存及交换分区的使用信息; /proc/modules 本机已安装的硬件模块信息; /proc/mounts 本机已挂载mount 上的设备信息; 此外,该目录下有一些以数字为名称的子目录,每个子目录用于维护一个正在运行的进程,而目录名即为相应的进程ID。例如进入名称为“1” 的子目录:cd /proc/1 该目录下文件“cmdline” 中的内容为该进程运行时执行的命令行;“environ”文件中的内容为该进程运行时的环境变量信息;“stat” 文件中存放的时该进程运行的状态信息等。 通过查看“ /proc” 目录下的文件,可以获取几乎所有的系统信息及系统的运行状态信息。事实上,Linux下的诸多查询系统状态信息的命令,也是通过读取该目录下的文件而获取的。 以下是一些用于查看系统状态信息的命令: df 命令 用于查看Linux 文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。如: df -k 以千字节(KB)为单位显示各分区的信息; df -a 显示所有分区,包括大小为0 的分区; df -T 显示分区类型(EXT2 或EXT3等)。 du 命令 用于查看文件或文件夹的大小。如: du -b /home 以字节为单位显示“ /home ”文件夹下各个子文件夹的大小; du -ks home 以千字节(KB)为单位显示“/home” 文件夹的总大小; top 命令(第三页有详细的图形介绍top命令) 用于实时查看系统状态信息。运行该命令后,屏幕上会显示如下信息: CPU状态(CPU states):包括用户进程占用比率、系统进程占用比率、用户的nice 优先级进程占用比率及空闲CPU资源比率等;

Linux查看内核(Kernel)版本的方法

Linux查看内核(Kernel)版本的方法 目前尝试过三种方法: 源自“Debian”的“Linux ”发行版推荐使用如下命令: dpkg --get-selections|grep linux 会显示所有内核版本信息(不论安装与否) 通用的方式为: uname -r 可以在终端使用uname --help查看用法。注释为显示内核版本发行号。 'uname'是Linux/unix系统中用来查看系统信息的命令,适用于所有Linux发行版,诸如:CentOS, Ubuntu, Debian, Fedora, FreeBSD 等。配合使用'uname'参数可以查看当前服务器内核运行的各个状态。 # uname -a Linux server.domain.tld 2.6.18-164.11.1.el5 #1 SMP Wed Jan 20 07:39:04 EST 2010 i686 i686 i386 GNU/Linux 只打印内核版本,以及主要和次要版本:

# uname -r 2.6.18-164.11.1.el5 要打印系统的体系架构类型,即的机器是32位还是64位,使用: # uname -p i686
来源:系统运维网(https://www.wendangku.net/doc/df15006548.html,)[详细地址]: https://www.wendangku.net/doc/df15006548.html,/linux/kernel/201109163047.html 也可以到/proc目录下显示version文件信息(不推荐): c /proc/version 文件也包含系统内核信息: # cat /proc/version Linux version 2.6.18-164.11.1.el5 (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Wed Jan 20 07:39:04 EST 2010

相关文档
相关文档 最新文档