当前位置:首页 » 操作系统 » linux内核代码

linux内核代码

发布时间: 2025-02-20 06:16:46

linux内核源码详解

Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。
对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,我认为,基本要求是:1、操作系统的基本知识; 2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。
另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内核源代码就可看出,各个目录大致对应了这些方面。Linux内核源代码的组成如下(假设相对于linux目录):
arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。如对于X86平台就是i386。
include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。
init 此目录包含核心启动代码。
mm 此目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/-/mm目录下,如对应于X86的就是arch/i386/mm/fault.c 。
drivers 系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应的子目录,如声卡的驱动对应于drivers/sound。
ipc 此目录包含了核心的进程间通讯代码。
moles 此目录包含已建好可动态加载的模块。
fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。
kernel 主要核心代码。同时与处理器结构相关代码都放在arch/-/kernel目录下。
net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。
lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/-/lib/目录下。
scripts 此目录包含用于配置核心的脚本文件。
Documentation 此目录是一些文档,起参考作用。

Ⅱ 命令行查看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-noarch
Distributor ID: CentOS
Description: CentOS release 6.5 (Final)
Release: 6.5
Codename: Final
注意:如果提示“-bash: lsb_release: command not found” ,就需要手动安装 lsb_release 命令。使用 yum install -y redhat-lsb
以下方法适用于RedHat , CentOS

复制代码代码如下:#cat /etc/redhat-release
CentOS release 6.5 (Final)
或者通过查看软件包名来看查看系统版本
redhat执行:

复制代码代码如下:#rpm -q redhat-release
centos执行;

复制代码代码如下:# rpm -q centos-release
centos-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 -r
2.6.32-042stab094.8
2. 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 目录。64位的系统会有/lib64和/lib两个目录,32位只有/lib一个

复制代码代码如下:#cd / | ls
2.getconf LONG_BIT

复制代码代码如下:32
3.file /bin/ls 查看基本程序二进制信息

复制代码代码如下:/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
注意:如果没有file 这个命令,就使用 yum install file 安装这个file命令。
查看系统详细参数信息

复制代码代码如下:getconf -a
热点内容
psp模拟android 发布:2025-02-21 20:59:49 浏览:419
linuxdowhile 发布:2025-02-21 20:56:31 浏览:289
更改存储位置 发布:2025-02-21 20:55:52 浏览:99
优化算法matlab 发布:2025-02-21 20:52:48 浏览:406
电脑才能ping通服务器 发布:2025-02-21 20:51:14 浏览:446
解压包转区 发布:2025-02-21 20:49:50 浏览:166
格力空调压缩机噪音大 发布:2025-02-21 20:45:28 浏览:378
linux最常用命令 发布:2025-02-21 20:45:24 浏览:299
拷贝表数据sql 发布:2025-02-21 20:39:21 浏览:1001
我的世界连锁挖矿在服务器 发布:2025-02-21 20:34:42 浏览:162