HyperNews Linux KHG 讨论页面

注释参考书目

这份注释参考书目涵盖了关于操作系统理论以及在 Unix 环境中不同类型编程的书籍。标示的价格可能是准确的价格,也可能不是,但应该足够接近用于政府工作。如果您有认为应该加入书目的书籍,请撰写一篇简短的书评,并将所有必要的信息(书名、作者、出版商、ISBN 和大概价格)以及书评发送至 johnsonm@redhat.com

UNIX 操作系统设计

作者Maurice J. Bach
出版商Prentice Hall, 1986
ISBN0-13-201799-7
价格$65.00

这是 Linus 用来设计 Linux 的书籍之一。它描述了 System V 内核中使用的数据结构。Linux 源代码中许多重要函数的名称都来自这本书,并以这里介绍的算法命名。例如,如果您不太清楚 getblk()、brelse()、bread()、breada() 和 bwrite() 究竟是什么,第 3 章对此有很好的解释。

虽然大多数算法相似或相同,但仍有一些差异值得注意

还有其他一些小的差异,但对本文档的良好理解将帮助您理解 Linux 源代码。

UNIX 环境高级编程

作者W. Richard Stevens
出版商Addison Wesley, 1992
ISBN0-201-56317-7
价格$50.00

这本出色的巨著涵盖了编写真正的 Unix 程序真正需要了解的内容。它包括对 Unix 实现的各种标准的讨论,包括 POSIX、X/Open XPG3 和 FIPS,并侧重于两个实现,SVR4 和预发布 4.4 BSD,它将其称为 4.3+BSD。本书重点关注应用程序和相当完整的规范,并指出哪些功能与哪些标准和版本相关。

章节包括:Unix 标准化和实现、文件 I/O、文件和目录、标准 I/O 库、系统数据文件和信息、Unix 进程环境、进程控制、进程关系、信号、终端 I/O、高级 I/O(非阻塞、流、异步、内存映射等)、守护进程、进程间通信、高级进程间通信,以及一些示例应用程序,包括关于数据库库、与 PostScript 打印机通信、调制解调器拨号器以及似乎位置不当的最后一章关于伪终端的章节。

我发现这本书使我能够为 Unix 编写可用的程序。它将帮助您以不会破坏 SVR4 或 BSD 的方式实现 POSIX 合规性,作为一般规则。这本书将为您节省十倍于其成本的挫败感。

高级 80386 编程技术

作者James L. Turley
出版商Osborne McGraw-Hill, 1988
ISBN0-07-881342-5
价格$22.95

本书很好地涵盖了 80386,而没有涉及任何其他硬件。包括一些代码示例。涵盖了所有主要功能以及许多需要的概念。本书的章节包括:基础知识、内存分段、特权级别、分页、多任务处理、任务间通信、处理故障和中断、80286 仿真、8086 仿真、调试、80387 数字处理器扩展、性能编程、复位和实模式、硬件,以及一些附录,包括内存管理结构的表格,作为方便的参考。

作者的写作风格很好:如果您有技术头脑,您会发现自己沉浸在阅读这本书中。这本书对于 Linux 的一个强大特点是,作者非常小心地不解释如何在 DOS 下做事,也不解释如何处理特定的硬件。事实上,他提到 DOS 和 PC 兼容硬件的唯一几次是在引言中,他在引言中承诺永远不再提及它们。

C 程序设计语言,第二版

作者Brian W. Kernighan 和 Dennis M. Ritchie
出版商Prentice Hall, 1988
ISBN0-13-110362-8 (平装) 0-13-110370-9 (精装)
价格$35.00

C 编程圣经。包括 C 教程、Unix 接口参考、C 参考和标准库参考。

您用 C 编程,您就买这本书。就这么简单。

操作系统:设计与实现

作者Andrew S. Tanenbaum
出版商Prentice Hall, 1987
ISBN0-13-637406-9
价格$50.00

这本书虽然在某些地方有点简单,并且遗漏了一些重要的想法,但它相当清晰地阐述了编写操作系统需要什么。这本书的一半篇幅用于一个名为 Minix 的 Unix 克隆的源代码,它基于微内核,这与采用单内核设计的 Linux 不同。有人说 Minix 表明编写基于微内核的 Unix 是可能的,但没有充分解释为什么要这样做。

Linux 最初旨在成为 Minix 的免费替代品(Linus 的 Minix,Linus 告诉我们)。事实上,它最初与 Minix-386 二进制兼容。Minix-386 是 Linux 在其下引导的开发环境。Linux 中没有 Minix 代码,但这种遗产的痕迹仍然存在于 Linux 中的 minix 文件系统等事物中。

