我是一名電腦系的學生,總想弄明白我們現在學的電腦到底是怎麼工作的。而整個電腦知識是一個龐大的理論體系,且是分為很多階層的,簡單說有硬體層,軟體層。而理解這些不同層次的知識的關鍵在於理解層次之間的借口,借口理解透徹了,那你就能把各層次的知識融為一體,這些知識也必然可以為你所用了。研究中介軟體最好的就是作業系統了,但是我們學習的作業系統課程太過於理論化和複雜化,學完了仍然不知所云,可以說大部分理科生學到的只是“文科”的作業系統。為了我們能真正理解一個作業系統的具體實現,我們就以一個小型嵌入式系統UCOS在ARM9平台上運行為執行個體,詳細講解作業系統是怎麼工作的。
在這個過程中,我們會帶著以下疑問(當然,我只是大概的寫一些,你可以提出更多的問題):
電腦到底是怎麼執行程式的?
我們用彙編或者C語言寫的程式是怎麼在具體硬體平台上啟動並執行?我們所熟悉的編譯器和連接器到底幹了什嗎?
設計作業系統的目的是什嗎?
作業系統是怎樣充分利用硬體資源的?
學習建議:
作業系統的精髓在於整體的,完美的生命力。看懂其中一部分內容是不夠的,應該從整體層次上欣賞它,它是有生命的。
學習他的過程中,我們要主動動腦筋提出為什麼,它為什麼要這樣,還有沒有更好的解決方案。還有一點要特別注意,我們在學習每一個知識點時都要問問自己它這麼設計或者這麼做的目的是什麼。我們只有知道了目的才有可能把它弄明白,才能悟出其中的道理。
好了,廢話不多說了。別忘了在這個過程中欣賞你認為那些值得欣賞的技術和方法哦!!!
所用到的資料我都放到了這裡
第一部分:http://download.csdn.net/detail/zhanglianpin/4124516
第二部分:http://download.csdn.net/detail/zhanglianpin/4124524
送給大家一句話:
Read the source code with thinking!!!
張連聘
2012-2-8
郵箱:zhanglianpin@126.com