1. Linux 内核简介
内核:在计算机科学中是一个用来管理软件发出的数据 I/O(输入与输出)要求的计算机程序,将这些要求转 译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本 的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定 一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的。所以内核通常提供一种硬件 抽象的方法,来完成这些操作。通过进程间通信机制及系统调用,应用进程可间接控制所需的硬件资源(特别 是处理器及 IO 设备)。
2. GNU/Linux 操作系统与 Linux 内核关系
我们通常说的 Linux 实际上指的是内核,即 Linux 内核。而 Linux 的操作系统实际是 GNU/Linux 操作系统, 即使用 Linux 内核的 GNU 系统。
3.GNU/Linux 操作系统的基本体系结构
3.1 用户空间
最上面是用户(或应用程序)空间。
这是用户应用程序执行的地方。用户空间之下是内核空间,Linux 内核正是位于这里。GNU C Library (glibc)也在这里。它提供了连接内核的系统调用接口,还提供了在用户空间应用程序和内核之间进行转换 的机制。这点非常重要,因为内核和用户空间的应用程序使用的是不同的保护地址空间。每个用户空间的进程 都使用自己的虚拟地址空间,而内核则占用单独的地址空间。
3.2 Linux 内核的体系结构
内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。