探索Windows的內部機制所需的基礎

來源:互聯網
上載者:User

 

 

探索Windows的內部機,分析Windows各種系統機能的實現方式,並不那麼難。只要有一定的基礎就可以開始這方面的學習。以我的學習經曆來說,我覺得在開始深入學習Windows之前,最好有如下的基礎:

1.         熟練使用C語言   你至少要對C中的指標了如指掌,知道如何使用指標訪問數組。知道數組並不是僅可通過下標來訪問的。如果你看過很多遍《C缺陷和陷阱》並認為這本書很棒。那就太好了。

 

2.         一定的彙編基礎   瞭解基本的彙編語句,對x86架構的彙編指令有基本的瞭解。如果在學校認真學習過組合語言這門課,那麼就足夠了。在深入學習Windows時,你會遇到不少彙編代碼,很多時候你需要使用一些工具來反編譯一些東西,此時你彙編水平的高低就直接有影響了。

 

3.         對Windows API很熟悉  可以直接用API開發小規模的程式,瞭解Windows的訊息機制,至少要看過《Windows程式設計》(上、下),如果深入學習過《Windows核心編程》那就更好。

 

4.         掌握基本的資料結構   至少應該達到能很容易的用C實現一個雙向鏈表吧?基本上掌握了《資料結構》這門課,就差不多了。否則,學習中遇到的很多複雜結構,將會使你陷入雲霧裡,不知如何下手。

 

5.         學習過《作業系統》  對處理器調度、虛擬記憶體、I/O裝置管理有基本的認識。知道什麼是中斷,引入中斷的目的對CPU的工作方式有基本瞭解。這門課算是總的理論基礎課了。你對這門課的掌握程度將直接影響你的學習進度,尤其是你要看《Windows Internals 4th》這本書時。

 

6.         對物件導向有一定的瞭解  

 

上面是一些基本的硬性要求,下面的是一些軟性要求:

1.         要經常問:為什嗎?   沒有質疑的精神,探索從何而言?

2.         要有耐心    學習是一個較長的過程,探索Windows內部時,有時確實讓人很有挫折感,這時千萬不要急躁,耐心才能保證你終有所成。

3.         要細心      這個。。。。不用說了吧?

4.         要多思考   不要把書中內容當作金科玉律。

5.         要多總結   這樣知識才能變成自己的。

 

當然,有一本好書,也是必須的。我推薦如下:

《Inside Windows 2000》或者《Windows Internals 4th》

《Undocumented Windows 2000 Secrets》

 

或許有人認為沒有必要探索Windows的內部機制,這個問題仁者見仁、智者見智,不過我相信你如果對Windows的內部機制有很深的瞭解,那麼你一定能寫出更高效、更能利用系統優勢的程式來。並且,當程式出現Bug時,我相信你更有把握解決它們。知其然,而不知其所以然的感覺,確實很糟J

 

上述僅是個人所見,不足之處還請多多指教。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.