八年程序员之书籍篇--OS/Linux(四):OS API
来源:互联网 发布:编程谜题豆瓣 编辑:程序博客网 时间:2024/05/21 22:54
这部分对大部分程序员来说是最实用的书了,想想,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 太牛叉,竞争对手不给力,没有旗鼓相当的书,所以,就不需要其它的书了!^_^
- 八年程序员之书籍篇--OS/Linux(四):OS API
- 八年程序员之书籍篇--OS/Linux(三):OS理论
- 八年程序员之书籍篇--OS/Linux(一):综述
- 八年程序员之书籍篇--OS/Linux(二):Kernel
- 八年程序员之书籍篇--Algorithm(四):算法实战
- 八年程序员之书籍篇(一):引子
- 八年程序员之书籍篇(二):概述
- 八年程序员之书籍篇--Algorithm(一):综述
- 八年程序员之书籍篇--Algorithm(二):算法盒子
- 八年程序员之书籍篇--Algorithm(三):算法设计技术
- 八年程序员之书籍篇--杂谈篇(一):怎么阅读一本书?
- 【OS学习】之 Process API
- os内存使用管理之linux篇
- Linux OS
- Palm OS、Windows CE及Linux OS之比较
- API--android.os.Build
- Symbian OS 文件服务器(四)
- OS
- wifi记录
- Visual Studio统计有效代码行数
- 机器学习推荐论文和书籍
- 中国十佳IT外包企业排行榜
- 地图切片缓存工具GeoWebCache
- 八年程序员之书籍篇--OS/Linux(四):OS API
- 实验:计算机是怎样工作的?
- effecitve c++ 条款21-25
- windows驱动开发——一个最简单DDK驱动。
- 中国银幕数将爆发性增长 影院大佬攻城略地
- Opencv+PCL=Flann 冲突?
- 适合C++初学者的几个开发工具
- 博看文思-HTML5
- Hibernate 与对象共事