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等

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

原文地址:https://www.cnblogs.com/chulin/p/10354034.html

时间: 02-05

Linux体系结构的相关文章

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

1.当被问到Linux体系结构(就是Linux系统是怎么构成的)时,我们可以参照下图这么回答:从大的方面讲,Linux体系结构可以分为两块: (1)用户空间:用户空间中又包含了,用户的应用程序,C库 (2)内核空间:内核空间包括,系统调用,内核,以及与平台架构相关的代码  2.Linux体系结构要分成用户空间和内核空间的原因: 1)现代CPU通常都实现了不同的工作模式, 以ARM为例:ARM实现了7种工作模式,不同模式下CPU可以执行的指令或者访问的寄存器不同: (1)用户模式 usr (2)系

Linux体系结构-初级(查看内核,操作系统)

目录 一.Linux系统架构... 1 二.内核和操作系统的关系... 2 三.查看Linux内核... 2 1. cat /proc/version. 2 2. uname  -a. 3 四.查看Linux系统版本... 3 1. cat /etc/issue. 3 2. lsb_release -a. 3 五.查看操作系统32位 or 64位... 3 1.uname  -a. 3 2. arch. 3 3. file /sbin/init. 4 4. getconf LONG_BIT. 4

Linux内核模块简介

1. 宏内核与微内核 内核(Kernel)在计算机科学中是操作系统最基本的部分,主要负责管理系统资源.中文版维基百科上将内核分为四大类:单内核(宏内核):微内核:混合内核:外内核. 混合内核实质上也是微内核,而外内核是一种比较极端的设计方法,目前还处于研究阶段,所以我们就着重讨论宏内核与微内核两种内核. 简单的介绍,宏内核(Monolithickernel)是将内核从整体上作为一个大过程来实现,所有的内核服务都在一个地址空间运行,相互之间直接调用函数,简单高效.微内核(Microkernel)功

嵌入式Linux内核制作【转】

本文转载自:http://blog.csdn.net/coding__madman/article/details/51291316 1. Linux体系结构 从整体上来分,linux可以分为User Space和Kernel Space构成,即用户空间和内核空间 用户空间:应用程序 C库 系统配置文件等 内核空间:在内存中,用户一般不能直接接触到(系统调用接口,体系结构相关的一些代码等等) 这样划分的的好处: 其实内核空间与用户空间是程序执行的两种不同的状态,通过系统调用和硬件中断能够完成从用

Linux 学习笔记(一)

Linux体系结构 下面是Linux体系结构的示意图: 在所有Linux版本中,都会涉及到以下几个重要概念: 内核:内核是操作系统的核心.内核直接与硬件交互,并处理大部分较低层的任务,如内存管理.进程调度.文件管理等. Shell:Shell是一个处理用户请求的工具,它负责解释用户输入的命令,调用用户希望使用的程序. 命令和工具:日常工作中,你会用到很多系统命令和工具,如cp.mv.cat和grep等.在Linux系统中,有250多个命令,每个命令都有多个选项:第三方工具也有很多,他们也扮演着重

linux的学习系列 1---简介

Linux简介 严格的来讲,Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台:Linux的全称是GNU/Linux,这才算是一个真正意义上的Linux系统.GNU是Richard Stallman组织的一个项目,世界各地的程序员可以变形GNU程序,同时遵循GPL协议,允许任何人任意改动.但是,修改后的程序必须遵循GPL协议. Linux 是一个多用户多任务的操作系统,也是一款自由软件,完全兼容POSIX标准,拥有良好的用户界面,支持多种处理器架

Linux系统学习笔记:序

Linux系统学习笔记:序 ??Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. 本人使用的Linux为Ubuntu,主要以<APUE>(第3版)为学习蓝本. 1. Unix/Linux 体系结构 如图: 内核的接口被称为系统调用.公用函数库构建在

linux内核——1.概述

1.结构 linux中,我们把操作系统分为内核空间和用户空间.用户通过用户空间与操作系统打交道.用户要通过系统调用访问内核空间.下图为Linux体系结构,shell应该为在最顶层. 系统调用,下面链接是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数https://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html 2.概述 2.1用户接口 操作系统为用户提供了两种接口:第1

进程—内存描述符(mm_struct)

http://blog.csdn.net/qq_26768741/article/details/54375524 前言 上一篇我们谈论了task_struct这个结构体,它被叫做进程描述符,内部成员包含了很多与进程相关的信息,今天我们来看一下其中一个被叫做内存描述符的结构体--mm_struct,抽象的来描述linux下进程的地址空间的所有的信息. 1.概述 一个进程的虚拟地址空间主要由两个数据结来描述.一个是最高层次的:mm_struct,一个是较高层次的:vm_area_structs.最

windows类书的学习心得(转载)

原文网址:http://www.blogjava.net/sound/archive/2008/08/21/40499.html 现在的计算机图书发展的可真快,很久没去书店,昨日去了一下,真是感叹万千,很多陌生的出版社,很多陌生的作者,很多陌生的译者,书名也是越来越夸张,什么××天精通××,精通××编程, ××宝典等等,书的印刷质量真的很好,纸张的质量也是今非昔比啊,但书的内容好象却是越来越让人失望,也许是我老了,我的思想我的观念已脱离现实社会,也许是外面的世界变化得太快,我编程数月,出去一走,