SylixOS 經得起檢驗的國產作業系統 (一)
說起國產作業系統,大多數人恐怕都得無語。這裡我介紹一款國人自己開發的嵌入式實時作業系統SylixOS,對嵌入式有興趣的朋友可以關注一下。官網:http://www.sylixos.com。
實時作業系統和通用的分時作業系統的區別
實時系統(Real-time operating system,RTOS)的正確性不僅依賴系統計算的邏輯結果,還依賴於產生這個結果的時間。換句話說,系統設計時所有的事件都可以在指定的時間內得到響應。如果系統關鍵任務響應時間都滿足這條標準,則這樣的實時系統可稱為硬實時系統。
與通用的分時作業系統不同(Linux、Windows、Unix等),實時作業系統在航空航天、軍事與工業自動化領域更具優勢,首先實時作業系統有著分時作業系統無法比擬的響應時間確定性,實時作業系統從排程器演算法,到中斷響應系統,到訊息傳遞機制等所有的核心演算法時間複雜度都是O(1),它表示系統的響應速度不依賴於系統任務的多少,負載的輕重,而只依賴於優先順序的設計,就算當前系統滿負荷執行,優先順序高的事件發生後,系統還將會在指定的時間內立即響應事件。由於這種設計理念和演算法上的優勢,根據相關數學理論,分時系統在負載嚴重的情況下是不能通過提升處理器效能來獲得確定的響應時間。
這種演算法上的優勢是通用分時系統所難以比擬的,而分時系統則更多考慮的是系統易用性、平衡性和資料吞吐率。所以實時系統與分時系統設計思想和應用領域完全不同,不存在替代關係,而是一種互補關係。
SylixOS簡介
SylixOS是一款為嵌入式系統設計的硬實時作業系統(RTOS)。此係統於2006年開始開發工作。設計之初只是為了驗證相關作業系統演算法,後來經過多年的持續開發與改進,SylixOS已經不只是一個實時作業系統,它已經成為一個可靠穩定,功能全面,易於開發除錯的實時嵌入式系統開發平臺。
SylixOS的誕生可以擺脫國內一些關鍵性裝置對國外嵌入式作業系統的依賴,為國內的嵌入式資訊科技行業提供一個全新的選擇。
目前SylixOS已經成功應用於工業控制與通訊、武器裝備及國家安全、新能源應用等國家基礎領域中。
需要說明的是:為了保證SylixOS能夠持續開發,並且吸引大批開發人員參與測試,所以SylixOS目前是以公開原始碼專案的形式存在。
SylixOS定位
SylixOS是一款嵌入式硬實時作業系統,同其類似的作業系統,全球比較知名的還有VxWorks(主要應用於航空航天、軍事與工業自動化領域)、RTEMS(起源於美國國防部導彈與火箭控制實時系統)、ThreadX(主要應用於航空航天與數碼通訊)等。
從全球範圍上看,SylixOS作為實時作業系統的後來者,在設計思路上借鑑了眾多實時作業系統的設計思想,其中就包括RTEMS、VxWorks、ThreadX等,使得具體效能引數上達到或超過了眾多實時作業系統的水平,成為國內實時作業系統的最優秀代表之一。
當前主要功能與特點
SylixOS作為搶佔式多工硬實時作業系統,具有如下功能與特點:
- 優秀的實時效能(任務排程與切換、中斷響應演算法都是O(1)時間複雜度演算法)
- 支援無限多工
- 搶佔式排程支援256個優先順序
- 支援協程(windows稱為纖程)
- 支援虛擬程序
- 支援優先順序繼承,防止優先順序翻轉
- 極其穩定的核心,很多基於SylixOS開發的產品都需要7x24小時不間斷執行
- 核心CPU佔用率低
- 柔性體系(Scalable)
- 核心程式碼使用C編寫,可移植性好
- 支援緊耦合同構多處理器(SMP),例如:ARMCortex-A9 SMPCore
- 全世界獨一無二的硬實時多核排程演算法
- 支援標準I/O介面
- 支援IEEEPOSIX作業系統介面規範
- 支援眾多標準檔案系統:FAT、YAFFS、ROOTFS、PROCFS、NFS、ROMFS等等
- 支援檔案記錄鎖,可支援資料庫
- 支援統一的塊裝置CACHE模型
- 支援記憶體管理單元(MMU)
- 支援第三方GUI圖形庫,如:Microwindows、µC/GUI、ftk等等
- 支援動態裝載應用程式、動態連結庫以及模組
- 支援擴充套件系統符號介面
- 支援標準TCP/IPv4/IPv6雙網路協議棧,提供標準的socket操作介面
- 支援AF_UNIX,AF_INET, AF_INET6協議域
- 內部整合眾多網路工具,例如:FTP、TFTP、NAT、PING、TELNET、NFS等等
- 內部整合shell介面、支援環境變數(與Linux操作習慣基本相容)
- 內部整合可重入ISO/ANSI C庫(支援80%以上標準函式)
- 支援眾多標準裝置抽象,如:TTY、BLOCK、DMA、ATA、GRAPH、RTC、PIPE等。同時支援多種工業裝置或匯流排模型, 如:CAN、I2C、SPI、SDIO等
- 支援熱插拔裝置
- 支援裝置功耗管理
- 裝置模型支援多路I/O複用介面與非同步I/O介面
- 核心、驅動、應用程式支援GDB除錯
(本篇結束)
相關推薦
SylixOS 經得起檢驗的國產作業系統 (一)
說起國產作業系統,大多數人恐怕都得無語。這裡我介紹一款國人自己開發的嵌入式實時作業系統SylixOS,對嵌入式有興趣的朋友可以關注一下。官網:http://www.sylixos.com。 實時作業系統和通用的分時作業系統的區別 實時系統(Real-t
SylixOS 經得起檢驗的國產作業系統 (五)
標準I/O 又稱作同步I/O操作,SylixOS支援POSIX規定的絕大多數同步輸入輸出操作,他們分別是:creat、open、close、unlink、read、write、readv、writev、pread、pwrite、pread64、pwrite64、ioctl、stat、stat64
SylixOS 經得起檢驗的國產作業系統 (三)
本篇文章將介紹SylixOS軟體框架以及POSIX標準。歡迎大家造訪SylixOS官網:http://www.sylixos.com。 軟體框架介紹 SylixOS使用微核心設計,核心簡潔高效,執行穩定快速,作業系統本身支援編譯時裁剪。同時由於
SylixOS 經得起檢驗的國產作業系統 (四)
核心服務 SylixOS核心小巧,它提供的作業系統最基礎的服務,這些服務包括: 1. 執行緒管理 2. 協程管理 3. 事件標誌組管理 4. 中斷管
作業系統(一):簡單輪轉排程
昨天寫作業系統的實驗報告,開始思路很明確,實現起來就碰到麻煩了。花了很多時間去糾正連結串列建立問題,輪轉排程演算法邏輯問題等一系列細節問題。 花了四個多小時去完成程式碼,本來就不擅長程式設計,就只能多花時間了,但真正地做出來覺得再多時間也是值得的。 下面是實驗報告要求及其
作業系統(一)---Linux與Windows對比
轉自:https://blog.csdn.net/lou19991221/article/details/80113456 Linux 什麼是linux? Linux是一套免費使用和自由傳播的類Unix作業系統,是一個多使用者、多工、支援多執行緒和多CPU的作
VMware workstation批量建立虛擬機器和自動化安裝作業系統(一)
一. 簡述 作為從事IT行業運維工作的Linuxer,大多情況下需要在測試環境中部署業務系統並進行測試,在沒有足夠的計算儲存網路條件下,使用虛擬機器進行虛擬叢集的建立和使用,是一種不錯的學習和實踐方式。 本篇部落格主要介紹如何使用VMware workstation進行虛擬
uCOS-II學習筆記:實時作業系統(一)
1.前後臺系統:前後臺系統的架構用一句話來形容的話,就是一個大的迴圈,加上中斷,就形成了一個整的體系。 假設來了中斷需要處理模組3,如果模組3的處理是最緊迫的,但是當前cpu 只執行到模組1, 這樣的話,必須還要承受模組2的執行時間延遲,才能輪到模組3的處理,當模組越多的
作業系統(一)-------作業系統概述
作業系統原理課的第一講 作業系統概述,在這一講裡頭,我們將學習以下這些內容 首先我們通過一個程式的執行過程 來看一下,作業系統做了什麼,然後我們介紹作業系統的定義和它的作用 作業系統是一個軟體,那麼相對於其它的軟體 它有哪些特徵呢?有哪些特點呢 另外我們介紹一些
深入解析Mac OSX & IOS 作業系統(一)
Unix 的系統目錄 OSX 是一個符合UNIX標準的系統,因此也有那些標準的UNIX具有的目錄結構 /bin UNIX中的二進位制程式,這是常用UNIX命令所在的地方 /sbin 系統程式,這些二進
自己動手寫作業系統(一)
從去年就想好好的讀一下這本書,跟著書上做一下,但是給耽擱了,現在就好好的開始探索這麼書吧! 雖然我很想在這裡吹一段這本書有多麼的厲害,但是!我第一章都沒有看完,吹不了!!!等我讀的個七七八八再回來吹吧。 我是在搜尋嵌入式的學習路線中發現的這本書,當時他們說這本書很有趣,操作
面試整理之作業系統(一)
前言 前幾天騰訊第3次一面通過了然後被取消趕著走校招路線= = 還是要繼續努力的,把之前整理的作業系統面試知識點放在部落格上 知識點主要整理自教材,以及零零碎碎參考了一些部落格,等晚點再放參考連結。 1、程序和執行緒的區別 程序:一個程式在一個數
現代作業系統(一)
一.引論 多數計算機有兩種執行模式:核心態和使用者態。軟體中最基礎的部分是作業系統,它執行在核心態(管態、核心態),在這個模式下,作業系統具有對所有硬體的完全訪問權,可以執行機器能夠執行的任何指令。軟體的其餘部分執行在使用者態,在使用者態下,只使用了機器指令中
SylixOS熱插拔概述(一)
1. 熱插拔系統簡介 1.1 熱插拔系統 熱插拔裝置指支援帶電操作的一類裝置,允許使用者不關閉系統、不切斷電源情況下取出或更換裝置。熱插拔系統用於管理、監控系統中所有熱插拔裝置的插入、拔出狀態,從而能夠讓系統內部自動完成此類裝置的建立、刪除而無需使用者手動處理。同時,
我是如何學習寫一個作業系統(一):開篇
前言 有人說程式設計師的三大浪漫分別是編譯原理、作業系統和計算機網路 在之前完成了一兩個小軟體和網站後遇見了編譯原理,也不知道為什麼就傻傻的學,還寫了一個從零寫編譯器的系列學習筆記,不過都是小打小鬧,只能算作摸到了一點點入門的門檻。再後來想深入學習的時候,因為暑假在家很多書買來的話再帶去學校很麻煩,就索性
Linux 作業系統的使用(一)
1. 使用終端瀏覽檔案系統 cd 更換路徑,可是當前資料夾內的相對路徑,也可是檔案系統內部的絕對路徑 pwd 檢視當前資料夾的位置 [email protected] ~ 包含了使用者名稱pi, 電腦名raspberry,~ 是home 目錄的縮寫(/h
機器人作業系統(ROS)淺析(肖軍浩 博士 譯) 學習筆記一(第一章到第五章)
機器人作業系統(ROS)淺析(肖軍浩 博士 譯) 學習筆記 第一章: 第 1 章 緒論 1.1 選擇 ROS 的理由 分散式計算 現代機器人系統往往需要多個計算機同時執行多個 程序,例如: (1)一些機器人搭載多臺計算機,每臺計算機用於控制機器人的 部分驅動器或感測器
作業系統——第五章筆記(一)
虛擬儲存器的基本概念 1.分析常規儲存器管理不足的原因: 1)常規儲存器管理方式的特徵 一次性:作業在執行前一次性地全部裝入記憶體 駐留性:作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。 2)一次性及駐留性在程式執行時是否是必須的? 不是必須的,程式執行有區域性性。 2.
作業系統——第六章筆記(一)
輸入輸出系統——I/O系統 系統管理: 1)管理物件: I/O裝置和相應的裝置控制器(I/O系統組成) 2)基本任務: 完成使用者提出的I/O請求, 提高I/O速率、改善I/O裝置的利用率。 為更高層程序方便使用裝置提供手段 I/O系統的功能、模型和介面 1.1
作業系統——第四章筆記(一)
儲存器管理 儲存部件的層次: 主存:儲存程序執行時的程式和資料 暫存器:速度最快,價格昂貴容量不大,一般以字為單位,只要存放指令一次操作的資料就夠了 。 快取記憶體(速度快、存放部分記憶體資料、硬體自動處理) 一種速度比記憶體快的儲存裝置,一般同暫存器一樣整合在CPU中。