第1章 Linux 操作系统基础
1.1 Linux 操作系统概述
1991 年,芬兰赫尔辛基大学的学生 Linus Torvalds 设计了免费使用和源代码开放的自由操
作系统:Linux。
其设计理念来自于 UNIX 操作系统,目的是能够在 x86 处理器系统上运行并可以自由地对
其进行完善。
Linus Torvalds 所编写的 Linux 是只有 10000 行代码的核心程序,并将源代码放到了 FTP
站点上免费下载。
他本来想把这个系统命名为 freax,表达的是自由( free) 和奇异(freak),再附上“X”这
个常用的字母,体现 Unix-like 的系统。
1.1.2 Linux 操作系统主要构成
Linux 系统采用分层结构设计,分别由硬件交互层、内核层、操作系统接口
层和应用层组成,如图 1.1 所示。
硬件交互层由管理外围设备的软件组成,这些外围设备包括终端控制器、磁盘
和磁带控制器、存储设备控制器等。硬件交互层处于 Linux 结构的底层,为内
核层提供基础。
内核层是 Linux 系统的核心,主要包括进程管理子系统和文件子系统。 进程管
理子系统是核心层中的主要部分,承担处理机管理和存储器管理功能。处理机
管理负责进程控制、进程通信、进程调度;存储器管理负责内存储器管理和虚
拟存储器管理。 文件子系统在核心层中实现文件管理功能,并通过文件管理实
现输入/输出设备应用。文件子系统主要包括文件管理,高速缓冲机制。文件管
理实现了文件存储空间的分配、磁盘块管理、文件的存取控制。高速缓冲机制
加快了对字符设备和块设备的访问速度,提高了系统性能。
操作系统接口层包括三部分:Shell、窗口系统和系统调用。 Shell 也称为外
壳,是 Linux 系统的命令解释器。终端用户通过 Shell 以命令方式或 Shell 程
序方式使用内核提供的系统环境,与一般系统的命令解释器不同的是 Linux 系
统的 Shell 还具有程序语言能力,是一种结构化程序,用户可以利用 Shell 编
制脚本程序,完成一些程序开发功能。这是 Linux 系统一个最突出的优势。 窗
口系统是操作系统提供给应用的图形接口,用户和程序员可以借助于图形接口
应用操作系统。现在,Linux 操作系统使用最多的图形窗口系统被称为公用桌
面环境(CDE:Common Desk Environment),是遵循 X 协议的 X-Window 窗口系
统。 系统调用是 Linux 提供给应用程序的使用接口,在程序员的应用程序中可
以用函数调用方式使用系统调用,相当于在用户主程序中通过系统调用进入核
心,直接使用系统资源。