CSSAPP稀里糊塗的讀書筆記(十)系統級I O

2021-08-29 23:13:27 字數 362 閱讀 6277

本章介紹unix i/o 和標準i/o的一般概念,具體的細節什麼的還是看書比較好。

乙個linux 檔案就是乙個 m 個位元組的序列,所有的i/o裝置都被模型化為檔案,而所有的輸入和輸出都被當作對響應檔案的讀和寫來執行。這種將裝置優雅地對映為檔案地方式,允許linux核心引出乙個簡單、低階地應用介面,稱為unix i/o,這使得所有地輸入和輸出都能以一種統一且一致地方式來執行:

每個linux檔案都有乙個型別來表明它在系統中的角色:

關於開啟關閉檔案,讀寫檔案等都是**了,建議直接看書。

標準i/o庫將乙個開啟的檔案模型化為乙個流。對於程式設計師而言,乙個流就是乙個指向file型別的結構的指標。型別為file的流是對檔案描述符和流緩衝區的抽象。

CSSAPP稀里糊塗的讀書筆記(五)優化程式效能

本章主要 如何使用幾種不同型別的程式優化技術,使程式執行的更快。編寫高效程式需要做到以下幾點 第一,我們必須選擇一組適當的演算法和資料結構。第二,我們必須編寫出編譯器能夠有效優化以轉換成高效可執行 的源 第三,針對處理運算量特別大的計算,將乙個任務分成多個部分,這些部分可以在多核和多處理器的某種組合...

總是稀里糊塗的移位操作

先要了解一下c語言裡所有的位運算都是指二進位制數的位運算。即使輸入的是十進位制的數,在記憶體中也是儲存為二進位制形式。用法 格式是 a 0。功能 將整型數a按二進位制位向左移動m位,高位移出後,低位補0。用法 格式是 a m,a和m必須是整型表示式,要求m 0。功能 將整型數a按二進位制位向右移動m...

mysql運維 讀書筆記 Mysql 讀書筆記

mysql儲存時間有兩種型別 datetime和timestamp。分別說一下兩者的區別。datetime,以8位元組儲存時間,理論上可以從0000年儲存到9999年。並且沒有時區的概念,它儲存的就是乙個時間點的概念。timestamp和datetime最主要的不同就是,它是以4個位元組儲存,由19...