这份注释参考书目涵盖了关于操作系统理论以及在 Unix 环境中不同类型编程的书籍。标示的价格可能是准确的价格,也可能不是,但应该足够接近用于政府工作。如果您有认为应该加入书目的书籍,请撰写一篇简短的书评,并将所有必要的信息(书名、作者、出版商、ISBN 和大概价格)以及书评发送至 johnsonm@redhat.com
作者 | Maurice J. Bach |
---|---|
出版商 | Prentice Hall, 1986 |
ISBN | 0-13-201799-7 |
价格 | $65.00 |
这是 Linus 用来设计 Linux 的书籍之一。它描述了 System V 内核中使用的数据结构。Linux 源代码中许多重要函数的名称都来自这本书,并以这里介绍的算法命名。例如,如果您不太清楚 getblk()、brelse()、bread()、breada() 和 bwrite() 究竟是什么,第 3 章对此有很好的解释。
虽然大多数算法相似或相同,但仍有一些差异值得注意
作者 | W. Richard Stevens |
---|---|
出版商 | Addison Wesley, 1992 |
ISBN | 0-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 合规性,作为一般规则。这本书将为您节省十倍于其成本的挫败感。
作者 | James L. Turley |
---|---|
出版商 | Osborne McGraw-Hill, 1988 |
ISBN | 0-07-881342-5 |
价格 | $22.95 |
本书很好地涵盖了 80386,而没有涉及任何其他硬件。包括一些代码示例。涵盖了所有主要功能以及许多需要的概念。本书的章节包括:基础知识、内存分段、特权级别、分页、多任务处理、任务间通信、处理故障和中断、80286 仿真、8086 仿真、调试、80387 数字处理器扩展、性能编程、复位和实模式、硬件,以及一些附录,包括内存管理结构的表格,作为方便的参考。
作者的写作风格很好:如果您有技术头脑,您会发现自己沉浸在阅读这本书中。这本书对于 Linux 的一个强大特点是,作者非常小心地不解释如何在 DOS 下做事,也不解释如何处理特定的硬件。事实上,他提到 DOS 和 PC 兼容硬件的唯一几次是在引言中,他在引言中承诺永远不再提及它们。
作者 | Brian W. Kernighan 和 Dennis M. Ritchie |
---|---|
出版商 | Prentice Hall, 1988 |
ISBN | 0-13-110362-8 (平装) 0-13-110370-9 (精装) |
价格 | $35.00 |
C 编程圣经。包括 C 教程、Unix 接口参考、C 参考和标准库参考。
您用 C 编程,您就买这本书。就这么简单。
作者 | Andrew S. Tanenbaum |
---|---|
出版商 | Prentice Hall, 1987 |
ISBN | 0-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 |
ISBN | 0-13-588187-0 |
价格 | $51.75 |
这本书的前半部分是 Tanenbaum 早期著作《操作系统》的改写,但本书涵盖了早期书籍遗漏的几件事,包括虚拟内存等。本书未包含 Minix,但包含了 MS-DOS 和几个分布式系统的概述。对于想要利用其知识做某事的人来说,这本书可能比 Tanenbaum 早期著作《操作系统:设计与实现》更有用。原因的线索可能在标题中找到……然而,关于 DOS 在一本关于现代操作系统的书中所做的事情,许多人未能发现。
作者 | William Stallings |
---|---|
出版商 | Macmillan, 1992 (800-548-9939) |
ISBN | 0-02-415481-4 |
价格 | Macmillan 的人找不到一本…… |
这是一本关于操作系统的非常详尽的文本,本书更深入地涵盖了 Tannebaum 书籍中涵盖的主题,并以更简洁的风格涵盖了更多主题。本书涵盖了构建操作系统所需了解的所有主要主题,并以清晰的方式进行讲解。作者使用了来自三个主要系统的示例,对它们进行了比较和对比:Unix、OS/2 和 MVS。对于涵盖的每个主题,都使用这些示例系统来阐明要点并提供实现的示例。
《操作系统》中涵盖的主题包括线程、实时系统、多处理器调度、分布式系统、进程迁移和安全性,以及内存管理和调度等标准主题。关于分布式处理的部分似乎是最新的,我发现它非常有用。
作者 | W. Richard Stevens |
---|---|
出版商 | Prentice Hall, 1990 |
ISBN | 0-13-949876-1 |
价格 | $48.75 |
本书涵盖了 Unix 下的几种网络类型,并为它没有直接涵盖的网络形式提供了非常详尽的参考。它最广泛地涵盖了 TCP/IP 和 XNS,并相当详尽地描述了所有调用的工作方式。它还提供了使用 System V 的 TLI 的描述和示例代码,以及对 System V IPC 的相当完整的覆盖。本书包含大量源代码示例,可帮助您入门,以及许多有用的过程。一个示例是提供可用信号量的代码,该代码基于 System V 提供的部分损坏的实现。
作者 | Brian W. Kernighan 和 Robert Pike |
---|---|
出版商 | Prentice Hall, 1984 |
ISBN | 0-13-937699 (精装) 0-13-937681-X (平装) |
价格 | ? |
作者 | George Pajari |
---|---|
出版商 | Addison Wesley, 1992 |
ISBN | 0-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。