windows核心編程–精華

來源:互聯網
上載者:User
學習《 windows 核心編程》

   

 

u       字元集,一切軟體的基礎,單字集(用 1 個位元組表示一個字元),雙位元組字元集( DBCS, 並不是用 2 個位元組表示一個字元哦,而是用 1 個, 2 個,或多個位元組的混合來表示字元),寬位元組字元集( unicode 用 2 個位元組來表示一個字元)。對 windows 作業系統來說, windows 98 核心用 ANSI , windows ME 用 unicode , windows 2000 以後的版本也用 unicode ,對於我們在 windows 上開發, windows2000 以後的版本,我們即可以開發 ANSI 版本,也可以開發 unicode 版本,他們都能夠很好的運行,但是重效率和軟體的國際化來看的化,最後使用 unicode 進行編碼。 u       核心對象,被系統和應用程式用來管理各種資源,我們可以使用 API 來管理和使用核心對象,但是不能直接修改核心對象的資料結構,核心對象由核心所擁有,核心知道某個核心對象有沒有被使用等,核心對象被廣泛的使用在進程,線程。。。中用來管理。(核心即作業系統的本質,核心所在,進行系統的管理) u       進程,包含用來管理進程的核心對象和用來載入 exe 和資料等的地址空間。當一個 exe 開始運行時,它即對應一個進程, exe 的 main ()也即是進程入口函數,但是在進入 main ()之前還有 c , c ++運行庫的初始化。當建立一個進程時,就產生了一個唯一的執行個體控制代碼,它就是 winmain ()函數中要傳入的執行個體控制代碼,另外在主進程(可沒有非主進程的啊,但也可以認為主進程的子進程是非主進程,因為系統不儲存父子進程的關係,他們可以看作是相互獨立的)中可以建立它的子進程,用來對多個需要共同管理的線程進行管理。 u       作業,作業是進程的容器,可以統一地對一組進程增加一些額外的限制。有時候建立單個進程的作業也是有意義的,因為可以對單一進程施加一些進程本身所沒有的屬性。 u       線程,線程在進程中被建立,在建立進程時,預設的主線程即被建立。作業系統是用線程來完成任務的,因為進程不直接獲得作業系統的時間,線程可以認為是作業系統的最小的處理單位。在多線程編程中,首先要注意的就是線程的同步問題,還有線程池的使用。且最好不要使用全域或靜態變數。 u       纖程,比線程更小的單位,纖程是使用者對線程進行分割,然後自訂演算法實行對纖程的調用,系統的核心並不知道線程。 u       Windows 記憶體結構,每個進程都有它自己的虛擬記憶體, 32 位機,虛擬記憶體位 4G ,但是這 4G 並不都可以被使用者使用,它包含 NULL 指標, dos 相容區,檔案對應區,系統核心區,能被使用者使用的只有 2G 。當然現在 64 位元的機子可不是 2G 哦。 u       虛擬記憶體, windows 進行記憶體管理的方法之一,最適合用來管理大型物件和結構數組,也即相當於 RAM (即實體記憶體)的二級緩衝,系統先到 RAM 找,如找不到就到虛擬記憶體(頁檔案)找,找到了就載入到 RAM 中,然後執行。 u       記憶體對應檔, windows 的第二中記憶體管理方法,最適合用來管理大型資料流和單機上的資料共用。 與虛擬記憶體一樣,記憶體對應檔可以用來保留一個地址空間的地區,並將實體儲存體器提交給該地區。它們之間的差別是,實體儲存體器來自一個已經位於磁碟上的檔案,而不是系統的頁檔案。一旦該檔案被映射,就可以訪問它,就像整個檔案已經載入記憶體一樣。系統還使用記憶體對應檔,以便載入和執行 . e x e 和 D L L 檔案。 u       堆棧, windows 的第三中記憶體管理方法,最適合管理大量的小對象,例如鏈表等,線程,進程都有自己的堆棧,預設的大小位 1M ,也可以修改。

最後是DLL進階和SEH的使用。

 主要參考:        《 windows 核心編程》      機械工業出版社  jeffrey richter 著        《 windows 系統編程》        人民郵電出版社  求是科技        《 windows2000 編程技術內幕》    機械工業出版社

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.