• Linux体系结构


    linux内核结构:

    system call interface (SCI层)

    为用户空间提供了一套标准的系统调用函数来访问linux内核。

    process management (PM层)

    进程管理是创建进程,停止进程,并控制他们之间的通信。还包括进程

    调度,控制活动进程如何共享cpu

    Memory Management (MM)

    内存管理的主要作用是控制多个进程安全的共享内存区域。

    Virtual file systems (VFS)

    虚拟文件系统,隐藏各种文件系统的具体细节,为文件操作提供统一的接口

    linux提供了一个打得通用模型,使这个模型包含了所有文件系统功能的集合(一切皆文件)

    device drivers 设备驱动

    linux内核中有大量的代码在设备驱动程序部分,用于控制特定的硬件设备。

    linux驱动一般分为网络设备、块设备、字符设备、杂项设备

    网络协议栈

    内核网络协议栈为linux提供了丰富的网络协议实现。

    内核程序结构:

    arch目录,

    arch目录是平台目录。内核支持的所有CPU架构,在该目录下都有对应的子目录。每个cpu的子目录,

    又进一步分解为boot,mm,kernel等子目录,分别控制系统的引导,内存管理,系统调用。

    还有动态调频,主频率设置部分等。

    binary目录,

    无源码的驱动以二进制放到该文件夹

    block目录,

    部分块设备驱动程序

    crypto目录,

    加密压缩CRC校验

    documentation目录,

    内核的使用说明文档

    drivers目录,

    设备驱动

    firmware目录,

    固件接口

    fs目录,

    存放各种文件系统的实现代码

    include目录,

    通用的头文件在include/linux

    init目录,

    内核初始代码,

    ipc目录,

    进程通信的源码

    virt目录,

    内核虚拟机

    kernel目录,

    linux核心功能源码,程序调度,控制进程,模块化等

    lib目录,

    库文件代码

    mm目录,

    实现内存管理(与平台体系无关的部分)

    net目录,

    网络协议实现代码

    samples目录,

    内核编程的范例

    scripts目录,

    配置裁减内核的工具脚本

    security目录,

    包括不同的linux安全模型代码

    sound目录,

    音频设备的驱动程序

    tools目录,

    将.c编译成目标文件,连接合并可运行的内核镜像文件等

    usr目录,

    实现用于打包和压缩的cpio等

    学习的重点是驱动开发相关的知识、函数的调用、驱动的协议、简单的硬件知识

  • 相关阅读:
    hdu5360 Hiking(水题)
    hdu5348 MZL's endless loop(欧拉回路)
    hdu5351 MZL's Border(规律题,java)
    hdu5347 MZL's chemistry(打表)
    hdu5344 MZL's xor(水题)
    hdu5338 ZZX and Permutations(贪心、线段树)
    hdu 5325 Crazy Bobo (树形dp)
    hdu5323 Solve this interesting problem(爆搜)
    hdu5322 Hope(dp)
    Lightoj1009 Back to Underworld(带权并查集)
  • 原文地址:https://www.cnblogs.com/chulin/p/10354034.html
Copyright © 2020-2023  润新知