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. [ DB ] [ SQL ] [ SQL Server ] MS SQL 建立暫存表格 temp table - 轉載

    範例 SQL: IF OBJECT_ID(N'tempdb.dbo.#tmp_checkStatusCount', N'U') IS NOT NULL DROP TABLE #tmp_checkSta ...

  2. ES6学习笔记(四)数值的扩展

    1.二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 ...

  3. element-ui表格控件前端分页方法

    <div id="app"> <el-table :data="tableData.slice((currentPage-1)*pageSize,cur ...

  4. Conservative GC (Part one)

    目录 保守式GC 不明确的根 指针和非指针的区别 貌似指针的非指针 不明确数据结构 优点 准确式GC 正确的根 打标签 不把寄存器和栈等当做根 优点 缺点 间接引用 经由句柄引用对象 优缺点 保守式G ...

  5. Linux学习总结(8)——VMware v12.1.1 专业版以及永久密钥

    VMware v12.1.1 专业版以及永久密钥 热门虚拟机软件VMware Workstation 现已更新至v12.1.1 专业版!12.0属于大型更新,专门为Win10的安装和使用做了优化,支持 ...

  6. 洛谷 P1877 [HAOI2012]音量调节

    P1877 [HAOI2012]音量调节 题目描述 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都需要改变一次音量.在演出开始之前,他已经做好一个列表,里面 ...

  7. ios开发之-计算器的改进

    #import <Foundation/Foundation.h> extern double add(double x,double y); extern double subtract ...

  8. SQL 增删改查(具体)

    一.增:有3种方法 1.使用insert插入单行数据: insert [into] <表名> [列名] values <列值> insert into Strdents (na ...

  9. 网上看到的一些IT资源

    A.网站模板+logo+服务器主机+发票生成 HTML5 UP:响应式的HTML5和CSS3网站模板. Bootswatch:免费的Bootstrap主题. Templated:收集了845个免费的C ...

  10. 使用Vue动态生成form表单

    form-create 表单生成器 具有数据收集.校验和提交功能的表单生成器,支持双向数据绑定和事件扩展,组件包含有复选框.单选框.输入框.下拉选择框等表单元素以及省市区三级联动,时间选择,日期选择, ...