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 ...
随机推荐
- HTTP 协议基础及发展历史
一. 5层网络模型介绍 低三层 物理层:主要作用是定义物理设备如何传输数据. 数据链路层:在通信的实体间建立数据链路连接. 网路层:为数据在结点之间传输创建逻辑链路. 传输层: 想用户提供可靠的端到端 ...
- 基于CANopen DSP402的运动控制笔记
常用的mode of operation 有以下几种: 控制字 control word: 6--------------7---------------15--------------------7 ...
- C#读写config配置文件--读取配置文件类
一:通过Key访问Value的方法: //判断App.config配置文件中是否有Key(非null) if (ConfigurationManager.AppSettings.HasKeys()) ...
- vue+ webpack中的animate.css实现的执行多个连续的动画
1.安装 npm install animate.css 2.使用方法 入口文件App中进行引入 import animate from 'animate.css' 3.多个连续的动画 实现的效果:实 ...
- TCP简单说|(上)
本文在Creative Commons许可证下发布 TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人 ...
- JS关键字 import
今天开发时使用import作为方法名,报错 后查明报错原因:import是js中的关键字,在取方法名时不能取import
- 五十个UI设计资源网站
五十个UI设计资源网站 用户体验团队网站 1.UCD大社区 http://ucdchina.com/ 2.腾讯WSD http://wsd.tencent.com/ 3.腾讯CDC http://cd ...
- 9.Nexus私服安装配置
第一步:下载nexus-webapp-1.9.2.4.war包,然后复制到tomcat下的webapps文件夹中 第二步:启动tomcat 第三步:訪问http://localhost:8080/ne ...
- vue --- 解读vue的中webpack.base.config.js
const path = require('path') const utils = require('./utils')// 引入utils工具模块,具体查看我的博客关于utils的解释,utils ...
- POJ 2430 状压DP
题意: 思路: 先预处理出所有格子的statement statement=1–>只有上边的格子被覆盖 statement=2–>只有下边的格子被覆盖 statement=3–>上下 ...