荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Mill (冥王星之子), 信区: Linux
标  题: LINUX从入门到精通(书介)
发信站: BBS 荔园晨风站 (Fri Dec  4 23:40:07 1998), 站内信件

电子工业出版社:
地址:北京市海淀区万寿路173信箱, 100036
发行部电话:(010)68214070
电子工业出版社的 URL:http://www.phei.com.cn

原作者: [英]Phil Cornes
译者:童寿彬等 (自由软件协会秘书长)
审校:夏道藏 (国家信息中心, 总工)
定价:40.00元
书号:ISBN 7-5053-4770-5/TP-2306
全国各地新华书店经销
全书共595千字


                        图书封面介绍
    LinuxA-Z是一本难得的好书。它引导学生和计算机爱好者们登
上学习Linux的台阶,全面掌握这一广泛流行的操作系统。Linux是
符合POSIX标准的、具有全部UNIX特征的操作系统。作为开始,它也
是个人计算机上的UNIX。任何人都可以自由地从Internet取得它的
源程序。这种自由利用源程序的可能性激发了世界范围内的学生和
计算机爱好者们的才能,使他们积极投身于自由软件的开发活动,
使得Linux的应用像野火一样迅速蔓延。
    今天,Linux在Internet和Intranet领域具有宽阔的应用前景。
LinuxA-Z为你的所有的Linux活动提供了极其重要的基础。从基本用
户开始,通过系统管理,到应用和系统程序设计。所有这些内容全
都包括在一本书中。
    本书划分为循序前进的5个部分,使读者可以按照自己的知识水
平进行学习。
    基础:引导没有UNIX经验的读者使他们成为普通的Linux用户。
管理:指引读者如何获取、安装和配置Linux系统,并叙述如何成为
名符其实的系统管理员。
    系统程序设计:假定读者有一定的使用C语言进行程序设计的经
验。从应用程序的角度看,这一部分包含了Linux系统调用接口的主
要方面。还包括了3个完整的实例研究。
    设备驱动程序:提供了Linux内核和机器的硬件之间的接口,包
括设备驱动程序实例研究的源程序。
    内核:选择了一些与内核有关的题目进行了讨论,并以实例研
究的形式提供了简单的用户线程库。

    本书的主要特色:
    *  书中包含了Linux的各个主要方面,内容充实,叙述前后连
贯。
    *本书自始至终贯穿强调实践第一的观点,在正文中提供了大量
生动而有用的例子。
    *五个实例研究有助于读者的进一步实践,完整的实例研究的源
代码可以通过匿名ftp得到。

    作者PhilCornes是英国Staffordshire大学的计算机科学高级讲
师,从事操作系统课程教学多年。他在计算机领域具有丰富的实践
经验。


                              前  言

Linux可供实际使用已有若干年了。它是符合POSIX标准的操作系统。它
不仅可以用在lntel系列个人计算机上,也可以用在DEC Alpha和SUN
SPARC系列上。Linux内核的创建是由芬兰赫尔辛基的Linus Torvalds的
个人努力完成的。以后,大量的系统软件设计专家共同对它进行改进和提
高。到现在为止,Linux已成为具有全部UNIX特征的POSIX兼容的操作系统。
任何人只要遵守自由软件基金会发布的通用公共许可证(GPL)条款,就
可以自由使用Linux源程序。这样做的实际结果是任何人都可以随心所欲
地取得、修改和传播Linux内核和所有的源程序。

这种自由利用Linux源程序的可能性激发了世界范围内热衷于计算机事业
的人们的创造力。通过lnternet,这一软件的传播和使用就象野火一样
迅速蔓延。现在,所有UNIX的主要功能都有相应的Linux工具和实用程序
存在。和内核一样,只要你遵守GPL条款,你就可以自由使用这些工具和
实用程序。将这些综合在一起,实际就是一个完整的UNIX类操作系统。它
可以供任何与lnternet联网的用户自由使用。这是早期的情况。Linux的
传播很快超出了lnternet的范围,深入到计算机应用的各个领域。从各种
Linux发布广泛使用lnternet以外的手段就足以证明这一点。这些手段包
括电子公告牌,软盘组和光盘等。

    LinuxA-Z适合于作为大学教材使用。适当增加一些源程序,也可以作
