linux源码注释(linux代码注释)
本文目录一览:
linux内核完全注释
本书对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础。
书中首先以Linux源代码版本的变迁历史为主线,详细介绍了Linux系统的发展历史,着重说明了各个内核版本之间的重要区别和改进方面,给出了选择0.11(0.95)版作为研究的对象的原因。然后本书依据内核源代码的组织结构对所有内核程序和文件进行了注释和详细说明。 在注释的同时,还介绍了读者应该了解的相关知识,并给出了相关的硬件信息。
查看linux源代码注释
linux内核完全剖析这本书不错,网上好像有下载.
看了看,挺好的.是台湾姓赵的写的
linux内核源码详解
Linuxlinux源码注释的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src/linux目录下的东西就是内核源代码。
对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的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 此目录包含了核心的进程间通讯代码。
modules 此目录包含已建好可动态加载的模块。
fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。
kernel 主要核心代码。同时与处理器结构相关代码都放在arch/-/kernel目录下。
net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。
lib 此目录包含了核心的库代码。与处理器结构相关库代码被放在arch/-/lib/目录下。
scripts 此目录包含用于配置核心的脚本文件。
Documentation 此目录是一些文档,起参考作用。
linux中C语言程序 代码说明注释
1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/ #include "stdio.h" main() {int i,j,result; for (i=1;i10;i++) { for(j=1;j10;j++) {
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/ }
printf("\n");/*每一行后换行*/ }
}
2.
/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main() {
long f1,f2;
int i; f1=f2=1;
for(i=1;i=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n");/*控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/
} }
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。*/ #include "math.h" main() {
int m,i,k,h=0,leap=1; printf("\n");
for(m=101;m=200;m++) { k=sqrt(m+1); for(i=2;i=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) /*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m);h++; if(h%10==0) printf("\n"); } leap=1; }
printf("\nThe total is %d",h);
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。*/ main() {
static int k[10]; int i,j,n,s;
for(j=2;j1000;j++) {
n=-1; s=j;
for(i=1;ij;i++) {if((j%i)==0) { n++; s=s-i; k[n]=i; } }
if(s==0)
{printf("%d is a wanshu: ",j); for(i=0;in;i++)
printf("%d,",k[i]); printf("%d\n",k[n]); } }
}
5、/*编程打印直角杨辉三角形*/ main()
{int i,j,a[6][6]; for(i=0;i=5;i++) {a[i][i]=1;a[i][0]=1;} for(i=2;i=5;i++)
for(j=1;j=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1]; for(i=0;i=5;i++) {for(j=0;j=i;j++)
printf("%4d",a[i][j]); printf("\n");}
}
这些程序都是经典的,而且很简单,希望对你有帮助,10个我写不下去,因为字数限制,还有一点就是,gcc是编译器,一般是在LINUX平台,实质上C语言的话代码是和WINDOWS没区别的,只是有些库函数的调用有区别,一般在LINUX平台写完一个源代码是.c文件,在GCC中通过命令行输入gcc xx.c就可以生产可执行文件了
怎样解读LINUX系统的源代码
解读LINUX
的源代码,这一点阻挡了许多人的热情。
我的建议是:随着技术的发展,LINUX系统也向着桌面化发展,在内核内加入了越来越多的代码,是内核越来越臃肿,增加了阅读的难度.
1.一般情况下LINUX的源代码位于/USR/LINUX下
2.其中的ARCH目录下为一些重要的代码.
3.INCLUDE目录下是编译系统所需要的头文件
4.其他的一些文件大多可以根据其所在文件夹的名字,以及自身的名字来
判断.
蒲У姆绞接枰源娣