“Linux”不等同于Linux内核:构建Linux系统的8个软件
Linux发行版并不仅仅是Linux内核。所有的Linux发行版都包含了除内核之外的一些必要的软件,比如Grub引导程序、Bash shell、GNU shell工具软件、守护进程、X.org图形服务器和桌面环境等等。所有这些不同的程序均由相互独立的开发小组开发。这些程序被Linux发行版集成到一起从而形成一套完整的“Linux”操作系统。这和Windows操作系统不同,因为整个Windows系统全部由微软公司开发。
引导程序 (Bootloader)
当你打开电脑的时候,电脑的BIOS或者UEFI固件会从其引导设备中加载软件。任何一个操作系统启动时首先加载的都是引导程序。在Linux操作系统中,通常使用的引导程序是Grub。如果你在一台电脑上安装了多个操作系统,Grub会提供一个菜单供你选择。例如,如果你装了双系统(Linux和Windows),你可以从Linux和Window中选择任何一项来启动。如果你的电脑只安装了Linux,或许Grub可以瞬间启动它,但是它提供的选择菜单还在那里。Grub负责启动Linux系统、提供命令行启动选项和允许以其它方式启动Linux以排除故障。没有引导程序的Linux操作系统是无法启动的。
Linux内核
确切地讲,Grub引导的是Linux内核。它是操作系统的一部分,并且通常被称为“Linux”。内核是整个Linux系统的核心。它管理着CPU、内存和输入/输出设备(例如键盘、鼠标和显示器)。由于内核可以直接和硬件交互,很多硬件驱动程序都成为Linux内核的一部分并且在内核中运行。其它所有的软件都运行在内核之上。内核是最底层的软件,它提供操作硬件的接口。它在硬件之上提供一个抽象层来处理硬件的各种事务,从而把系统的其它部分从硬件中解放出来。Windows操作系统使用的内核是Windows NT,Linux操作系统使用的是Linux内核。