Advertisement

LINUX内核

阅读量:

Linux内核2.6特点包括新的调度器、内核抢占、改进的线程模型、虚拟内存、文件系统、支持USB音频和MIDI设备的音频体系结构ALSA、全双工重放功能、通过IDE驱动支持CD/RW设备的总线、支持ACPI的电源管理、内置IPSec和用户界面层。内核由17个核心组件构成,包括音频、总线、电源管理、网络接口、进程间通信等。内核空间与用户空间的隔离仅通过系统调用和硬件中断实现控制转移。

一、Linux内核2.6特点:

1.新的调度器

2.内核抢占

3.改进线程模型

4.虚拟内存

5.文件系统

音频:音频体系结构ALSA配备USB接口支持音频输入/输出和MIDI控制,并具备全双工重放功能。

7.总线:可以直接通过IDE驱动程序来支持CD/RW设备

电源管理:基于 ACPI 技术,该技术可调节 CPU 在不同负载条件下的运行频率,从而实现功耗优化。

9.联网和IPSec

10.用户界面层。

二、LINUX内核的组成

1.LINUX内核源代码目录结构

arch 表示涵盖与硬件架构相关的代码,每个平台单独设置相应的目录。例如,i386、arm、powerpc、mips 等等平台均设有相应的目录结构。

2)block:块设备驱动程序I/O调度。

3)在crypto领域,主要采用加密算法和哈希技术作为核心工具,这些技术在数据安全和完整性方面发挥着关键作用。此外,该系统还结合杂凑技术和循环冗余校验来确保数据完整性,进一步提升信息传输的安全性。

4)Documentation:内核各部分通用解释和注释。

drivers:设备驱动程序模块,每个不同的驱动程序类别占据单独的子目录,例如,常见的设备驱动程序包括char、block、net、mtd和i2c等。

6)fs:支持各种文件系统,如EXT,FAT,NTFS,JFFS2

7)include:头文件,与系统相关的头文件放在include/Linux下。

8)init:内核初始化代码

9)ipc:进程间通信代码

kernel:内核的主要组成部分包括定时器和进程调度,而与平台相关的代码则放置于arch/*/kernel目录中。

11)lib:库文件代码

12)mm模块中的内存管理相关内容由mm:内存管理代码块实现,而与平台交互相关的代码则放置于arch目录下的mm子目录中。

13)net:网络相关代码,实现各种网络相关协议

14)scripts:配置内核中脚本文件

15)security:主要是SELinux模块

16)sound:ALSA,OSS音频中设备的核心代码和常用设备驱动

17)usr:实现了用于打包和压缩的CPIO等

2.LINUX的内核组成部分

Linux主要依赖五个核心组件,包括进程调度、虚拟文件系统、内存管理、网络接口以及进程间通信,这些子系统共同构成一个完整的操作系统架构。

在设备驱动编程中,当请求的资源无法得到满足时,通常会调度其他进程执行,这些进程在被调度执行期间会进入睡眠状态。当其请求的资源被释放后,这些进程才会被唤醒并进入就绪状态。

内存管理:通过规范使用主内存的多个内存区域,Linux系统在CPU提供内存管理单元时,负责确保虚拟内存与物理内存的高效转换。

3)虚拟文件系统

4)网络接口

5)进程通信

Linux支持多种通信机制,包括信号量、共享内存和通道。在进程调度与内存管理的关系中,创建进程的第一步是将程序和数据加载至内存中。在进程间通信与内存管理的关系中,进程间通信子系统依赖内存管理支持共享内存通信机制,这种机制不仅允许两个进程拥有各自的私有空间,还允许访问共享内存区域。在虚拟文件系统与网络接口的关系中,虚拟文件系统利用网络接口支持网络文件系统(NFS),同时利用内存管理支持RAMDISK设备。在内存管理与虚拟文件系统的关系中,内存管理利用虚拟文件系统支持交换机制,交换进程由调度程序定期调度。当一个进程访问的内存区域被换出时,内存管理会向文件系统发出请求。

3.Linux内核空间与用户空间

Linux的用户空间仅能依靠系统提供的调用接口和硬件触发的中断事件来实现用户空间与内核空间之间的控制切换。

全部评论 (0)

还没有任何评论哟~