QNX作業系統簡介

2021-10-11 21:05:21 字數 2199 閱讀 8531

說到作業系統,先來列舉一些 unix 和 類unix 作業系統

分類作業系統

unix system v家族

a/ux、aix、hp-ux、irix、lynxos、sco openserver、tru64、xenix、solaris、os/2

bsd unix-386bsd家族

bsd/os、freebsd、netbsd、nextstep、mac os x、ios、openbsd、sun os、 opensolaris

unix-like

gnu、linux、android、debian、ubuntu、red hat、linux mint、minix、qnx、gnu/linux、gnu/hurd、debian gnu/hurd、gnu/kfreebsd、startos

其他dos、ms-dos、windows、react os

qnx是一種商用的分布式、嵌入式、可規模擴充套件、遵從posⅸ規範的類unix實時作業系統。

qnx是微核心架構,其核心僅提供4種服務,分別為:程序排程、程序間通訊、底層網路通訊和中斷處理。驅動程式、協議棧、檔案系統、應用程式等都在微核心之外記憶體受保護的安全的使用者空間內執行,元件之間能避免相互影響,在遇到故障時也能重啟。

下圖為qnx系統架構圖:

對許多依照posix1.003.1標準實現的實時執行程式來說,它們的執行時環境通常是單程序、多執行緒的模型,執行緒之間沒法做到記憶體保護,而這樣的環境只是posix假設的多程序模型的乙個子集,它不支援fork()函式。相比之下qnx neutrino利用mmu,在受保護的環境中實現了posix的執行緒模型。

針對記憶體保護,有以下幾種情況:

不提供記憶體保護:所有程式位於同乙個位址空間,應用程式可以訪問所有空間,效率較高,但是程式指標錯誤可能造成核心崩潰,典型的比如nuttx平板模式。

單核心os提供部分記憶體保護:使用者層和系統層進行了隔離,核心和各種驅動、協議棧在同乙個位址空間,應用程式在單獨空間。核心模組處於乙個保護空間,效率較高,應用程式無法訪問,系統的穩定性也得到提高。由於核心模組處於保護空間,除錯會比較困難。比如linux系統。

微核心os提供完整的記憶體保護:核心處於乙個被保護的位址空間,驅動程式、網路協議及應用程式等處於程式空間中。

通過posix執行緒建立原語提供的執行緒服務;

通過posix訊號原語提供的訊號服務;

訊息傳遞服務,微核心處理整個系統中所有執行緒之間的訊息路由;

通過posix執行緒同步原語提供的同步服務;

排程服務,微核心使用各種posix實時排程策略來排程執行緒執行;

定時器服務,微核心提供了豐富的posix定時器服務集;

程序管理服務,微核心與程序管理器一起組成乙個叫procnto的單元,程序管理器部分負責管理程序、記憶體,還有路徑名空間。與執行緒不同,微核心本身不會被排程執行。處理器只在微核心中執行系統呼叫、異常、硬體中斷響應等。

qnx neutrino作業系統的微核心,管理一組協作的程序,如下圖所示,這種結構不是一種層級的組織,更像是乙個團隊,因為不同的程序可以通過核心來協調互動。qnx neutrino充當乙個「軟體匯流排」的角色,可以在需要的時候動態的插入和移除系統模組。

華麗的圖形介面。

速度極快,其他作業系統沒有辦法和它相比。

系統非常安全:qnx上沒有計算機病毒,這是和linux一樣的,所以qnx rtp不存在被病毒破壞資料的危險,只有在微軟windows系統中才會有被病毒感染的噩夢。另外,qnx的使用者管理相當出色,它絕對不會讓乙個沒有輸入正確密碼的人闖入計算機系統中。

qnx有乙個最好的網頁瀏覽器:qnx裡的網頁瀏覽器叫做「voyager」,瀏覽網頁的速度快得象火箭。和voyager相比,微軟的ie和網景公司的nc瀏覽器簡直就是一輛破舊的老爺車。但是這個voyager瀏覽器目前還有些bug,qssl公司的軟體工程師正在改進它。

QNX作業系統

說到作業系統,先來列舉一些 unix 和 類unix 作業系統 分類作業系統 unix system v家族 a ux aix hp ux irix lynxos sco openserver tru64 xenix solaris os 2 bsd unix 386bsd家族 bsd os fre...

作業系統簡介

定義 作業系統就是乙個協調 管理和控制計算機硬體資源和軟體資源的控制程式。為何要有作業系統 因為計算機硬體系統是乙個複雜的系統,主要由 處理器 儲存器 輸入輸出控制系統和各種外部裝置組成。如果沒有作業系統,使用者必須了解該系統的每乙個細節,才能有效使用計算機。這樣會嚴重影響使用者的工作效率,而且會大...

作業系統簡介

現代的計算機系統主要是由乙個或者多個cpu,記憶體,硬碟,鍵盤,滑鼠,顯示器,印表機,網路介面及其他輸入輸出裝置組成。一般而言,現代計算機系統是乙個複雜的系統。程式設計師無法把所有的硬體操作細節都了解到,管理這些硬體並且加以優化使用是非常繁瑣的工作,這個繁瑣的工作就是作業系統來幹的,有了他,程式設計...