Embedded 版 (精华区)
发信人: iceriver (Embedder), 信区: Embedded_system
标 题: QNX概述
发信站: 哈工大紫丁香 (2001年07月09日21:30:51 星期一), 站内信件
QNX是一种运行在Intel x86兼容处理器和一些RISC处理器(如PowerPC、MIPS)上的
操作系统。
操作系统是一种在计算机上运行的软件。它的主要任务是管理计算机上的系统资源
,并为用户提供使用计算机及其外部设备的接口。它的目的是提高计算机的各种资
源(如处理器、内存、磁盘、文件等)的利用率,提高计算机系统的可用性。
现在的计算机上运行的操作系统繁多,小至资源很少的嵌入式处理器所用的操作系
统,大到功能无比强大的巨型机所用的操作系统。这些操作系统从功能到性能各具
特色,为不同的计算机硬件及应用提供了不同的支持和服务。操作系统为计算机的
使用提供了最基本的程序运行环境和接口,是应用软件运行的基础,其运行效率和
性能直接影响到计算机应用系统的运行效果。在过去的几十年中,随着计算机、网
络技术的发展,操作系统一直处于不断发展和改进中,现在的操作系统不得追求功
能上更强大、更完备和更可靠,而且追求界面上更具友好性和方便性。人们将越来
越多的功能加入操作系统中,致使操作系统的体积越做越大。但是,随着应用领域
的扩大和增加,人们意识到操作系统仅单纯地追求功能上的强大是不够的,为了适
应不同的应用场合,还需要考虑系统的灵活性、可伸缩性以及可裁剪性。
QNX是一个很有特色的操作系统软件。它的与众不同的设计思路实现的是一个极为
灵活方便、可按照需要随意裁剪的系统,从而开拓了实现计算机应用的另一种路子
。
多任务和多用户操作系统
是遵循POSIX 1003.1标准设计实现的操作系统,在许多功能上与UNIX操作系统极为
相似,既支持多个用户同时访问,也支持多个任务同时执行,因此,它既是一个多
任务操作系统,也是一个多用户操作系统。
并行处理
随着计算机技术的发展,出现了多处理器体系结构的计算机。随之也出现了可提供
并行处理功能的操作系统以支持这种多处理器体系结构。在多处理器操作系统的统
一控制下,整个系统可以按照多指令流方式实现作业、任务的并行(因此人们称这
种操作系统为并行操作系统),以提高系统的计算能力和速度。
在并行操作系统中,多个进程在多个处理器上被“并行处理”,是真正的“同时执
行”,每个处理器同时执行着不同进程的指令。而在单处理器多任务操作系统中的
“同时执行”是指用户感觉上的同时执行,实际上多个进程按某种规则轮流使用处
理器。对后者,我们称之进程的并发执行。
QNX普通RTOS版本提供了一种单处理的操作系统,它的Neutrino版本可支持对称多
处理。
分布式系统
QNX运行在多台计算机组成的局域网上,它使任何一台计算机上的任何一个进程可
以和其它任何计算机上的任何进程通信,像与本机进程通信一样;它使任何一台计
算机上的任何一个进程可以使用其它任何计算机上的资源,像使用本计算机上的资
源一样。用户感觉与在一台集中式的多任务系统上工作没有什么不同,只是感觉可
使用一台的资源更多而已。这样操作系统叫做分布式操作系统。
利用QNX分布式操作系统,可以将许多台廉价的PC机连接起来,构成功能强大的计
算机群,解决某些使用昂贵的计算机才能解决的应用问题。利用QNX分布式操作系
统,很容易建立高可用机制。将每个任务都安排到两台不同的计算机上去执行,只
要两台机器不同时发生故障,任务总能得以完成,此时,关闭有故障的机器,不会
影响系统运行。有故障的机器修复后,可立即加入到系统中运行。
分时系统和实时系统
从操作系统能否满足时间敏感的应用要求来区分,可把操作系统分成分时操作系统
和实时操作系统。
分时操作系统按照相等的时间片调度轮流运行,追求某种意义上的公平。分时操作
由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级,自动计算进
程的优先级,而不由用户控制进程的优先级,自动计算进程的优先级是为追求某种
意义上的公平而使用的手段。例如,耗时长的进程和耗时短的进程如不加以区别,
对耗时短的进程就不公平,所以需要把耗时长的进程的优先级调得低于耗时短的进
程的估优先级。分时系统适用于一般的科学计算、办公事务处理等不要求在限定的
极短时间内得到结果的场合。分时系统完成一个任务所需时间不仅仅取决于任务及
计算机系统本身,还受计算机系统中有正在处理的任务的多少的影响,计算机系统
中正执行的任务越多,完成其中一个任务所需的时间越长。
实时操作系统能够在限定的时间内执行完规定的功能,并能在限定的时间内对外部
的一异步事件作出响应。执行完规定的功能和响应外部异步事件所需时间的长短是
衡量实时操作系统实时性强弱的指标。实时操作系统给用户提供控制进程调度的手
段,并给用户提供安排实时应用进程的依据。用户可以发挥自己的智慧,安排实时
应用,使系统在资源有限的情况下,支持尽可能多的实时应用;或者证明在这样的
系统资源状况下,不可能实现某些实时应用,要实现这些应用应必须必善系统资源
。
实时系统主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的
场合。
一般分时应用在实时系统上执行起来不会有什么问题,但实时应用却不能简单地由
分时系统来完成。与分时系统相比,实时系统更具灵活性,更能适应各种不同场合
的应用。
QNX操作系统对实时应用是理想的,它提供一个实时系统所需要的一切基本要素:
多任务、由优先级驱动的急者优先调度方式和和快速上下文切换。对各种实时性要
求高低不同的应用,QNX允许人们根据需要实施特定安排,使各种不同的应用有可
能在同一台运行QNX操作系统的计算机上得以理想地运行。
嵌入式系统
在智能化设备、仪器仪表的应用场合,出于对产品体积、成本等因素的考虑,往往
要求将计算机控制部分安装于设备内部且占用空间尽可能地小。在这种情况下,处
理器一般没有多少可用的内存,更没有可用的外存,而操作系统就安装在这有限的
内存中(一般在ROM中)这种系统人们称之为嵌入式系统。嵌入式系统是智能化设
备、仪器仪表的灵魂。
QNX由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。QNX内核
一般为几十kB大小,即使加上其他必要的模块,所占用的空间也很小,用不失其实
时、多任务的系统特征。由于它的高度灵活性,使用者可以很容易地对这一操作系
统进行定制或作和适当开发,来满足自己的实际应用需要。
因此,QNX不仅允许按需要进行系统配置,用于向一大群用户提供服务,也允许使
用必个必要的模块对系统进行配置,产生一个嵌入式系统(即指装在电子产品、机
电产品或其它设备内部的占用空间小、可用资源较少的小型实时系统)。
所遵循的标准
QNX是一个遵循POSIX 1003.1标准及POSIX实时标准的操作系统。
QNX遵循POSIX基本标准和实时子标准,在系统实现上与UNIX有很大的不同。因此,
QNX虽然外观很象UNIX,但并不属于类UNIX操作系统。
综上所述,QNX是一个多任务、多用户、实时、分布、可嵌入、符合POSIX标准的操
作系统。它有着广泛的用途。另外,QNX是可运行在PC兼容的计算机上的操作系统
,PC机的广泛使用和低廉价格更使QNX具有广阔的市场前景。
--
Everything
is
embedded!!
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.239.152]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.181毫秒