• 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等

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

  • 相关阅读:
    Scrapy shell调试返回403错误
    android 获取 imei号码
    查找目录下的所有文件中是否含有某个字符串
    自动生成和配置ES的安全证书
    docker构建本地私有镜像
    ELK容器化部署
    Rancher使用基础知识1
    jenkins自动打包部署流水线
    ansible管理windows主机
    jenkins集成gitlab自动构建打包
  • 原文地址:https://www.cnblogs.com/chulin/p/10354034.html
Copyright © 2020-2023  润新知