这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » QNX内存保护

共4条 1/1 1 跳转至

QNX内存保护

院士
2023-05-21 00:53:42     打赏

QNX内存保护

对许多依照POSIX1.003.1标准实现的实时执行程序来说,它们的运行时环境通常是单进程、多线程的模型,线程之间没法做到内存保护,而这样的环境只是POSIX假设的多进程模型的一个子集,它不支持fork()函数。相比之下,QNX Neutrino利用MMU,在受保护的环境中实现了POSIX的线程模型。

一个真正的微内核会提供完整的内存保护,这个不仅适用于用户程序,也适用于OS组件,比如驱动程序、文件系统等。

针对内存保护,有以下几种情况:

1. 不提供内存保护:所有程序位于同一个地址空间,应用程序可以访问所有空间,效率较高,但是程序指针错误可能造成内核崩溃,典型的比如Nuttx平板模式。

QNX系统02.png

2. 单内核OS提供部分内存保护:用户层和系统层进行了隔离,内核和各种驱动、协议栈在同一个地址空间,应用程序在单独空间。内核模块处于一个保护空间,效率较高,应用程序无法访问,系统的稳定性也得到提高。由于内核模块处于保护空间,调试会比较困难。比如Linux系统。

QNX系统03.png

3. 微内核OS提供完整的内存保护:内核处于一个被保护的地址空间,驱动程序、网络协议及应用程序等处于程序空间中。

QNX系统04.png





关键词: QNX          操作系统     RTOS     内存保护    

专家
2023-05-21 01:31:56     打赏
2楼

感谢楼主的分享,很实用了。


专家
2023-05-21 01:35:27     打赏
3楼

感谢楼主的分享,很实用了。


高工
2023-05-21 05:50:24     打赏
4楼

学习一下


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]