为研究生课程使用。它是在作者的讲稿和实例研究的基础上写成的。这些
原始材料已由作者在Staffordshire大学作为操作系统课程使用了一段时
间。本书的广泛的复盖面使它成为学习Linux或操作系统课程的学生和那些
愿意在专业知识基础上进一步深造的专业人员的主要参考书。

对读者的要求是掌握计算机科学课程的基本知识。特别是在个人计算机使用
方面有一定的经验。掌握PC的硬件配置,磁盘分区以及系统软件,如DOS和Windows
的安装等方面的知识。对本书后面三部分还要求读者有一定的C语言使用经验。
这样便可以从这些材料的学习中取得更好的效果。

本书从各个不同侧面提供基础知识,为读者全面掌握Linux操作系统及有关
的工具和实用程序的使用铺平道路。先从介绍基本概念入手,然后引导大家
实践这些概念以巩固所学的知识。本书分五个部分,使读者逐步深入掌握Linux。
从培训普通用户开始,通过系统的安装和管理,进入到用Linux系统调用
(它的应用程序接口API)进行程序设计,再进一步掌握各种硬件接口。在本
书的最后,还探讨了一些深奥的内核秘密。

本人认为计算机应用是一门类似手工艺的实践技能。没有任何东西可以取代对
这些材料的第一手实践经验。本书自始至终贯彻强调实践的观点。本书后面还
提供了供你进一步实践的完整的实例研究。
    本书五个部分的组成是:
    1.
基础——包括1到6章。在这部份中假定读者有使用个人计算机的经验,但没有使用UNIX
或Linux的经验。逐步引导他们成为Linux的普通用户。从登录开始,经过学习典型的
文件结构和使用一些简单的命令后,进入vi 编辑程序,标准的bash
shell以及有用的工具和实用程序的具体应用。最后,学习如何编写可供Shell执行的
批处理程序Script。
    2.
管理——当初学者掌握基础知识以后或者有经验的用户已经具备这方面的知识,
就可以进而学习如何履行管理员的职责。
7到14章讲述Linux系统管理方面的知识。从一台装有MS-DOS的个人计算机开始。对它
进行重新配置,使得Linux可以和用户已有的应用同时放在一台机器上。一旦安装了Lin
ux,就可以按管理员的特殊要求对系统进行配置。从如何配置和重建操作系统内核开
始,然后建立用户帐号和配置各种可供使用的资源。资源的清单包括:打印机,调制
解调器,鼠标,X-Window客户程序和服务程序,串行、并行和网络通信,Internet以
及DOS模拟程序。
    3.
系统程序设计——这是进入Linux内核的艰难旅程的第一步。包括15到23章。从应用程
序的角度看,这些章节包含了Linux系统调用的主要方面。包括的题目有:文件和终端
的输入/输出;进程控制;不同的进程之间的通信机制(IPC),包括机器内部的进程
之间和不同机器的进程之间的通信;称为信号(signal)的高级软件中断以及独立的
守护(daemon)进程。第三部分还包括三个完整的实例研究:小型的Shocket
IPC库,小型的实例Shell以及提供简单的文件传输服务的守护进程。分别给出了源程
序和注释。
    4.
设备驱动程序——讨论了Linux应用用程序接口以后,24到27章将讨论另一个主要的操
作系统接口,即操作系统内核和机器的外部设备之间的接口。由设备驱动程序提供这
一接口。它们分为字符设备驱动程序和数据块设备驱动程序两个大部分。还讨论了供
驱动程序内部使用的,Linux内核提供的支持功能。最后讨论一个简单驱动程序的实例
研究以巩固所学的概念。
    5.
