驅動介面 + 核心 + 系統呼叫 + shell、庫函式、應用軟體
作業系統通過裝置驅動介面呼叫相對應的硬體。
linux不是乙個作業系統
linux是作業系統中的核心,即linux kernel
gnu/linux:採用linux核心的gnu作業系統
程序排程是核心的核心,所有的模組都與程序排程模組存在依賴關係,因為他們都需要依靠程序排程程式來掛起(暫停)或重新執行它們的程序。
記憶體管理模組用於確保所有的程序能夠安全地共享機器主要記憶體區,同時記憶體管理模組還支援虛擬記憶體的管理方式,使得linux支援程序使用比實際記憶體空間多的記憶體容量。
檔案系統模組用於支援對外部裝置的驅動和儲存,虛擬檔案系統模組通過對向所有的外部儲存裝置提供乙個通用的檔案介面,隱藏了各種硬體裝置的不同細節,提高相容性。程序排程不直接對裝置進行操作,而是對通用的檔案介面。
計算機硬體主要包含5部分:運算器、控制器、儲存器、輸入裝置、輸出裝置
嵌入式系統硬體主要包含:處理器(cpu)、匯流排、輸入輸出介面、(前三個一般都已經整合在soc上)、儲存器、輸入輸出裝置
(1)分類:
內部匯流排是微機內部各外圍晶元與處理器之間的匯流排,用於晶元一級的互連;
系統匯流排是微機中各外掛程式板與系統板之間的匯流排,用於外掛程式板一級的互連;
外部匯流排則是微機和外部裝置之間的匯流排,微機作為一種裝置,通過該匯流排和其他裝置進行資訊與資料交換,它用於裝置一級的互連。
ahb:高效能匯流排,主要用於高效能、高時鐘頻率的系統模組,如cpu、dsp、dma之間的連線
apb:高階外圍匯流排,主要用於低頻寬的周邊外設之間的鏈結,(apb橋)如uart、usb、spi、i2c之間的連線
高頻寬向低頻寬的轉換需要橋作為中間轉換。
1、什麼是platform(平台)匯流排?
相對於usb、pci、i2c、spi等物理匯流排來說,platform匯流排是一種虛擬、抽象出來的匯流排,實際中並不存在這樣的匯流排。
2、那為什麼需要platform匯流排呢?
其實是linux裝置驅動模型為了保持裝置驅動的統一性而虛擬出來的匯流排。因為對於usb裝置、i2c裝置、pci裝置、spi裝置等等,他們與cpu的通訊都是直接掛在相應的匯流排下面與我們的cpu進行資料互動的,但是在我們的嵌入式系統當中,並不是所有的裝置都能夠歸屬於這些常見的匯流排,(比如i2c掛載在apb匯流排下,lcd掛載在ahb匯流排下,camera掛載在i2c匯流排下,)所以linux驅動模型為了保持完整性,將這些裝置掛在一條虛擬的匯流排上(platform匯流排),而不至於使得有些裝置掛在匯流排上,另一些裝置沒有掛在匯流排上。
嵌入式系統
嵌入式開發的相關領域 搞嵌入式若能熟悉嵌入式應用的一些主要領域,這樣的人更受企業歡迎。主要的相關 領域包括 a 數字影象壓縮技術 這是嵌入式最重要最熱門的應用領域之一,主要是應掌握mpeg 編譯碼演算法和技術,如 pda 高精電視 機頂盒等都涉及mpeg高速解碼問 題。b 通訊協議及程式設計技術 這...
嵌入式系統
嵌入式系統就是計算機系統的一類,就是被塞進其他裝置的計算機作業系統。我的嵌入式老師只用了三個詞語就總結了嵌入式系統的精髓 專用的可裁剪的 計算機系統。包括嵌入式軟體開發的知識體系和背景 先說背景 計算機,領域內,知識體系,按層次分,可以分為 其中 此處,暫且不討論上層的純軟體,以及底層的硬體,只是簡...
嵌入式系統
硬體結構 軟體結構 作業系統 vxworks商用嵌入式系統的代表 嵌入式linux 採用的是linux的核心,大多數採用的是linux的微核心 微核心本身只提供一些最基本的作業系統功能,如任務排程 記憶體管理 中斷處理等,而類似於檔案系統和網路協議等附加功能則執行在使用者空間中 交叉編譯 交叉編譯 ...