看板 MAC 關於我們 聯絡資訊
※ 引述《dreambegins (夢想正開始)》之銘言: : 想請問一下 : 當air關閉上蓋之後,插着的USB裝置就停止讀取了嗎? : 這個時候就可以立刻拔掉了嗎? : 因為不是很確定,所以每次都很麻煩地,先在右上方按退出,再到finder按退出... 路過順便回... 了解 USB 以及 file system 的運作就了解其實答案是 "對" 也是 "不對". USB 基本上只是個通訊介面, 跟早期的 RS-232C 是一樣的功能. 原波的問題其實應該是 "在什麼情況之下可以將一個 file system 斷線". 大部份的 file system 都有所謂 cache 的機制 (又跟 read/write 的方式有關..在此不 詳述)..為了增加讀寫效率, 大部份的 file system 只有在特定情形之下才會真寫入磁碟 中. 寫入磁碟又分兩步, 一個是改寫磁碟中的 index, (各種 file system 有不一樣的稱呼, 但功能都是 indexing), 另一個則是實際寫入所需要的資料. 在很多情況之下, 若這兩個 步驟沒有一致性地完成, 就需要作 check disk (chkdsk, fsck, 等). 呼..故事講完了..回到原波的問題.. 若正好在寫入檔案時將 USB 拔掉, 有可能資料仍然在 cache, 而沒有寫入. 或者更糟的, 資料寫入到一半被硬拔. 因為 index 與 data 不一致, 甚至是寫入 index 或 data 到一 半被中斷. 結果就有可能發生鄉民所說的, 需要重新格式化才能再用. 可是若沒有寫入的動作, 或者 cache 已經清空呢? 那直接拔的話, 頂多就是 OS 會靠北一 下, 其實不會怎樣. 但一般正常使用時, 常常會有背景程式偷偷的寫入一些資料. 像 .Trash, .DS_Store, 甚 至是電腦病毒對 USB Disk 中出時, 使用者並不會注意到磁碟寫入的動作. 這時硬去拔除 USB Disk, 仍有可能發生鄉民所述的慘況.. 另一個原波提到的情況是, 當機器休眠時會不會清掉 Cache? 這個說實在我不確定, 但從 作業系統的角度來看, 休眠前清掉 cache 應該是很合理的作法.. 以上 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.14.215.117
kusoyaya:推專業 09/18 19:18
kenk0818:好專業 09/18 19:35
呃..其實這個在大部份學校的 "作業系統" 課程都應該教到..至少我以前上課時會講這個 部份..不過我也知道有很多老師還在三百年不換的投影片教骨灰級的作業系統, 那就很難 說了.. 補充結論: 我自己的作法是, 若能確定沒有寫入的動作時 (例如在 Windows 中, 沒有任何 寫入的動作, 或者在 Linux 中沒有任何相關程式在運作), 加上自己偷懶的話, 我偶而會 不退出就拔掉. 一般來說沒有什麼問題. 但在 OSX 中, 他有一些動作是比較難以預測的 (例如更新 .DS_Store). 這時我就會儘量不要偷懶, 以免憾事發生..有時我會選擇讓 .DS_Store 功能失效, 這樣就可以省去不確定性的麻煩. 不過這個動作本身也是有點麻煩 就是了 XD 不過, 我會建議養成一個手順的習慣. 要拔之前打一個 sync, cmd-E, 或者點個退出, 沒有什麼不好的..
CapriceChang:病毒中出USB DISK...XDDDDD 09/18 20:12
又沒有 USB Disk 専用的保險套..XD ※ 編輯: cybergenie 來自: 116.14.215.117 (09/18 20:33)
dearlove:裝阿福打eject超快XD 09/18 21:42
werrty:推病毒中出 USB DISK XDDDDD 09/20 01:27