TQ210 —— s5pv210 Linux内核结构

来源:互联网 发布:网络歌手成都 编辑:程序博客网 时间:2024/04/30 03:42

Linux内核结构

 

1、内核的子系统

(1) 系统调用接口SCI(System Call Interface):SCI层为用户空间提供了一套标准的系统调用函数来访问Linux内核,搭起了用户空间到内核空间的桥梁。

(2) 进程管理PM(Process Management):进程作为资源分配的基本单位而存在;进程调度。

(3) 虚拟文件系统VFS(Virtual File System):它是一种用于网络环境的分布式文件系统,是允许和操作系统使用不同的文件系统实现的接口。

(4) 内存管理MM(Memory Management):段转换过程是由逻辑地址(或称为虚拟地址)转换为线性地址;页转换过程则是将线性地址转换为物理地址。

(5) 网络协议栈(Network Stack)

(6) Arch:CPU。

(7) 设备驱动DD(Device Drivers):是连接硬件和内核之间的桥梁。

 

2、内核目录

arch

特定体系结构相关代码,内核所支持的每种架构的 CPU 的相 关目录集合,在 arch 目录下,有支持 arm 的目录、支持 x86 的目录和支持 mips 的目录等,如: arch/arm、 arch/x86 和 arch/mips 等。

block

块设备通用函数

crypto

常用加密和散列算法(如 AES、 SHA 等),还有一些压缩和 CRC 校验算法

Documentation

内核源码说明文档目录

drivers

设备驱动程序目录集合, drivers 里的某一子目录对应着内核中 的某一种驱动程序,如: drivers/char 为字符设备驱动程序、 drivers/block 为块设备驱动程序、 drivers/net 为网络设备驱动 程序、 drivers/usb 为 usb 总线设备驱动程序、 drivers/i2c 为 i2c 总线设备驱动程序等。

fs

Linux 支持的文件系统的代码(包括虚拟文件系统 VFS),每个 子目录对应一种文件系统,比如 fs/jffs2/、 fs/cramfs、 fs/ext2/。

include

内核的头文件目录,如:基本的头文件(存放在 include/linux 目录下)、各种驱动或功能部件的头文件(比如 include/media、 include/video/、 include/net)。

init

初始化代码而不是内核的引导代码。

ipc

包含了进程间的通信

kernel

核心代码,此目录下的文件实现了大多数linux系统的内核函数,其中最重要的文件当属sched.c;和处理器的相关代码放在 arch/*/kernel 目录下

lib

内核会用的库函数,比cstring.c等

mm

内核的内存管理相关的代码,如页式存储管理内存的分配和释放等

net

核心的网络所支持得部分代码,其中每个子目录对应于网络的一个方面

scripts

用于配置核心的脚本文件

security

安全、密匙方面的代码

sound

音频设备

 

3、管理脚本

(1)顶层Makefile:所有源代码子目录Makefile文件的核心,从总体上控制着内核的编译、连接。

(2)子目录Makefile:被上一层目录里的Makefile调用来编译当前目录的文件。

(3).config:配置文件,在配置内核时生成。所有Makefile文件(包括顶层和各级子目录)都是根据.config来决定使用哪些文件。

(4)Kconfig:一个文本形式的文件,其中主要作用是在内核配置(用makemenuconfig配置内核)时,作为配置选项。

 

0 0
原创粉丝点击