2011/9/29

資訊學院的30門課-作業系統

在於3-Tier與多人多工盛行的今日,很多人開發程式時,都是很直覺的設計一個功能,或者是以單一使用者的角度與立場,去自己塑造使用者的需求,表面上看來這樣可以設計出一套深具使用者親和力的系統或者網站,其實卻處處隱藏了危機….

-------

資訊學院的數位影像處理,絕對不是把主力放在教你怎麼修圖,那作業系統就不是教您怎麼重灌Windows 7。傳統的作業系統課程會包含磁碟管理、行程管理、快取記憶體、分頁管理。

傳統的磁碟管理最重要的就是RAID的觀念,這至少我在三門課聽過,計算機概論就不用說了,檔案結構、計算機組織與結構還有就是作業系統。RAID的觀念在系統規劃容錯時,是再重要的也不過,但是近年來因為SSD的價格越來越親民,新的磁碟管理課程應該要導入SSD乃至於混合式HDD

行程管理對於提高程式穩定度很重要,特別是在於3-Tier與多人多工盛行的今日,很多人開發程式時,都是很直覺的設計一個功能,或者是以單一使用者的角度與立場,去自己塑造使用者的需求,表面上看來這樣可以設計出一套深具使用者親和力的系統或者網站,其時確處處隱藏了危機,例如開發一個會議室預定網頁系統,A先去瀏覽了可供使用的會議室1001,然把資料導向下一頁,按確定後,這間會議室1001就被保留了下來,然後B重覆一樣的動作,瀏覽了可供使用的會議室1002,然把資料導向下一頁,按確定後,這間會議室1002就被保留了下來,看來程式完全沒問題對不對?大錯特錯,因為設計者假設了只有單一使用者使用系統的情境,且更深深的以為每一個向主機提出的需求,會立即的被執行完成,沒有延遲,不會會出甚麼錯。

會議室預定網頁系統實際上的狀況可能是,A先去瀏覽了可供使用的會議室1001,然把資料導向下一頁,但是B也重覆一樣的動作,瀏覽了可供使用的會議室1001。之後系統把Time Slice切給AA按確定後,這間會議室1001就被A保留了下來,A的需求被完成了,但是B重覆一樣的動作,把會議室1001的資料導向下一頁,按確定後,這間會議室1001最後變成B的,最後AB兩位USER到了會議時間,在會議室裡吵了一架,系統裡記錄的是B是合法登計者,但A卻是先看到這間會議室的,啞巴吃黃蓮啊。

怎麼解決就留著給有智慧的各位去想想吧,或者再翻翻這本很重要的教科書。

沒有留言:

張貼留言