基本介紹
主要參考:
Linux 系統中的 POSIX 接口詳細介紹_linux posix-CSDN博客
POSIX(Portable Operating System Interface,可移植操作系統接口)是由 IEEE(Institute of Electrical and Electronics Engineers)定義的一組操作系統接口標準。它的目標是為應用程序提供一套與操作系統無關的接口,使得這些應用程序能夠在不同的 POSIX 兼容系統上編譯和運行。
POSIX 標準包含了進程管理、文件管理、網絡通信、線程和同步、信號處理等方面的功能。這些接口定義了函數、數據類型和常量等,為開發者提供了一個可移植的方法來與操作系統進行交互。
POSIX 接口的設計基于 Unix 操作系統的經驗和理念。它通過定義一組通用的 API,將底層操作系統的功能封裝起來,從而提供了與具體操作系統無關的高級功能。
POSIX 接口定義了一系列函數、數據類型和常量,這些接口分為不同的模塊,涵蓋了進程管理、文件管理、網絡通信、線程和同步、信號處理等各個方面的功能。開發者可以使用這些接口來編寫可移植的應用程序,而無需關心底層操作系統的實現細節。
更詳細的介紹:
posix是什么都不知道,就別說你懂Linux了!
更多待補充。
認識Nuttx和XiaomiVela
參考如下網站,先認識Nuttx
NuttX實時操作系統介紹(最詳細)-CSDN博客
NuttX是一個成熟的實時操作系統,于07年由Gregory Nutt先生正式開源,2016年被三星選為TizenRT操作系統的內核,2019年在小米的推動下正式進入Apache基金會,經過開源社區多年的不懈努力,NuttX功能豐富,性能穩定,商業化成熟度高,Fitbit最近兩代的手環產品和索尼多款消費級產品都是基于NuttX開發的。
NuttX可運行于各種處理器架構和硬件平臺上,包括ARM、MIPS、AVR等其重點遵從特定的標準并且盡量 可伸縮良好且可適應從8位到32位單片機環境,在stm32上也能跑。Nuttx主要遵循的標準是 Posix和ANSI標準。
Xiaomi Vela 項目,是小米基于開源實時操作系統NuttX打造的嵌入式物聯網軟件平臺。
iot.mi.com/vela
小米基于?Apache NuttX 開發了為解決物聯網碎片化而生的,物聯網領域自研的嵌入式軟件平臺——Xiaomi Vela。在各種不同的物聯網硬件上提供統一的軟件平臺,支持高性價比的MCU設備,為IoT的繁榮構建基礎設施。
Xiaomi Vela 通過組件化能力,做到高度可伸縮、可裁剪,支持豐富的組件和易用的框架。同時,可以很方便的去支持功能差異跨度極大的各種物聯網設備。還與 Linux 保持高度兼容性,適合做 Linux 的平替,幫助硬件實現降本。并基于物聯網的特性,在多核異構、安全、超低功耗渲染和連接方面都建設了獨有的能力。
IoT領域跟傳統的PC和手機行業相比,最大的差異點就是IoT設備極其碎片化,這個碎片化給小米自身以及整個行業帶來了效率低下的問題(代碼的不可復用、軟件的重復建設)。隨著IoT行業的高速發展,到2030年全球還會新增150億IoT設備,所帶來的碎片化問題只會是越來越嚴重。因此,迫切的需要一個統一的軟件平臺來打通碎片化的IoT應用,讓其能夠和諧共通。
補充:小米開發者平臺
開發者平臺 (mi.com)
更多待補充。
Nuttx源碼和文檔
Nuttx的源碼在github上可以獲取:
The Apache Software Foundation · GitHub
可以看到,nuttx是屬于Apache的產品之一,我們在其工程上搜索nuttx相關的工程項目:
最重要的就是nuttx和nuttx-apps
其中,nuttx是系統內核,nuttx-apps是nuttx集成好的一些應用。
我們點進去,就能看到這兩個項目的目錄結構。
二者點進去的網站如下:
nuttx
GitHub - apache/nuttx: Apache NuttX is a mature, real-time embedded operating system (RTOS)
nuttx-apps
GitHub - apache/nuttx-apps: Apache NuttX Apps is a collection of tools, shells, network utilities, libraries, interpreters and can be used with the NuttX RTOS
另外,nuttx有個在線文檔:
NuttX Documentation — NuttX latest documentation (apache.org)
其中,對目錄結構也有一些介紹:
Nuttx內核的目錄結構
Directory Structure — NuttX latest documentation (apache.org)
Nuttx應用層的目錄結構
Applications — NuttX latest documentation (apache.org)
更多待補充。
Linux的API手冊
Linux基本上是兼容Posix標準的。
因此在一定程度上,也是可以參考Linux的API接口的。
首頁 - 《Linux API速查手冊》 - 書棧網 · BookStack
接口列表(可讀性不太好)
Linux manual pages: all pages, by section (man7.org)
更多待補充。