搜尋
首頁系統教程LinuxLinux核心2.1單核心與微核心的應用體系分析與應用

目录

1、应用系统的两种形态1.1无操作系统应用体系

对于简单的SOC应用,如大部份简单功能的单片机应用都无需在系统中使用操作系统,这时应用程序是直接调用相应的驱动操作底层的硬件,如图:

这些结构,应用软件直接调用了设备驱动操作硬件。优点是:简单直接,效率高。适宜小而简单的系统。对于复杂系统,须要在不同功能里共享硬件资源的应用系统,此种方法就显著不适宜了。

1.2、有操作系统的应用体系

对于复杂应用系统,各功能模块之间须要共享硬件等资源的应用场景,则须要在应用体系内加入操作系统。为此,应用体系就如右图:

如图,有操作系统后红旗linux官网,应用程序可以不管具体的硬件细节,而都使用操作系统API的统一插口,这样利于大规模标准化开发,提升开发效率。

驱动程序向下也使用操作系统提供的标准设备插口,向上操作不同的硬件。借此对操作系统层屏蔽了硬件细节。操作系统因而显得更稳定和高效。

2、linux内核2.1单内核与微内核

目前操作系统有两种典型的内核实现模式:

Linux是一个单内核linux学习,运行在单独的地址空间上。不过,Linux吸取了微内核的精化,具有微内核所所具有的模块化设计、抢占式内核、支持内核线程以及动态装载内核模块的能力。同时,Linux还防止了微内核的设计缺陷嵌入式linux高级驱动教程,linux让所有模块都运行在内核态,直接调用函数,无须像微内核那样采用消息传递。

2.2Linux内核组成

如图所示,Linux内核主要由五个部份组成:

2.3进程调度

进程调度处于系统的中心位置,系统的其它部份都依赖于它。linux的进程共有六种状态,进程在整个生命周期中可以这几种状态中切换。

2.4显存管理

显存管理的主要作用是控制多个进程安全的共享主显存域。一个32位处理器的Linux的每位进程享有4G空间,通常0-3G属于用户空间,3G-4G属于内核空间。如右图

嵌入式linux驱动编程实验_嵌入式linux高级驱动教程_嵌入式linux驱动开发教程

2.5虚拟文件系统

Linux虚拟文件系统隐藏了各类硬件的具体细节,为所有设备提供了统一的插口。是对各个具体文件系统的一个具象。

如图,虚拟文件系统为下层的应用程序提供了统一的调用插口,对下则负责调用具体底层文件系统或设备驱动中实现的file_operations结构体中的成员函数。

2.6网路插口

網路插口提供了各類網路標準的存取和各類網路硬體的支援。 Linux網路插口分為

2.7進程間通訊

嵌入式linux驱动开发教程_嵌入式linux驱动编程实验_嵌入式linux高级驱动教程

#進程間通訊負責進程之間的通訊,包含訊號量、共享記憶體、訊息佇列、管道、UNIX域套接字等。

3、核心空間與使用者空間

現代的CPU其內部會分辨不同的工作模式,藉此分辨不同等級和權限的操作。

例如,ARM的8種工作模式:

在ARM環境中,Linux系統充分藉助CPU的硬體特點,實現了兩級的操作模式,使用者(usr)模式和管理模式(svc)。與此對應,在Linux系統中具有兩種空間:

3.1補充:關於軟中斷

qquad這兒有一張ARM的異常工作模式的圖表

正常執行時,ARM處於使用者模式,當CPU執行swi指令時,會手動步入系統模式(SVCmode),並跳到異常向量表。透過向量表再跳到對應的函數中去對swi進行回應。

這裡的SVC模式就是SupervisorCall的簡寫,英文為管理程式呼叫。

4、linux裝置驅動程式4.1linux系統中裝置分類

linux系統將週邊硬體分為三大類:

4.2linux驅動程式相關系統

如圖,字元裝置與區塊裝置都被對應到Linux檔案系統的檔案和目錄。

應用程式可透過套接字存取網路設備嵌入式linux進階驅動教學,並以兩種手段存取字元裝置與區塊裝置:

以上是Linux核心2.1單核心與微核心的應用體系分析與應用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:ITcool。如有侵權,請聯絡admin@php.cn刪除
Linux管理員的薪水是多少?Linux管理員的薪水是多少?Apr 17, 2025 am 12:24 AM

Linux管理員的平均年薪在美國為75,000至95,000美元,歐洲為40,000至60,000歐元。提升薪資可以通過:1.持續學習新技術,如雲計算和容器技術;2.積累項目經驗並建立Portfolio;3.建立職業網絡,拓展人脈。

Linux的主要目的是什麼?Linux的主要目的是什麼?Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

互聯網在Linux上運行嗎?互聯網在Linux上運行嗎?Apr 14, 2025 am 12:03 AM

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作是什麼?Linux操作是什麼?Apr 13, 2025 am 12:20 AM

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

使用Linux別名提高自定義命令快捷方式的生產率使用Linux別名提高自定義命令快捷方式的生產率Apr 12, 2025 am 11:43 AM

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux實際上有什麼好處?Linux實際上有什麼好處?Apr 12, 2025 am 12:20 AM

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

在Linux上掌握道德黑客的基本工具和框架在Linux上掌握道德黑客的基本工具和框架Apr 11, 2025 am 09:11 AM

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

如何學習Linux基礎知識?如何學習Linux基礎知識?Apr 10, 2025 am 09:32 AM

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)