瀏覽單個文章
jamin
Senior Member
 
jamin的大頭照
 

加入日期: Dec 2002
文章: 1,370
引用:
作者darkangel
跟 code 有沒有寫好完全無關。
那是跟系統對儲存裝置採用的 cache 模式有關,所謂的 cache 有兩種模式,一種叫 write through,一種叫 write back。
write through:同步將 cache 的資料寫入儲存體。
write back:會延遲寫入。
通常來說,write back 的效率較佳,所以有些系統(如 Windows XP)預設會採用 write back 的方式來處理 usb 儲存裝置 cache。
這時候系統雖然回應資料寫入完成,但實際上資料還在 cache 中延遲等待寫入,如果冒然的將 usb 拔出,就會發生資料尚未完全寫入的狀況,透過對系統下達移除 usb 裝置,一般會做兩個動作:
1. 強制將 cache 裡的資料寫入儲存裝置裡。(即 flush)
2. 通知驅動程式關閉該 usb 電源。(有的 driver 其實不會做一步)
這也是為什麼有時候我們用移除裝置來移除 USB 會比較保險的原因。

暗天使居然這麼認真的說明

也沒有酸兩句, 一定是被盜賬號了

 
__________________
要討論也要找能溝通的, 跟狂吠的狗溝通只是浪費時間. 每日一句 : 很多不等於多數,也不等於少數
舊 2013-05-25, 07:10 PM #24
回應時引用此文章
jamin離線中