下载此文档

linux内核解析.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
内容摘要:
linux内核的内容的解释,深入介绍linux内核的工作过程。
怎样进行内核编译,以及自己学****linux的心得体会。

Linux的内核源代码可以从很多途径得到。对于源代码的阅读,要想比较顺利,事先最好对源代码的知识背景有一定的了解。对于linux内核源代码来讲,我认为,基本要求是:1、操作系统的基本知识;2、对C语言比较熟悉,最好要有汇编语言的知识和GNU C对标准C的扩展的知识的了解。另外在阅读之前,还应该知道Linux内核源代码的整体分布情况。我们知道现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序、网络等组成。看一下Linux内核源代码就可看出,各个目录大致对应了这些方面。Linux内核源代码的组成如下(假设相对于linux目录):
arch 这个子目录包含了此核心源代码所支持的硬件体系结构相关的核心代码。
  include 这个目录包括了核心的大多数include文件。另外对于每种支持的体系结构分别有一个子目录。
  init 此目录包含核心启动代码。
mm 此目录包含了所有的内存管理代码。
drivers 系统中所有的设备驱动都位于此目录中。它又进一步划分成几类设备驱动,每一种也有对应的子目录,如声卡的驱动对应于drivers/sound。
  ipc 此目录包含了核心的进程间通讯代码。
  modules 此目录包含已建好可动态加载的模块。
  fs Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext2文件系统对应的就是ext2子目录。
  kernel 主要核心代码。同时与处理器结构相关代码都放在arch/*/kernel目录下。
  net 核心的网络部分代码。里面的每个子目录对应于网络的一个方面。
  Documentation 此目录是一些文档,起参考作用。
 我的体会是:开始最好按顺序阅读启动代码,然后进行专题阅读,如进程部分,内存管理部分等。在每个功能函数内部应该一步步来。实际上这是一个反复的过程,不可能读一遍就理解。
二.Linux内核的工作过程
在kernel内部
那么kernel到底是如何工作的呢?如下面的图表。Kernel通过许多的进入端口也就是我们从技术角度所说的系统调用,来使得运行在它上面的应用程序可用。Kernel使用的系统调用比如"读"和"写"来提供你硬件的抽象(abstraction)。
从程序员的视角来看,这些看起来只是普通的功能调用,然而实际上系统调用在处理器的操作模式上,从用户空间到Kernel空间有一个明显的切换。同时,系统调用提供了一个"Linux虚拟机",可以被认为是对硬件的抽象。
模块化的Kernel
Kernel的内核在boot time时从位于/boot 目录的一个文件加载进存储中, kernel的模块位于目录/lib/modules/KERNELVERSION之下,所有的组件都会在kernel安装时被拷贝。
管理模块
大部分情况下,Linux管理它的模块不需要你的帮忙,但是如果必要的时候有命令行可以来手动检查和管理模块
你可以使用modprobe来手动加载和卸载模块,(还有两个命令行叫做insmod和rmmod,

linux内核解析 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人精品小课件
  • 文件大小39 KB
  • 时间2021-08-09