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等

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

Linux体系结构的更多相关文章

  1. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  2. Linux 体系结构

    Linux 体系结构 Linux 嵌入式系统的组成 层次结构图   bios 1.硬件检测 2.初始化系统设备 3.装入os 4.调os向硬件发出的指令 bsp 板级支持包 硬件相关 开发板原理图 开 ...

  3. linux体系结构与内核结构图解

    1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块: (1)用户空间:用户空间中又包含了,用户的应用程序,C库 ...

  4. Linux体系结构(二): Linux系统层次

    前一节内容大概介绍了一下Linux的历史由来,各大Linux发行厂商都是基于GNU项目下的所有开源软件,来构建各自己的Linux发行版本,一个完整的Linux发行版本大概可以分为以下四个层次结构:   ...

  5. Linux体系结构(五): 文件系统

    上一节主要对Linux系统中的内核空间与用户空间做了简单的分析,在这一节里,将从内核空间和用户空间对Linux文件系统进行一定的剖析. 谈及文件系统,很多Linux用户都会有一个比较模糊和神秘的概念, ...

  6. linux 体系结构知识 博客

    http://blog.csdn.net/haiross/article/category/1488205/3

  7. linux内核体系结构

    linux内核第一记   1.linux体系结构   从上图可知,Linux分为:用户空间和内核空间.内核空间和用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的 ...

  8. Linux 简介

    转载:http://c.biancheng.net/cpp/html/2726.html Linux简介 严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与 ...

  9. 嵌入式Linux内核制作【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...

随机推荐

  1. HTTP 协议基础及发展历史

    一. 5层网络模型介绍 低三层 物理层:主要作用是定义物理设备如何传输数据. 数据链路层:在通信的实体间建立数据链路连接. 网路层:为数据在结点之间传输创建逻辑链路. 传输层: 想用户提供可靠的端到端 ...

  2. 基于CANopen DSP402的运动控制笔记

    常用的mode of operation 有以下几种: 控制字 control word: 6--------------7---------------15--------------------7 ...

  3. C#读写config配置文件--读取配置文件类

    一:通过Key访问Value的方法: //判断App.config配置文件中是否有Key(非null) if (ConfigurationManager.AppSettings.HasKeys()) ...

  4. vue+ webpack中的animate.css实现的执行多个连续的动画

    1.安装 npm install animate.css 2.使用方法 入口文件App中进行引入 import animate from 'animate.css' 3.多个连续的动画 实现的效果:实 ...

  5. TCP简单说|(上)

    本文在Creative Commons许可证下发布 TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人 ...

  6. JS关键字 import

    今天开发时使用import作为方法名,报错 后查明报错原因:import是js中的关键字,在取方法名时不能取import

  7. 五十个UI设计资源网站

    五十个UI设计资源网站 用户体验团队网站 1.UCD大社区 http://ucdchina.com/ 2.腾讯WSD http://wsd.tencent.com/ 3.腾讯CDC http://cd ...

  8. 9.Nexus私服安装配置

    第一步:下载nexus-webapp-1.9.2.4.war包,然后复制到tomcat下的webapps文件夹中 第二步:启动tomcat 第三步:訪问http://localhost:8080/ne ...

  9. vue --- 解读vue的中webpack.base.config.js

    const path = require('path') const utils = require('./utils')// 引入utils工具模块,具体查看我的博客关于utils的解释,utils ...

  10. POJ 2430 状压DP

    题意: 思路: 先预处理出所有格子的statement statement=1–>只有上边的格子被覆盖 statement=2–>只有下边的格子被覆盖 statement=3–>上下 ...