内核——本书最后一部分包括28到32章。讨论有关Linux内核的一些选择的题目,以体
会Linux各部分如何协调进行工作。这些题目包括:进程调度;Linux内存管理操作;
允许Linux访问不同类型文件系统的虚文件系统转换(VFS);以及从内核的角度再次
讨论系统调用。作为实例研究,还讨论了一个非常简单的用户线程(thread)库。

五个实例研究的源程序允许用户按自由软件基金会的通用公共许可证条款自由使用。
它们可以用匿名ftp从Staffordshire大学计算机学院的ftp服务器
    ftp. soc. staffs.ac.uk
在目录
    users/phil-cornes/linuxa2z
下得到。

为了能从本书中受益,不管你当前的技能和专业水平如何,对你的唯一的要求是对这
一课程有兴趣,并有掌握这一专业的更多知识的愿望。

目录
前言
第1部分  基础
第1章  Linux基础
1.1  登录
1.2  文件系统的层次结构
1.3  考察文件系统的层次结构
1.4  口令文件
第2章  Linux命令
2.1  目录的层次结构
2.2  文件系统
2.3  处理文件
2.4  联机帮助
2.5  安全
2.6  进程
2.7  空间
第3章  正文编辑
3.1  编辑方式
3.2  插入方式
3.3  命令方式
第4章  Bash
4.1  路径名扩展
4.2  输入/输出重新定向
4.3  管道
4.4  后台作业
4.5  作业控制
4.6  历史表
4.7  命令行编辑
4.8  命令补全
4.9  shell函数
第5章  工具和实用程序
5.1  搜索和排序
5.2  修改文件
5.3  简单的数据处理
5.4  其他工具
5.5  DOS文件
第6章  Shell Script
6.1  命令文件
6.2  变量
6.3  shell script参数
6.4  登录script
6.5  更多变量的赋值方法
6.6  自动化状态变量
6.7  流程控制
6.8  信号
第2部分  管理
第7章  准备和运行
7.1  硬件
7.2  各种Linux 发布
7.3  安装Linux
7. 4  建立内核
第8章  用户
8.1  帐号的口令
8.2  增加用户帐号
8.3  用户组
8.4  安全
8.5  成批作业
8.6  档案
第9章 外部设备
9.1  控制台终端
9.2  调制解调器
9.3  鼠标
9.4  打印机
第10章  X-windows
10.1  服务程序和客户程序
10.2  X配置
10.3  启动X-windows
10.4  fvwm
10.5  xterm
第11章  通信
11.1  独立的机器
11.2  TCP/IP
11.3  PPP
11.4  其他连接方法
第12章  lnternet
12.1  e-mail
12.2  telnet
12.3  ftp
12.4   archie
12.5  Usenet新闻
12.6  gopher
12.7  world wide web
第13章  运行DOS
13.1  DOSEMU
13.2  安装
第14章  安全
14.1  文件的权限
14.2  访问设备
14.3  口令
14.4  Root帐号
第3部分  系统程序设计
第15章  文件
15.1  顺序文件
15.2  随机文件
15.3  终端输入/输出
15.4  索引节点
15.5  改变文件属性
15.6  文件系统的层次结构
第16章  进程控制
16.1  进程识别号
16.2  用fork创建进程
16.3  exec 系统调用
16.4  wait和exit系统调用
第17章  进程间通信
17.1   管道
17.2  输入/输出重新定向
17.3  FIFOs
17.4  system V的进程间通信机制
17.5  Sockets
第18章  极小的socket库──实例研究
18.1  库函数
18.2  样本服务程序
18.3  样本客户程序
第19章  信号
19.1  signal系统调用
19.2  sigaction系统调用
19.3  kill系统调用
19.4  pause系统调用
19.5  alarm系统调用
第20章  极小的shell──实例研究
20.1  数据结构
20.2  代码
第21章  各种系统调用
21.1  umask系统调用
21.2  mount系统调用
21.3  umount系统调用
21.4  sync系统调用
21.5  显示时间
21.6  select系统调用
第22章  守护进程
22.1  原理
22.2  实践
第23章  极小的守护进程──实例研究
23.1  守护程序清单
23.2  socket服务程序增加的内容
23.3  Socket服务程序的改变
第4部分  设备驱动程序
第24章  设备驱动程序基础
24.1  概述
24.2  设备驱动程序子程序
24.3  设备驱动程序原理
第25章  字符设备驱动程序
25.1  登记字符设备
25.2  工作内存
25.3  基本入口点
25.4  特殊的控制函数
25.5  中断
25.6   设备驱动程序安装
第26章  微小设备驱动程序——实例研究
26.1  Header信息
26.2  init函数
26.3  open函数
26.4  release函数
26.5  wrire函数
26.6  read函数
26.7   ioctl函数
第27章  块设备驱动程序
27.1  块设备驱动程序的概念
27.2  登记块设备驱动程序
27.3  中断
27.4  计时程序
第5部分  内核
第28章  进程调度
28.1  背景
28.2  细节
第29章 小型线程──实例研究
29.1  库调用
29.2  调用C函数
29.3  线程调度
29.4  环境切换
29.5  启动新线程
29.6  约会机制
29.7  建立通道
29.8  send和receive函数
29.9  无界缓冲区
第30章  内存管理
30.1  受保护的编址方式
30.2  分页技术
30.3  Linux特色
第31章  文件存贮
31.1  VFS
31.2  System V
31.3  minix
31.4  ext2
第32章  系统调用
32.1  中断和异常
32.2  系统调用机制
32.3  增加新的系统调用
GNU通用公共许可证(GPL)

