1. 程式人生 > >《現代作業系統》心得(1)

《現代作業系統》心得(1)

    今天在辦公室,看到一個同事在xp的電腦上,從U盤往一個D盤拷貝東西,可是每當他複製資料夾下的2000多張圖片的時候,就彈出一個對話方塊“explore 記憶體引用不能為read”。然後整個電腦就卡死了,連工作管理員都都呼叫不出來了。
    以前碰到這種情況我也是不知所措,讀了執行緒和程序這一章後,我明白這可能是執行緒緩衝區溢位了,存放資料的記憶體區域滿了,導致explore出錯,這個執行緒阻塞了,無法退出,而且CPU又不能切換程序或者執行緒,導致後面的程式都無法執行,所有的程式都卡住。我猜測這是一個xp系統的一個BUG,在複製檔案的時候,緩衝區也許設定的不夠大,而且沒有考慮到溢位的措施,所以才導致每次賦值2000多個檔案的時候都會出錯。

    我覺得作業系統這本書確實給人很多啟發,慢慢的乾貨!但是令人畏懼的是,作者說,本書中還有很多執行緒和程序的內容沒有給出,比如說鍵盤中斷,到底是由哪個程序或者哪個程序的哪個執行緒來捕捉?由於執行緒的建立和程序沒有半毛錢關係,所以線上程的層次根本無法決定中斷訊號到底該給誰?(難道是建立一個通知中心,然後大家來註冊?)