zoukankan      html  css  js  c++  java
  • linux内核目录结构

    内核版本:2.6.32-504.el6.x86_64

    内核目录:

    各个目录的内容:

    arch:包含所有与系统结构相关的代码

           |--x86  /*英特尔cpu及与之相兼容体系结构的子目录*/

      |  |--boot   /*引导程序*/

      |  |  |--compressed   /*内核解压缩*/

      |  |--tools   /*生成压缩内核映象的程序*/

      |  |--kernel   /*相关内核特性实现的方式,如信号处理、时钟处理*/

      |  |  |--lib   /*硬件相关工具函数*/

    block:块设备驱动

    crypto:内核本身所用的加密API,实现了常用的加密和散列算法

    drivers:驱动代码,驱动是一个控制硬件的软件,是内核中最庞大的一个目录。例如显卡、网卡、SCSI适配器,PCI总线、USB总线和其他任何Linux支持的外围设备或总线的驱动程序都可以在这找到

    firmware:包含了让计算机读取和理解从设备发来的信号的代码

    fs:虚拟文件系统(VFS)的代码,和各个不同文件系统的代码都在这个目录中

      |  |--devpts  /* /dev/pts虚拟文件系统 */

      |  |--ext2  /* 第二扩展文件系统 */

      |  |--fat /* MS的fat32文件系统 */

      |  |--isofs  /* ISO9660光盘cd-rom上的文件系统 */

    include:包含内核中大部分的头文件,要修改处理器结构只需编辑核心的Makefile并重新运行Linux核心配置程序

    init:内核的初始代码,包括main.c,创建早期用户空间的代码及其他的初始代码

    ipc:IPC进程间通信,包含了共享内存、信号量及其形式的IPC代码

    kernel:内核中最核心部分,包括进城的调度以及进程的创建和撤销(fork.c和exit.c)和平台相关的另一部分核心代码在arch和kernel目录下

    mm:包含了与体系无关的部分内存管理代码

    net:核心的网络部分代码

      |  |--appletalk   /* 与苹果系统连网的协议 */

      |  |--802  /* 802无线通讯协议核心支持代码 */

      |  |--ax25  /* AX25无线INTERNET协议 */

      |  |--bridge  /* 桥接设备 */

      |  |--ipv4  /* IP协议族V4版32位寻址模式 */

      |  |--ipv6  /* IP协议族V6版 */

    samples:一些内核编程的范例

    script:无内核代码,只包含了用来配置内核的脚本文件,当运行make menuconfig或者mak xconfig之类的命令配置内核时,用户就是和位于这个目录的脚本进行交互的

    security:主要是一个SELinux的模块

    sound:声卡驱动以及其他声音相关的源码

    tool:这个文件夹中包含了和内核交互的工具

    usr:实现用于打包和压缩的GZIP等,其中的代码在内核编译完成后创建这个文件

    virt:包含虚拟代码,他允许用户一次运行多个操作系统

    Makefile:这个脚本是编译内核的主要文件

    Kbuild:设置一些内核设定的脚本

    CPOYING:许可和授权信息

  • 相关阅读:
    史上自定义 JavaScript 函数Top 10
    switch
    (不)扩展内置原型((Not) Augmenting Built-in Prototypes)
    for-in循环(for-in Loops)
    for
    在dreamweaver中设置php服务器F12预览的方法介绍
    method
    CSS中background-image【CSS Sprites,base64编码】
    shell编程中的小问题
    常见的linux问题积累
  • 原文地址:https://www.cnblogs.com/qfdxxdr/p/8599688.html
Copyright © 2011-2022 走看看