然而,对于那些想要对操作系统概念进行基本解释的人来说,这本书可能仍然证明是有价值的,因为 Tanenbaum 对基本概念的解释仍然是一些更清晰(如果您喜欢娱乐,也更具娱乐性)的解释。不幸的是,“基本”是这里的关键词,因为虚拟内存等许多东西根本没有涵盖。

现代操作系统

作者Andrew S. Tanenbaum
出版商Prentice Hall, 1992
ISBN0-13-588187-0
价格$51.75

这本书的前半部分是 Tanenbaum 早期著作《操作系统》的改写,但本书涵盖了早期书籍遗漏的几件事,包括虚拟内存等。本书未包含 Minix,但包含了 MS-DOS 和几个分布式系统的概述。对于想要利用其知识做某事的人来说,这本书可能比 Tanenbaum 早期著作《操作系统:设计与实现》更有用。原因的线索可能在标题中找到……然而,关于 DOS 在一本关于现代操作系统的书中所做的事情,许多人未能发现。

操作系统

作者William Stallings
出版商Macmillan, 1992 (800-548-9939)
ISBN0-02-415481-4
价格Macmillan 的人找不到一本……

这是一本关于操作系统的非常详尽的文本,本书更深入地涵盖了 Tannebaum 书籍中涵盖的主题,并以更简洁的风格涵盖了更多主题。本书涵盖了构建操作系统所需了解的所有主要主题,并以清晰的方式进行讲解。作者使用了来自三个主要系统的示例,对它们进行了比较和对比:Unix、OS/2 和 MVS。对于涵盖的每个主题,都使用这些示例系统来阐明要点并提供实现的示例。

《操作系统》中涵盖的主题包括线程、实时系统、多处理器调度、分布式系统、进程迁移和安全性,以及内存管理和调度等标准主题。关于分布式处理的部分似乎是最新的,我发现它非常有用。

UNIX 网络编程

作者W. Richard Stevens
出版商Prentice Hall, 1990
ISBN0-13-949876-1
价格$48.75

本书涵盖了 Unix 下的几种网络类型,并为它没有直接涵盖的网络形式提供了非常详尽的参考。它最广泛地涵盖了 TCP/IP 和 XNS,并相当详尽地描述了所有调用的工作方式。它还提供了使用 System V 的 TLI 的描述和示例代码,以及对 System V IPC 的相当完整的覆盖。本书包含大量源代码示例,可帮助您入门,以及许多有用的过程。一个示例是提供可用信号量的代码,该代码基于 System V 提供的部分损坏的实现。

UNIX 环境编程

作者Brian W. Kernighan 和 Robert Pike
出版商Prentice Hall, 1984
ISBN0-13-937699 (精装) 0-13-937681-X (平装)
价格?

编写 UNIX 设备驱动程序

作者George Pajari
出版商Addison Wesley, 1992
ISBN0-201-52374-4
价格$32.95

本书由 Driver Design Labs 的总裁兼创始人编写,该公司专门从事 Unix 设备驱动程序的开发。本书是对有时古怪的设备驱动程序设计世界的极佳介绍。首先简要讨论了四种基本类型的驱动程序(字符、块、tty、STREAMS)。给出了许多各种类型设备驱动程序的完整示例,从最简单的开始并逐步增加复杂性。所有示例都是处理 PC 兼容硬件上的 Unix 的驱动程序。

章节包括:字符驱动程序 I:测试数据生成器 字符驱动程序 II:A/D 转换器 字符驱动程序 III:行式打印机 块驱动程序 I:测试数据生成器 块驱动程序 II:RAM 磁盘驱动程序 块驱动程序 III:SCSI 磁盘驱动程序 字符驱动程序 IV:原始磁盘驱动程序 终端驱动程序 I:COM1 端口 字符驱动程序 V:磁带驱动器 STREAMS 驱动程序 I:环回驱动程序 STREAMS 驱动程序 II:COM1 端口(重访)驱动程序安装 设备驱动程序编写的禅与艺术

尽管本书中使用的许多调用与 Linux 不兼容,但总体思路是存在的,并且许多想法直接映射到 Linux 中。

版权所有 (C) 1992, 1993, 1996 Michael K. Johnson, johnsonm@redhat.com。


消息

1. 注意: 请将 K&R 参考替换为 Harbison/Steele 作者:Markus Kuhn
1. 反馈: 替换,不;补充,是的 作者:Michael K. Johnson
-> 反馈: 你是对的,Mike! 作者:rohit patil
2. 警告: 80386 书籍显然现在已绝版 作者:Austin Donnelly
1. 悲伤: 非常不幸 作者:Michael K. Johnson
3. 注意: Linux 内核内部 -> 内核 MM IPC fs 驱动程序 网络模块 作者:Alex Stewart