Web Analytics

理解dup和dup2

看到ChinaUnix(CU)上的一个帖子后,觉得自己对dup和dup2特别是后者的理解还是有欠缺的,这两个接口看起来很简单,但是理解起来也真的并不是那么容易。 相信大部分在Unix/Linux下编程的程序员手头上都有《Unix环境高级编程》(APUE)这本超级经典巨著。作者在该书中讲解dup/dup2之前曾经讲过“文件共享”,这对理解dup/dup2还是很有帮助的。这里做简单摘录以备在后面的分析...

September 19, 2005 · 6 min · Tony Bai

APR源代码分析-高级IO篇

近两天稍轻闲了些,便抓紧时间学习、学习再学习。在“APR分析-文件IO篇”,我们只分析了最基本的I/O操作,如文件的open、close、write和read。当然File I/O操作不止这些,在这一篇中我们来看看APR提供的一些高级I/O设施,包括记录锁、I/O多路复用和内存映射文件(内存映射文件将和共享内存一起分析)。 一、记录锁或(区域锁)\[注1] 我见过的对记录锁讲解最详细的书就是《Un...

September 17, 2005 · 6 min · Tony Bai

APR源代码分析-文件IO篇

文件I/O在Unix下占据着非常重要的地位,曾有一句经典语句绝对可以说明file在Unix下的重要性,That is "In UNIX, everything is a file",APR就是本着这个思想对Unix文件I/O进行了再一次的抽象封装,以提供更为强大和友善的文件I/O接口。 APR File I/O源代码的位置在$(APR\_HOME)/file\_io目录下,本篇blog着重分析un...

September 15, 2005 · 5 min · Tony Bai

APR源代码分析-信号篇

U know 信号是Unix的重要系统机制。信号机制使用起来很简单,但是理解起来有并不是那么Easy。APR Signal的封装也并不繁琐,代码量很少,所以分析APR Signal的过程其实就是学习Signal机制的过程。 一、信号介绍 1、Signal“历史久远”,在最初的Unix系统上就能看到它“伟岸”的身影。它的引入用来进行User Mode进程间的交互,系统内核也可以利用它通知User M...

September 13, 2005 · 6 min · Tony Bai

理解ASCII码

最近在写一个串口程序,设备提供商的通讯协议说明中明确了内部通讯方式为“ASCII码”。其实每个和计算机打交道的人都会天天接触ASCII码,只是ASCII码藏在了幕后,我们很少与之正面打交道罢了,这次机会正好让我有机会到幕后去看看ASCII码的“庐山真面目”。 ASCII码众所周知全称为“美国信息交换标准码,American Standard Code for Information Interch...

September 11, 2005 · 3 min · Tony Bai