《UNIX环境高级编程》学习总结

原创 2012年03月26日 22:33:45

《UNIX环境高级编程》(第二版)(人民邮电出版社)

【美】W.Richard Stevens & Stephen A.Rago 著

尤晋元 张亚英 戚正伟 译

第一次阅读总结

2011年11月17日购于当当网,2012年3月初开始阅读,至3月底全书21章阅读完毕。本次阅读采用的策略是粗读,书中的绝大部分实例中的程序代码我都没仔细研究,只是了解了该实例要实现怎么样的功能,使用了那些关键的技术。在阅读过程中一些一下子搞不明白的地方也没有深究,只是在书中留下记号。

我承认,书本封面的三格漫画我还没有看明白。

内容提要:

本书在保持前一版风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案,还有一个非常有用的索引。

我的总结:

以前学习C语言的时候,就只知道编写一些简单的程序,至多也只是调用那么几个C库函数,从来没有考虑过自己的程序与所在的操作系统的关系。这一点跟开发嵌入式的单片机程序很像,因为那程序是裸跑的,单片机上没有搭载操作系统。但是真正应用广泛的,具有更强的功能的以及可移植性的程序都是跑在某个特定的操作系统里面的。基于UNIX的操作系统有很多,其中使用比较广泛的Linux也是我自己最近在学习的。

我在看这本书之前先是学习了操作系统课程,然后自学了《深入理解LINUX内核》。所以对这本apue,我感觉阅读起来难度不大,书中提到的很多与操作系统相关的一些知识我都事先了解过了。事实上,这也是本书的一大亮点。它不单单是讲解在UNIX环境中编程需要用到哪些函数、策略。它还比较深入地具有针对性地讲解了所涉及到的一些操作系统相关的知识。这令人读起来很舒畅。

书本的第一章是UNIX基础知识,这是这类的每一本书籍所惯常有的,可以使读者先大致了解一些相关的情况。第二章比较重要,它讲解了贯穿本书的三个标准:ISO C, IEEE POSIX, Single UNIX Specification 。每一个标准都是前一个的超集。这也是程序员在开发可移植性强的程序时所必须考虑的。然后接下来就详细讲解了各种I/O,因为这是程序最常用到的。接着是进程相关的内容,这也I/O一样,是本书的两大重点之一。当然,讲解完进程少不了对线程的介绍,这是能大大地提高程序性能的一种技术。书本的后半部分主要讲解进程间通信,我感觉这是一种比较高级的技术,在大型程序当中特别重要。

读完之后觉得意犹未尽。真是一本神书!它讲解得太好了。不过回想起来,7百页的一本书,怎么这么少内容的?是我把先前看的内容都忘记了太多还是我已经把书读薄了?

2012.3.26

相关文章推荐

《UNIX环境高级编程》学习经验总结

《UNIX环境高级编程》学习经验总结

UNIX环境高级编程——IPC总结

IPC主要包括:管道,消息队列,信号量,共享内存, 套接字(SOCKET)。 一、IPC对象的持久性     每种IPC机制都会借助一种数据结构,这种数据结构的实例称为该IPC机制的对象(...

《UNIX环境高级编程》学习笔记--第三章习题2参考答案

题目咋看上去不好写,其实只要理解了dup函数和dup2函数的功能以及他们参数的限制,可以很快想到使用dup函数实现dup2函数。 先来说下dup函数,他是复制一个文件描述符,而复制的文件描述符的值为当...
  • ahfytao
  • ahfytao
  • 2015年09月03日 23:59
  • 371

UNIX环境高级编程学习笔记(九)进程控制

进程控制 fork exit exec wait

《UNIX环境高级编程》学习之——更改用户ID组ID

UNIX系统为了总是以最小特权去执行一个程序,给出了setuid和setgid函数原型如下: #include int setuid(uid_t uid); int setgid(gid_t...
  • Og192
  • Og192
  • 2012年10月09日 15:40
  • 1184

UNIX环境高级编程学习笔记(七)系统数据文件和信息

系统数据文件和信息

UNIX环境高级编程学习笔记(二)文件I/O常用函数

不带缓冲I/O

unix环境高级编程 学习笔记5 标准IO库

第五章 标准IO库 [仅作学习笔记,其中可能有误解] 1. 标准IO处理很多细节,如缓冲区分配,优化长度执行IO等,与系统调用的文件IO形成对比 2. 标准IO是围绕流进行的(stream) 3....

Unix环境高级编程学习笔记(七) 多线程

线程概述 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(proces...

UNIX环境高级编程学习笔记(四)不调用fcntl函数实现dup2的功能

不使用fcntl来实现dup2的功能
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《UNIX环境高级编程》学习总结
举报原因:
原因补充:

(最多只允许输入30个字)