基本介绍
主要参考:
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)
更多待补充。