Linux 一般有 3 个主要部分: 内核(kernel)、命令解释层(Shell 或其他操作系统环境)、实用工具。
1. Linux 内核
内核是系统的心脏,是运行程序和管理像磁盘和打印机等设备的核心程序。操作环境向用户提供一个操作界面,它从用户那里接受命令,并且把命令送给内核去执行。由于内核提供都是操作系统最基本的功能,如果内核发生问题,整个计算机系统就可能会崩溃。
Linux 内核的源码主要是用 C 语言编写,只有部分与驱动相关的用汇编语言编写。Linux内核采用模块化的结构,其主要模块包括:存储管理、CPU 和进程管理、文件系统管理、设备管理和驱动、网络通信以及系统的引导、系统调用等。Linux 内核的源代码通常安装在/usr/src目录,可供用户查看和修改。
当 Linux 安装完毕之后,一个通用的内核就被安装到计算机中。这个通用内核能满足绝大多部分用户的需求,但也正因为内核这种普遍适用性使很多对具体的某一台计算机来说可能并不需要的内核程序(比如一些硬件驱动程序)将被安装并运行。Linux 允许用户根据主机机器的实际配置定制 Linux 的内核,从而有效地简化 Linux 内核,提高系统启动速度,并释放更多的内存资源。
在 Linus Torvalds 领导的内核开发小组不屑努力下,Linux 内核的更新速度非常快。用户在安装 Linux 后可以下载最新版本的 Linux 内核,进行内核编译后升级计算机的内核,就可以使用到内核最新的功能。由于内核定制和升级的成败关系到整个计算机系统能否正常运行,因此用户对此必须非常谨慎。
2. Linux Shell
Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,并且把它送入内核去执行。
操作环境在操作系统内核与用户之间提供操作界面,它可以描述为一个解释器。操作系统对用户输入的命令进行解释,再将其发送到内核。Linux 存在几种操作环境,分别为:桌面(desktop)、窗口管理器(window manager)和命令行 shell (command line shell)。Linux 系统中每个用户都可以拥有自己的用户操作界面,并根据自己的要求进行定制。
Shell 是一个命令解释器,它解释由用户输入的命令,并且把它们送到内核。不仅如此,Shell 还有自己的编程语言用于对命令的编辑,它允许用户编写由 Shell 命令组成的程序。Shell 编程语言具有普通编程语言的很多特点,例如,它也有循环结构和分支控制结构等,用这种编程语言编写的 Shell 程序与其他应用程序具有同样的效果。
同 Linux 本身一样,Shell 也有多种不同版本。目前主要有下列版本的 Shell。
- Bourne Shell:是贝尔实验室开发版本。
- BASH:是 GNU 的 Bourne Again Shell,是 GNU 操作系统上默认的 Shell。
- Korn Shell:是对 Bourne Shell 的发展,在大部分情况下与 Bourne Shell兼容。
- C shell:是 Sun 公司的 Shell 的 BSD 版本。
Shell不仅是一种交互式命令解释程序,而且还是一种程序设计语言,它跟 MS-DOS 中的批处理命令类似,但比批处理命令功能强大。在 Shell 脚本程序中可以定义和使用变量,进行参数传递、流程控制、函数调用等。
Shell 脚本程序是解释型的,也就是说 Shell 脚本程序不需要进行编译,就能直接逐条解释,逐条执行脚本程序的源语句。Shell 脚本程序的处理对象只能是文件、字符串或命令语句,而不像其他高级语言有丰富的数据结构。
作为命令行操作界面的替代选择,Linux 还提供了像 Microsoft Windows 那样的可视化界面-----X-Windows 图形用户界面(GUI)。它提供了很多窗口管理器,其操作方法就像 Windows 一样,所有的管理都可以通过界面控制。现在比较常用的窗口管理器是 KDE 和 GNOME(其中 GNOME 是 Red Hat Linux 默认使用的界面),两种桌面都能够免费获得。
网友评论