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 ...
随机推荐
- 【Henu ACM Round #13 B】Spider Man
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 会发现每个环可以操作的次数是固定的. (环的大小-1 也就是说一旦环确定了.其实结果就已经确定了. 则直接看操作总数的奇偶性就可以了 ...
- centos下安装redis/mysql等基础环境
1.修改语言 阿里云的ECS默认语言是:en_US.UTF-8,需要改成zh_CN.UTF-8 修改方法:vim /etc/locale.conf,然后重启. 查看方法:echo $LANG 2.安装 ...
- 彻查网络局部网段内Ping时断时续的问题
前两天须要安装2台server,结果前期一直有问题的网络又来了,明明vlan内能ping通,可是与vlan外却ping不同. 这个现象非常像是arp病毒,于是周末的时间我们就进行了一次彻底的排查,一定 ...
- OSX: 禁止iCloud钥匙链?
自从10.9有了一个新的功能叫viewlocale=zh_CN">iCloud钥匙串的,就出现了不少的麻烦.一是在10.9.3之前.好多人出现无限循环地要求用户输入Local item ...
- Image-Loader LruMemoryCache
这段时间在研究Universal-Image-Loader 这个图片处理开源框架,这里主要分析一下它的LRU(Least Resently Used,最近最少使用算法)内存缓存的实现. 在UIL它提供 ...
- js---12对象创建方式,构造器,原型
<script type="text/javascript"> var o = {}; var o1 = new Object();//这2种方式创建对象是一样的,因为 ...
- Nginx安装以及配置
安装编译工具及库文件 1 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel 安装 PCRE 下载 PC ...
- [BZOJ4555 TJOI2016 HEOI2016 求和]
第一篇博客,请大家多多关照.(鞠躬 BZOJ4555 TJOI2016 HEOI2016 求和 题意: 给定一个正整数\(n\)(\(1\leqq n \leqq100000\)),求: \[ ...
- lastb---显示用户错误的登录列表
lastb命令用于显示用户错误的登录列表,此指令可以发现系统的登录异常.单独执行lastb命令,它会读取位于/var/log目录下,名称为btmp的文件,并把该文件内容记录的登入失败的用户名单,全部显 ...
- Python 学习 第三天 课后总结:
PYTHON学习第三天课后总结: 1,注释:就是对代码起到说明注解的作用. 注释分为单行注释与多行注释. 单行注释:只注释一行代码在需要注释的所在行的行首使用#号来注释此行,注意#与代码之间需要 ...