这个问题不太可能帮助任何未来的访问者;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况有关,而这些情况通常不适用于Internet的全球用户。要帮助更广泛地应用此问题,请访问visit the help center。
11年前关闭了。
下学期我要上本科操作系统课,这是一本推荐的书。你还会推荐 * Advanced Programming in the Unix Environment *(APUE)第1版而不是第2版吗?
我知道你不能推荐一本书给你没有上过的课(不是我要求的),但我想知道是否有人读过/拥有这两个版本,他们是否觉得第一版仍然是相关的或由于它的年龄(写于1992年)我最好投资第2版。我不‘I don’我对Unix了解不多,看了第一版后,似乎有很多信息,让我知道你的想法。
2条答案
按热度按时间pftdvrlh1#
从the book's web site开始:
UNIX®环境中的高级编程第二版已经更新,以反映当代操作系统和最近的标准变化。此外,示例章节进行了大修。用于测试书中示例的四个平台包括FreeBSD 5.2.1,Linux 2.4.22,Mac OS X 10.3和Solaris 9。这些平台是一个移动目标,而且很可能现在有较新的版本可用,所以你的里程可能会有所不同。
主要的变化包括增加了一章关于套接字的内容,两章关于线程的内容,以及删除了讨论调制解调器通信的章节,尽管丢失的章节可以在这里找到。此外,打印机通信章节也被重写,以说明今天基于网络的打印机。
在我看来,这些变化中最有价值的是与现代平台的测试。APUE第一版几乎没有提到Linux,当然也没有涉及OS X,因为它还没有被创建。第二版修复了这一点。
这并不是说APUE第一版对于Linux和OS X系统编程毫无用处。我在Linux上成功地使用了很多年。我想不出它所涵盖的任何一个主题没有隐含地涵盖至少一种在Linux上实现的方法。主要的困难是,如果有不止一种方法来做某件事,APUE通常会给出所有方法,但是在第一版中,你必须尝试所有的版本才能找到Linux支持哪一个。这是OSX的一个更糟糕的问题,因为它的内核不如Linux的那么普遍。
我不会错过第一版中关于线程和套接字的章节,因为我还有其他关于这方面的书。作为一个新的系统程序员,你会发现它们很有价值,直到你找到一个理由在这些领域获得更全面的东西。它们都是值得整本书的主题。(真的,满书架。)
无论如何,底线是我仍然有我的第一版副本,尽管买了第二版的工作。第一版副本只是回家了。它仍然是有用的。
vxbzzdmp2#
这是一本好书,第一版并没有太过时。Unix的大部分要点是限制功能和接口随时间的变化。这本书的旧版本仍然非常有效,十九年来只有两个版本的事实说明了Unix库和实用程序的稳定性。当然,你的教授应该能够解释你可能遇到的差异。