二部分作者:红联
Linux内核结构详解
发布时间:2007-05-04 23:13:17
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。
网站:http://www.fywxw.com 98/153 制作于:2007-05-06 Powered by X-Space
枫叶文学网www.fywxw.com
枫叶文学网制作:Linux实用培训教程 第二部分作者:红联
从何处开始阅读源代码
发布时间:2007-05-04 23:13:39
在Internet,有人制作了源代码导航器,为阅读源代码提供了良好的条件,站点为lxr.linux.no/source。
下面给出阅读源代码的线索:
系统的启动和初始化:
在基于Intel的系统上,当loadlin.exe或LILO把内核装入到内存并把控制权传递给内核时,内核开始启动。关于这
一部分请看,arch/i386/kernel/head.S,head.S进行特定结构的设置,然后跳转到init/main.c的main()例程。
内存管理:
内存管理的代码主要在/mm,但是特定结构的代码在arch/*/mm。缺页中断处理的代码在/mmcommory.c ,而内存
映shè和页高速缓存器的代码在/mm/filemap.c 。缓冲器高速缓存是在/mm/buffer.c 中实现,而jiāo换高速缓存是
在mm/swap_state.c和mm/swapfile.c。
内核:
内核中,特定结构的代码在arch/*/kernel,调度程序在kernel/sched.c,fork的代码在kernel/fork.c,内核例程处理程序
在include/linux/interrupt.h,task_struct数据结构在inlucde/linux/sched.h中。
PCI:
PCI伪驱动程序在drivers/pci/pci.c,其定义在inclulde/linux/pci.h。每一种结构都有一些特定的PCI BIOS代码,Intel
的在arch/alpha/kernel/bios32.c中。
进程间通信:
所有的SystemVIPC对象权限都包含在ipc_perm数据结构中,这可以在include/linux/ipc.h中找到。SystemV消息是
在ipc/msg.c中实现。共享内存在ipc/shm.c中实现。信号量在ipc/sem.c中,管道在/ipc/pipe.c中实现。
中断处理:
内核的中断处理代码几乎所有的微处理器特有的。中断处理代码在arch/i386/kernel/irq.c中,其定义
在include/asm-i386/irq.h中。
网站:http://www.fywxw.com 99/153 制作于:2007-05-06 Powered by X-Space
枫叶文学网www.fywxw.com
枫叶文学网制作:Linux实用培训教程 第二部分作者:红联
Fedora Core 6