图名清单
图1.1  主要的文件类型形成树形的层次结构
图1.2  主要的Linux目录树结构
图2.1   三个文件系统联合形成一个层次结构
图2.2   单个文件可以有多个名称
图3.1   vi的三种主要的操作方式
图4.1   shall等待命令结束
图4.2   执行后台作业
图7.1   对320Mb硬盘进行分区
图7.2   对720Mb硬盘进行分区
图9.1   字母A的字符栅格和它的编码
图12.1  e-mail从机器到机器的传送
图13.1  DOSEMU需要模拟PC AT的内存映像
图15-1  lseek()系统调用的偏移值的三种基本位置
图15-2  对话过程,进程组和进程
图16-1  程序和进程的组成部分
图16-2  fork()系统调用的作用
图16-3  双亲进程和子女进程共享打开文件描述
图16-4  一个子女进程的生命周期
图17-1  执行系统调用dup(2)的效果
图20-1  line []、 avline[]和cmdlin[]数组的使用
图24.1  用户程序通过设备驱动程序访问硬件
图28.1  CPU调度程序的简化状态转换图
图29.1  在main ( ) 函数内调用twice ( ) 函数前的堆栈格式
图29.2  在twice ( ) 函数内返回前的堆栈格式
图29.3  在环境切换前线程的堆栈格式
图29.4  在new_thread ( ) 函数内设置的数据结构
图29.5  在约会过程中建立的结构连接
图30.1  线性地址计算
图30.2  分页技术如何将线性地址转换为实际地址
图30.3   分页技术使内存段容易增长
图31.1   System V磁盘分区格式
图31.2   最初的空闲数据块表
图31.3   数据块200分配后的空闲数据块表
图31.4   空闲索引结点的分配和释放
图31.5   索引结点内的数据块指针
图31.6   minix文件系统的磁盘分区格式
图31.7   ext2文件系统的磁盘分区格式
图31.8   ext2块组的格式




--
                         ┏━━━━━━━━━━━━━┯┓
                         ┃ 弃我去者,昨日之日不可留, ┕┫
                         ┃ 乱我心者,今日之日多烦忧。  ┃
                         ┗━━━━━━━━━━━━━━┛


※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 广州·蓝 天 站]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店