第一章 初始Linux shell
1.1.1 什么是Linux*
Linux可分为以下四部分
- Linux内核
- GNU工具图
- 形化桌面坏境
- 应用软件
Linux系统的核心是内核。内核控制着计算机系统上的所有软件和硬件,在必要时分配硬件,并根据需要执行软件
内核主要负责以下四种功能
1. 系统内存管理
2. 软件程序管理
3. 硬件设备管理
4. 文件系统管理
1. 系统内存管理
内核不仅管理服务器上的可用物理内存,还可以创建和管理虚拟内存。内核通过硬盘上的存储空间来实现虚拟内存,这块区域称为交换空间(swap)。内核不断地在交换空间和实际的物理内存空间反复的交换虚拟内存中的内容。内存存储单元按组划分成很多块,这些块称为页面。内存将每个内存页面放到物理内存或交换空间,然后内存会维护一个内存页面表,指明哪些页面位于物理内存,哪些被交换到了磁盘上
标题 2.软件程序管理
Linux将系统中运行的程序称为进程。进程可以在前台运行,将输出显示在屏幕上,也可以隐藏到幕后。内核控制着Linux系统如何管理运行在系统上的所有进程。
内核创建了第一个进程(init),来启动系统上的所有其他进程。当内核启动时,它会将init进程加载到虚拟内存上。内核在启动其他任何进程时,都会在虚拟内存上给新进程分配一块专有区域来存储进程用到的数据和代码
一些Linux发行版使用一个表来管理在系统开机时要启动的进程。在Linux上,这个表通常位于专门文件etc/inittab上,还有的采用/etc/init.d目录,将开机启动或停止某个应用的脚本放在这个目录下。这些脚本通过/etc/rcX.d目录下的入口启动
Linux操作系统的init系统采用运行级别。运行级别决定了init进程运行/etc/inittab文件或/etc/rcX.d目录中定义好的某些特定类型的进程。Linux操作系统有5个启动运行级别。
运行界别为1时,只启动基本的系统进程以及一个终端启动进程,称为单用户模式. 标准的启动运行级是3
常见的运行级别是5,系统会启动图形化的X-Windows系统
3. 硬件设备管理
任何与Linux通信的设备,都需要在内核代码中加入其驱动程序代码。驱动程序代码相当于应用程序与硬件设备的中间人,允许内核与设备交换数据。Linux中有两种方法用于插入设备代码块。
编译进内核的设备驱动代码 可插入内核的设备驱动模块
Linux系统将硬件设备当成特殊的文件,称为设备文件,设备文件一共有3三种
字符型设备文件
块型设备文件
网络设备文件
-
字符型设备是指处理数据时每次只能处理一个字符的设备,大多数类型的调制调节器和终端都是作为字符型设备文件创建的。块设备文件是指处理数据时每次能处理大块数据的设备,比如硬盘。
-
网络设备文件是指采用数据包发送和接受数据的设备,包括网卡和一个特殊的回环设备。这个回环设备允许Linux系统使用常见的网络编程协议与自身通信。
-
Linux为系统上的每个设备都创建一种名为节点的特殊文件,与设备的所有通信都通过此节点完成,每一个设备都有唯一的数值供Linux内核标识他
4. 文件系统管理
Linux支持通过不同类型的文件系统从硬盘中读写数据 ,Linux内核采用虚拟文件系统VFS,作为每个文件系统的接口。这为Linux内核同任何文件类型系统通信提供了一个标准的。当每个文件系统被挂载和使用,VFS都将信息缓存在内存中。
1.1.2 GNU工具
3
GNU(GNU’S NOT UNIX)组织开发一套完整的类Unix工具。这些工具是在开源理念下开发的。将Linux内核与GNU操作系统工具整合起来,就产生一套完整的免费的操作系统。
1.核心GNU工具
Linux使用的核心工具组被称为coreutils软件包,包括三部分:
- 处理文件的工具
- 操作文本的工具
- 管理进程的工具
2.shell工具
Linux shell 是一种特殊的交互式工具。它为用户提供了启动程序,操作文件系统以及运行在Linux上的进程的途径。shell的核心是命令提示符。命令提示符是shell负责交互的部分。它允许你输入文本命令,然后解释命令,并在内核中执行。
sehll包含了一组内部命令,用这些命令可以完成诸如复制文件,移动文件,重命名文件,显示和终止系统中正在运行的程序操作。
你可以将多个shell命令放在文件中执行,即shell脚本。
1.1.3 Linux桌面环境
有两个要素决定了视频环境:显卡和显示器。要在电脑上显示丰富的画面,Linux软件就得知道如何与他们互通
。
‘ X-Window’软件是直接和PC上的显卡及显示器打交道的底层。
KDE环境
GNOME桌面
UNITY桌面
1.2 Linux发行版
完整的Linux包称为发行版,有很多不同的发行版来满足各种需求,通常分为3类`
-
完整的Linux核心发行版
-
特定用途的发行版
-
LiveCD发行版
核心发行版
特定用途发行版
总结:本章探讨了Linux系统及其基本工作原理。Linux内核是系统的核心,控制着内存,程序,硬件之间的交互。GNU工具,shell工具是Linux系统的重要一部分,以及Linux桌面环境。
`