加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX系统编程: 通信、并发与线程

发布时间:2023-01-09 16:01:00 所属栏目:Unix 来源:网络
导读: 本书是1995年由Prentice Hall出版的Practical UNIX Programming: A Guide to Communication, Concurrency and Multithreading一书的第2版。为了更好地传达本书的内容,我们将书名修改为“U

本书是1995年由Prentice Hall出版的Practical UNIX Programming: A Guide to Communication, Concurrency and Multithreading一书的第2版。为了更好地传达本书的内容,我们将书名修改为“UNIX系统编程:通信、并发与线程”。与上一版相比,我们不仅改变了书名,还对很多内容进行了修改。

互联网已经成为计算和社会领域的一个主导方面。我们的私人信息联网了;我们的软件经常会受到攻击。因此,编写正确的代码显得尤为重要。在这一版中,我们尝试尽量生成能够正确处理错误和特殊情况的代码。我们意识到,只是声称处理了所有的错误,但在给出的代码中却省略错误处理是没有效果的。不幸的是unix系统编程,错误处理让代码变得更复杂。我们付出了很多努力,以便让代码显得清晰一些。

本书对上一版的另一个重要改进是采用了单一的UNIX规范,我们将其称为POSIX。我们再也不需要决定使用哪个厂商的库函数了——现在有了正式的版本。我们已经尽了最大努力来遵循这个标准。

练习和项目让本书变得与众不同。实际上,本书是从作为美国国家科学基金会(National Science Foundation Grant)一部分的项目手册发展而来的。在完成这个项目的初期开发后,我们逐渐认识到:完成这个项目所需的材料分散在不同的地方——这些材料通常可以在提供了大量细节、但几乎没有概念陈述的参考书中找到。因此,本书逐渐成为一本基于最新UNIX标准的完整参考书。

本书分为4部分,每部分都包含主题章节和项目章节。主题章节以循序渐进的方式涵盖了指定的内容,并以“ 试试看”和“看看会发生什么”的形式包含了很多示例和练习。主题章节都以一个或者多个练习小节结束。本书还为进程管理、并发和通信的很多基本概念提供了很多编程练习。这些编程练习与传统科学课程中的实验作用相同。只有通过实践才能真正理解书中的概念。这些练习由易到难,很多练习只需要不到100行代码就能实现。

项目章节通过开发一个规模较大的应用程序来整合几个主题章节的资料。这些项目包含两个层面。除说明编程思想外,这些项目还引导读者理解与应用程序相关的高级主题。这些项目都是分阶段设计的,大多数完整的实现都只需要几百行代码。由于不需要编写大量代码,因此,读者可以将注意力集中在对概念的理解而不是代码调试上。为了简化编程,我们提供了可用于网络通信和输出日志记录的库。对专业的程序员来说,主题章节结尾部分的练习提供了对概念的基本介绍。通常,使用本书的教师可以从中挑选几个练习和一个项目章节让学生在一学期的课程中实现。每个项目都有多种变化,因此,这些项目可以在多个学期里反复使用。

读者可以用不同的方式阅读本书。第一部分的主题章节是阅读本书其他部分的基础。在阅读完第一部分的主题章节后,读者可以按照任何顺序阅读第二部分至第四部分的内容,但后续章节结尾部分关于交互的讨论(例如,线程如何与信号交互)除外。

我们假定读者是优秀的C程序员,但不一定是UNIX C的程序员。读者应该熟悉C语言编程和基本的数据结构。对于刚刚接触UNIX的读者来说,附录A中给出了程序开发的必备知识。

本书包含标准函数的概要。我们在概要的右下角列出了指定函数的相关标准。

本书的内容是有限的。我们欢迎读者提出意见和建议,电子邮件地址为authors@usp.cs.utsa.edu。虽然我们已经尽最大努力保证本书没有错误,但如果你是第一个向我们指出某个错误的人,那么我们会在本书的配套网站上对你表示诚挚的感谢。我们在Web站点上提供了本书的相关信息。从这个Web站点上可以下载本书中包含的所有代码。

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章