您的位置:首页 > 运维架构 > Linux

八年程序员之书籍篇--OS/Linux(四):OS API

2013-05-16 23:23 183 查看
这部分对大部分程序员来说是最实用的书了,想想,OS理论高高在上,平时编程基本用不上,而Kernel未免过于艰深了,内核程序员毕竟在少数。唯有OS API,可是家常便饭啊,相信没有不用OS API的程序员吧?

首先请看Stevens的经典巨著:

1.《Advanced Programming in the UNIX Environment》-《UNIX环境高级编程》-W. Richard Stevens等-尤晋元等-第2版-人民邮电出版社。简称APUE,已故stevens博士作品,stevens的书都是好书!UNIX系列操作系统下的编程圣经,程序员必备。内容涉及I/O、进程/线程、信号、进程间通信机制等,都是平常编程用得到的东西,该书影响之大无需多说,就连其中代码的风格在我编程生涯中随处可见!影响了数代程序员的书,而且将继续影响下去。无论如何,只要你打算在UNIX/Linux系列操作系统下工作,这本书都是必备的!评价:5.

2.《UNIX network Programming-v2:Interprocess Communication》-《UNIX网络编程-第2卷:进程间通信》-W. Richard Stevens-杨继张-第2版-清华大学出版社(中/英)。简称UNP v2,书名为网络编程,实际讲述是进程间通信,当然也可以作为线程间通信的参考。主要讲了消息、同步、共享内存等,分别有PIPE/FIFO、消息队列,Mutex、R/W lock、Record Lock、Semaphore,Share Mem等,其中又分述了Posix接口和System
V接口,在多核、多CPU、多进程、多线程大行其道的今天,不懂IPC机制都不好意思说你是程序员了是不?再联想到OS理论中的理发师、哲学家就餐问题之类,对了,这些枯燥的理论就转换到你的编程实践中,跟你的饭碗息息相关了!对比APUE,此书过专,但参考价值并未降低,评价:4.5.

3. 《LInux System Programming》-《Linux系统编程》-Robert Love-O‘Reilly TAIWAN-东南大学出版社。内容包括I/O、进程管理、内存管理、信号等等,内容对比《APUE》来说,专一些,讲Linux为主,其实也提到了一些UNIX其它版本,内容单薄、讲解不是很细,很像API参考手册。当然,还是有很多API的细节的,有一定参考价值。但我觉得,有以上两本就足够了!评价:3.5.

UNIX/Linux下以上3本,不,前2本已够用,所以不再考虑其它。win下事实上我不熟,但看过一本:

4.《Multithreading Applications in Win32》-《Win32多线程程序设计》-Jim Beveridge & Robert Wiener-侯捷-华中科技大学出版社。没有win下同类书相近的比较,不好评价是否经典,但内容来说,类似UNP v2,win下程序员值得一读。评价:4.

此外,还有一些书可归于此类,即讲述跨OS平台的中间件的,这些中间件包装了线程、进程、IPC机制之类,比如pthread、ACE、ZThread、C++11 Thread...等等。不过,这里就不再赘述了!

似乎讲述OS API的书相对前两类较少?作为一名在多种操作系统如Linux、vxWorks、windows、核级中间件工作过的程序员,我的感觉是因为 APUE 太牛叉,竞争对手不给力,没有旗鼓相当的书,所以,就不需要其它的书了!^_^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: