赞
踩
作者:billy
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
说到操作系统,先来列举一些 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的线程模型。
针对内存保护,有以下几种情况:
QNX Neutrino操作系统的微内核,管理一组协作的进程,如下图所示,这种结构不是一种层级的组织,更像是一个团队,因为不同的进程可以通过内核来协调交互。QNX Neutrino充当一个“软件总线”的角色,可以在需要的时候动态的插入和移除系统模块。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。