精通Linux(第2版)[试读]
1.1 Linux 操作系统中的抽象级别和层次
乍看起来,Linux这样的现代操作系统非常复杂,内部有多得令人眼花缭乱的各种组件在同步运行和相互通信。比如:Web服务器可以连接到数据库服务器,还有可能用到很多其他程序也在使用的公共组件。那么,整个系统究竟是怎样运作的呢? 理解操作系统工作原理最好的方法是抽象思维,换句话说,你可以暂时忽略大部分细节。就像坐车一样,通常你不会去在意车内固定发动机的装配螺栓,也不会关心你走的路是谁修筑的。如果你是一个乘客的话,你可能只关心车要做的事情(比如车要把你带到哪)以及车的一些基本操作(比如如何打开车门、怎样系好安全带)。 但如果你在开车的话,就需要了解更多的细节,比如如何控制油门、怎样换挡,还... 查看全部[ 1.1 Linux 操作系统中的抽象级别和层次 ]
1.2 硬件系统:理解主内存
主内存(main memory)或许是所有硬件系统中最为重要的部分。基本上来讲,主内存存储0和1这样的数据。我们将每个0和1称为一个比特(或位,bit)。内核和进程就在主内存中运行,它们就是一系列比特的大合集。所有外围设备的数据输入和输出都通过主内存完成,同样是以一系列0和1的形式。中央处理器像一个操作员一样处理内存中的数据,它从内存读取指令和数据,然后将运算结果写回内存。 在我们谈论内存、进程、内核和其他内容时,你会经常看到状态(state)这个词。严格说来,一个状态就是一组特定排列的比特。例如,内存中0110、0001和1011这三组比特值即表示三个不同的状态。 一个进程动辄由... 查看全部[ 1.2 硬件系统:理解主内存 ]
1.3 内核
我们之所以介绍主内存和状态,是因为内核的几乎所有操作都和主内存相关。其中之一是将内存划分为很多区块,并且一直维护着这些区块的状态信息。每一个进程拥有自己的内存区块,且内核必须确保每个进程只使用它自己的内存区块。 内核负责管理以下四个方面。 进程:内核决定哪个进程可以使用CPU。 内存:内核管理所有的内存,为进程分配内存,管理进程间的共享内存以及空闲内存。 设备驱动程序:作为硬件系统(如磁盘)和进程之间的接口,内核负责操控硬件设备。 系统调用和支持:进程通常使用系统调用和内核进行通信。 下面我们详细介绍一下这四个方面。 注... 查看全部[ 1.3 内核 ]
1.4 用户空间
前面提到过,内核分配给用户进程的内存我们称之为用户空间。因为一个进程简单说就是内存中的一个状态。用户空间也可以指所有用户进程占用的所有内存。(用户空间还有一个不太正式的名称,叫userland。) Linux中大部分的操作都发生在用户空间中。虽然从内核的角度来说所有进程都是一样的,但是实际上它们执行的是不同的任务。相对于系统组件,用户进程位于一个基础服务层中。图1-3就展示了一组组件在Linux系统中是如何交互工作的。其中最底层是基础服务层,工具服务在中间,用户使用的应用程序在最上层。图1-3是一个简化版本,你可以看到顶层距离用户最近(如用户接口和Web浏览器)。中间一层中有邮件服务器这... 查看全部[ 1.4 用户空间 ]
1.5 用户
Linux内核支持用户这一Unix的传统概念。一个用户代表一个实体,它有权限运行用户进程,对文件拥有所有权。每个用户都有一个用户名,如billyjoe。然而内核是通过用户ID来管理用户的,用户ID是一串数字标识(详见第7章)。 用户机制主要用于权限管理。每一个用户进程都有一个用户作为所有者,我们称其为以该用户运行的进程。在一定限制条件下,用户可以终止和改变他的进程的行为。但是对其他用户的进程无权干预。此外,用户可以决定是否将属于自己的文件和其他用户共享。 Linux操作系统的用户包括系统自带用户和供人使用的用户。详情见第3章。其中最关键的用户是root用户(意思是根用户或超级用户)... 查看全部[ 1.5 用户 ]
1.6 前瞻
至此我们对Linux系统的组成有了一个大致的了解。用户和用户进程交互,内核管理进程和硬件系统。内核和进程都在内存中运行。 这些基础知识固然很重要,但如果想要了解更多的细节,你需要实际操作一番。下一章你会了解到一些用户空间的基础知识,还有本章没有提及的永久存储(硬盘、文件等),就是存放应用程序和数据的地方。... 查看全部[ 1.6 前瞻 ]
书名: 精通Linux(第2版)
作者: [美] Brian Ward
出版社: 人民邮电出版社
译者: 姜南 | 袁志鹏
出版年: 2015-7
页数: 304
定价: 59.00元
装帧: 平装
ISBN: 9787115394927