unix強大的根本原因:
1、簡潔,僅僅提供幾百個系統呼叫並且有乙個非常明確的設計目的
2、檔案對待所有東西,通過一套相同的系統呼叫介面來進行對資料和裝置的操作
3、由於用c語言編寫,移植性強
4、程序建立非常迅速,使用fork()系統呼叫。
5、程序間通訊元語,程序間通訊機制
linux是類unix系統,linux核心是公開軟體,linux用途廣泛。
linux系統的基礎是核心、c庫、工具集和系統的基本工具。
核心:管理者,作業系統的核心
通常乙個核心由負責響應中斷的中斷服務程式和網路、程序間通訊等系統服務共同組成。
提供保護機制的現代系統:核心獨立於普通應用程式,一般處於系統態,擁有受保護的記憶體空間和訪問硬體裝置的所有許可權。核心空間:系統態與被保護的記憶體空間。
應用程式在使用者空間執行,只允許使用部分系統資源和特定系統功能,不能直接訪問硬體,不能訪問核心劃給別人的記憶體範圍。
核心執行時,系統以核心態進入核心空間。執行普通使用者程式時,系統以使用者態進入使用者空間。
系統執行的應用程式通過系統呼叫來與核心通訊。
unix核心通常需要硬體系統提供頁機制管理記憶體;
初期的linux系統也需要mmu,有的特殊版本不依賴。
單核心與微核心設計之比較
單核心:
整體上作為乙個單獨的大過程,執行在乙個單獨的位址空間。
核心直接呼叫函式。
linux是單核心。
微核心:
劃分為多個獨立過程(伺服器),需特權服務的伺服器執行在特權模式下,其他執行在使用者空間。
通過訊息傳遞處理通訊。
ipc機制的開銷多於函式呼叫。
訊息傳遞需要一定的週期。
實際基於微核心的系統都讓大部分或全部伺服器位於核心。
第一章讀書筆記
本章內容主要講的是android系統移植和驅動開發概述,通過本章的學習知道了學習linux驅動程式設計一定要了解linux驅動只與linux核心有關,與客戶的使用的linux系統無關。也就是說,不管是那個linux系統,只要使用了同樣的linux核心,驅動就可以通過。唯一可以判斷的linux核心是否...
第一章讀書筆記
android的系統架構分為4層 第一層 linux核心。第二層 c c 庫。第三層 android。第四層 應用程式。android移植可兩個部分 應用移植和系統移植。目前linux核心主要維護3個版本 linux2.4,linux2.6和linux3.x,大多數linux系統都使用了這3個版本的...
第一章讀書筆記
若給android增加新的驅動,則hal也要做出相應修改。不同的linux版本的驅動程式並無法通用,那麼通過判斷linux核心版本號是否相同,可以檢驗驅動是否可以通用。目前最廣泛的核心版本應該是linux2.6。電腦或者手機等不同硬體裝置越來越豐富,則需要更多的linux裝置驅動來完成硬體裝置間的互...