IO到底是個什麼玩意

2021-09-29 11:34:00 字數 852 閱讀 7327

對於計算機系統來說,io到底是個啥玩意。in out,進進出出的是啥呢?

其實這個io是很多人都沒有弄清楚的問題,也是定義很混亂的乙個問題。其根本原因就在於一次io在系統路徑的每個層次上都有自己的定義。

計算機系統是由乙個乙個的層次模組組合而成的,每個模組之間都有各自的介面,而在介面間流動的資料就是io。那麼如何才算「一次」io呢?以下列舉了各個層次上的「一次」io的定義。

1.應用層。

應用程式向作業系統請求:「讀取c:\wuhao.txt

到我的緩衝區」。作業系統讀取後返回應用程式乙個訊號,這次io就完成了。這就是應用程式做一次io。

2.檔案系統。

檔案系統向磁碟控制器驅動程式請求:「讀取從lba10000開始後的128個扇區」,然後「請讀取從lba50000開始的後64扇區」,這就是檔案系統向下做的兩次io。這兩次io,假設對應了第一步裡那個應用程式的請求。(計算機系統管理的最小單元可不是bit,是扇區)

3.磁碟。

磁碟控制器驅動程式用訊號來驅動磁碟控制器向磁碟傳送scsi指令和資料。對於scsi協議來說,完成一次連續lba位址扇區的讀寫就算一次io。但是為了完成這次讀或者寫,可能需要傳送若干條scsi指令幀。從最底層來看,每次向磁碟傳送乙個scsi幀,就算一次io,這也是最細粒度的io。但是通常說磁碟io都是指完成整個一次scsi讀或者寫。

對於磁碟來說,每次io就是指一次scsi指令互動回合。乙個回合中可能包含了若干scsi指令,而這乙個回合裡卻只能完成一次io,比如「讀取從lba1000開始的後128個扇區」。

4.卷管理層,raid層。

如果在檔案系統和磁碟之間再插入一層卷管理層,或在磁碟控制器和磁碟之間再插入一層raid虛擬化層,那麼上層的一次io就往往會演變成下層的多次io。

CSRF到底 是個什麼玩意?

csrf cross site request forgery 跨站請求偽造,也被稱為 one click attack 或者session riding 通常縮寫為 csrf 或者xsrf 是一種對 的惡意利用。儘管聽起來像跨站指令碼 xss 但它與 xss非常不同,xss利用站點內的信任使用者,...

娛樂型邏輯題 小易到底是個什麼玩意

在weibo上看到這麼個帖子,帖子本身應該年代久遠,但是答案出現的分布性讓我覺得有點疑惑,題目是這樣的 這是從網上拷貝來的 小易不是乙個既聰明又勤奮的孩子,那麼,下述正確的是 a 小易不聰明 b 小易不勤奮 c 小易既不聰明又不勤奮 d 小易不聰明或不勤奮 拷貝完畢 作為乙個.第一直覺是把題目轉換成...

REST,RESTful到底是個什麼?

0.rest不是 rest 這個單詞,而是幾個單詞縮寫。但即使那幾個單詞說出來,也無法理解在說什麼 不是要貶低人,是我自己也理解困難 1.rest描述的是在網路中client和server的一種互動形式 rest本身不實用,實用的是如何設計 restful api rest風格的網路介面 2.ser...