
1.arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。
2.include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。
3.init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。
4.mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下。
5.drivers目录中是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。
6.ipc目录包含了核心进程间的通信代码。
7.modules目录存放了已建好的、可动态加载的模块。
8.fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。
Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。
9.net目录里是核心的网络部分代码,其每个子目录对应于网络的一个方面。
10.lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。
11.scripts目录包含用于配置核心的脚本文件。
12.documentation目录下是一些文档,是对每个目录作用的具体说明。
一般在每个目录下都有一个.depend文件和一个Makefile文件。这两个文件都是编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的联系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明首慎,同样有利于对内核源码的理解。
在阅读方法或顺序上,有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行蚂行;所谓横向,就是按模块进行。它们经常结合在一起进行。对于Linux启动的代码可顺着Linux的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。实际上这是一个反复的过程,不可能读一遍就理解。
这是一个简单的分段函数问题,下面我们来分析过程:0 剪刀 1 石头 2 布---------------------------------------------man={0,1,2} /*游戏者只能选取0-2中的一个数*/computer={0,1,2} /*电脑随机值也只能产生0-2中的一或搭个让团禅数*/根据组合原理共有9种结果 (man,computer)={(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)}当(man,computer)={(0,0),(1,1),(2,2)}时 结果和局 man=computer;当(man,computer)={(0,1),(1,2),(2,0)} 时 结果败局;当(man,computer)={(0,2),(1,0),(2,1)} 时 结果胜局;-----------------------------------------------------------------------------------------------当man=computer时 , (man – computer + 4) % 3 -1= 0 结果和局 当取(0,1),(1,2),(2,0) 时 , (man – computer + 4) % 3 -1=-1 结果败局当取(0,2),(1,0),(2,1) 时 , (man – computer + 4) % 3 -1= 1 结果胜局那么(man – computer + 4) % 3 -1={0,-1,1}={和,败,胜}经推理完全符合实际结坦尘果--------------------------------------------------------------------------------------------------------------------源代码是构成网站的核心,即网站程序代码,包括网站文件及目录结构,拥有源代码才拥有网站的全部。放源代码激瞎猛是提供网站程序的所有代码给用户,用户获得源代码后可以自行进行二次修改(也可以找其他专业的公司进行修改明桥),可以将网站安装到任意具备系统运行环境的服务器(如米拓企神携业建站系统,需要PHP加MYSQL运行环境)。开放源代码可以让网站更具有自主性,未来的改版、网站推广、服务器选择等非常方便,对于专业建站而已,开放源代码是非常必要的。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)