雖然這已經是很久之前就存在的技術,但是感覺在一般的程式設計書籍並不常見(應該說比例上),但是最近AIO卻是延伸到web server上變得火紅,從node.js可見一斑
主要是因為閱讀蒐集linux driver的資料的時候看到的,因為感覺LDD這本書有點看不懂,可能礙於實際開發經驗,以及程式設計背景知識,即使知道了如何寫出driver,但是感覺並無法實際充分利用。所以我也另外買了一本大陸作者的書籍"Linux 裝置驅動程式之開發詳解(第2版)",前面講解還算通暢,可是到了AIO左右已經開始有點不知所云,轉而向網路搜尋,找到了M. Tim Jones的著作,他並非亞洲人
http://www.ibm.com/developerworks/cn/linux/l-async/
發現原來該書的作者應該是瞟竊他人的著作!!??雖然後來唸到後面有看到一個URL指向該文章,也不知道這個網路文章(已經翻譯成中文)是否為書本作者翻譯的,但是完全不加以註明,讓人覺得書本文章是他自己寫的,書中一段文字幾乎跟網頁文字相同!!再加上範例也很像。
我發現難以理解主要是因為書本作者根本把一些重要的網頁圖片拿掉,如下面的圖片,明白點出blocking/nonblocking跟asynchronous/synchronous之間衍生的關係
建議對書中看得不大懂的讀者,轉向直接閱讀該網頁的內容,其中還有四個圖案講解kernel跟這四種IO之間的關係,簡明易懂,個人看了感覺大有收穫
沒有留言:
張貼留言