※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
> > 我想也許舉個例子比較能說明。
> > 比如資料庫裡某個產品剩餘 m 個, 我們打算取出 n 個, 若庫存量不
> > 足則 print error message, 否則把剩餘量減 n 再存回資料庫。
> > 如果這是多人多工系統, 一般沒受過良好訓練的 programmer
> > 在某些狀況下即使庫存量不足也會讓 user 取出 n 個。這就是
> > bug, 而這 bug 一般自己測試測不出來, 只有在流量大的時候會
> > 發生, 流量大的時候可能公司忙得不可開交卻要撥人力來處理這
> > 種問題, 而且公司聲譽可能大受影響
> ======
> 這個例子就幾個條件看來像是 OS 的 Producer-Consumer
> Synchronization problem.
> 1.多人多工, 這是 併行/平行 系統會同時多個發生的環境.
> 2.這理有 Shared Code 或 Shared Variable 的 "共用" 問題.
> 3.這裡有 concurrent update 要求.
> 4.出的錯屬 time dependent error 不易被查出, 也不容易靠
> trace debug 查得出來.
> 這是程式的 "正確性" 問題, 跟效率的關係少, 但 "同時" 執
> 行的請求一多就會發生接近 "同時發生" 的狀況.
> 不論是否本科系, 如果是這類題做為區分的關鍵, 那就是能否
> 發展 "系統支援程式" 還是只做 "應用程式" 的差別. 不過,
> 台灣多數是利用已開發商做好的支援程式去做應用程式(AP).
不管是不是科班的,只要有心,人人都可以讀懂 "Operating System Concepts"。
這些都只是 knowing factor,只要有心,人人都可學 :)
為什麼科班的學生的表現常常會不如預期?
以前我也很懷疑這點,現在我似乎了解了。
discipline,這是學校沒教給資訊科系學生的東西。
這使的學生的專業性無法突顯出來,只是表現出一些知識。
可惜,知識又是最廉價的。智彗、態度、方法和記律的表現才更重要。
這些都是大學所不教的 skill。
有本書可以參考:
http://www.amazon.com/gp/product/0321305493/
學校其實是做這種訓諫的最好場所。
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 220-139-85-89.dynamic.hinet.net