第1章 初识Linux shell
Linux可以划分为以下四个部分
- Linux内核
- GNU工具
- 图形化桌面环境
- 应用软件
Linux内核
Linux系统的核心是内核,内核控制着计算机系统的上所有的硬件和软件,在必要时分配硬件,并根据需要执行软件。
内核主要负责以下四种功能:
- 系统内存管理
- 软件程序管理
- 硬件设备管理
- 文件系统管理
Linux系统管理硬件设备与它进行通信,需要通过在内核中加入驱动程序代码,才可以。驱动程序就相当于应用程序和硬件设备之间的中间人,允许内核和硬件设备之间交换数据。
在内核中插入设备驱动程序的代码有两种方式,一种是将设备驱动程序编译进内核(这样的话每次增加一个硬件设备都需要重新编译内核),一种是可插入 内核的设备驱动模块(开发人员提出内核模块的概念,将驱动代码插入到运行中的内核而无需重新编译内核,同时,设备不再使用时可将内核模块从内核中移走。目前主要使用这种)。
Linux系统将硬件设备当成特殊文件(Linux系统中万物兼文件),称为设备文件。设备文件有三种:
- 字符型设备文件:是指处理数据时每次只能处理一个字符的设备。比如调制解调器、终端。
- 块设备文件:是指处理数据时每次能处理大块数据的设备。比如硬盘。
- 网络设备文件:是指采用数据包发送和接受数据的设备。包括网卡和一个特殊的回环设备。
Linux系统上为每个设备都创建一种成为节点的特殊文件。与设备的所有通信都通过设备节点文件完成。每个节点都有唯一的数值对来对其进行标识。数值对包括一个主设备号和一个次设备号。类似的设备被划分到同样的主设备号下。次设备号用于标识主设备组下的某个特定设备。