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等
学习的重点是驱动开发相关的知识、函数的调用、驱动的协议、简单的硬件知识
Linux体系结构的更多相关文章
- Linux基础系列—Linux体系结构和Linux内核结构
/** ****************************************************************************** * @author 暴走的小 ...
- Linux 体系结构
Linux 体系结构 Linux 嵌入式系统的组成 层次结构图 bios 1.硬件检测 2.初始化系统设备 3.装入os 4.调os向硬件发出的指令 bsp 板级支持包 硬件相关 开发板原理图 开 ...
- linux体系结构与内核结构图解
1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块: (1)用户空间:用户空间中又包含了,用户的应用程序,C库 ...
- Linux体系结构(二): Linux系统层次
前一节内容大概介绍了一下Linux的历史由来,各大Linux发行厂商都是基于GNU项目下的所有开源软件,来构建各自己的Linux发行版本,一个完整的Linux发行版本大概可以分为以下四个层次结构: ...
- Linux体系结构(五): 文件系统
上一节主要对Linux系统中的内核空间与用户空间做了简单的分析,在这一节里,将从内核空间和用户空间对Linux文件系统进行一定的剖析. 谈及文件系统,很多Linux用户都会有一个比较模糊和神秘的概念, ...
- linux 体系结构知识 博客
http://blog.csdn.net/haiross/article/category/1488205/3
- linux内核体系结构
linux内核第一记 1.linux体系结构 从上图可知,Linux分为:用户空间和内核空间.内核空间和用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的 ...
- Linux 简介
转载:http://c.biancheng.net/cpp/html/2726.html Linux简介 严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与 ...
- 嵌入式Linux内核制作【转】
本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User ...
随机推荐
- [ 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 ...
- ES6学习笔记(四)数值的扩展
1.二进制和八进制表示法 ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示. 0b111110111 === 503 // true 0o767 === 503 ...
- element-ui表格控件前端分页方法
<div id="app"> <el-table :data="tableData.slice((currentPage-1)*pageSize,cur ...
- Conservative GC (Part one)
目录 保守式GC 不明确的根 指针和非指针的区别 貌似指针的非指针 不明确数据结构 优点 准确式GC 正确的根 打标签 不把寄存器和栈等当做根 优点 缺点 间接引用 经由句柄引用对象 优缺点 保守式G ...
- Linux学习总结(8)——VMware v12.1.1 专业版以及永久密钥
VMware v12.1.1 专业版以及永久密钥 热门虚拟机软件VMware Workstation 现已更新至v12.1.1 专业版!12.0属于大型更新,专门为Win10的安装和使用做了优化,支持 ...
- 洛谷 P1877 [HAOI2012]音量调节
P1877 [HAOI2012]音量调节 题目描述 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都需要改变一次音量.在演出开始之前,他已经做好一个列表,里面 ...
- ios开发之-计算器的改进
#import <Foundation/Foundation.h> extern double add(double x,double y); extern double subtract ...
- SQL 增删改查(具体)
一.增:有3种方法 1.使用insert插入单行数据: insert [into] <表名> [列名] values <列值> insert into Strdents (na ...
- 网上看到的一些IT资源
A.网站模板+logo+服务器主机+发票生成 HTML5 UP:响应式的HTML5和CSS3网站模板. Bootswatch:免费的Bootstrap主题. Templated:收集了845个免费的C ...
- 使用Vue动态生成form表单
form-create 表单生成器 具有数据收集.校验和提交功能的表单生成器,支持双向数据绑定和事件扩展,组件包含有复选框.单选框.输入框.下拉选择框等表单元素以及省市区三级联动,时间选择,日期选择, ...