《qnx425培训教材(体系结构).docx》由会员分享,可在线阅读,更多相关《qnx425培训教材(体系结构).docx(32页珍藏版)》请在优知文库上搜索。
1、QNX425QNX425QQWXX442255培训教程XionghshOhotmailXionghshPhotinailxxi100nngghhsshMhhoottmnaaiill.,ccoomn1QNX介绍1.1QNX简介11.2QNX特1.3QNX的应ffl额域2 QNX体系结构42.1 QNX的微内核概述42.2 QNX的微内核体系2.2.1进程间通信IFC2.2.2进程词度113 进程管理器134 I/O域名空间155 文件系统管理器156 设备管理器187 网络管理器218 Photon微图形用户界面页面21QNXWXSXX介绍1.IQNX简介I .1QNX简介II .UQQNNXX
2、简简介介QNXQuickUnix.1.nix(AT&T)QNX实时操作系统是由加享大闻名的QNXSOFTWARESYSTEMS1.TD从1980年起先研制的在PC机硬件系统域础上干脆开发的实时多任务且供应嵌入式窗口图形软件的实时操作系统.QNX是一个分布式、嵌入式、可规模犷展的实时操作系统。它遵循POSIX.1(程序接口)和PoSlX.2(Shen和工具)、部分遵循POSlXJb(实时扩展).它最早开发于1980年,到现在己相当成熟。QNX是一个微内核实时操作系统,其核心仅供应4种服务:进程两度、进程何通信、底层网络通信和中断处理,其进程在独立的地址空间运行.全部其它OS服务,器实现为协作的用
3、户进程,因此GX核心特别小巧(QNXx大约为2Kb)而且运行速度极快。?QNX供应KHIXjb标准进程调度:?32个进程优先级:?抢占式的、基于优先级的正文切换:?可选调度策略:FIF0、轮转策略、适应性策略,?QX的系统服务:?多种资源管理器,包括各种文件系统和设备管理,支持多个文件系统同时运行,包括供应完全POSlX.1及INIX语法的POSlX文件系统,支持多种闪存设得的嵌入式文件系统,支持对多种文件服务器(如WindOVSNI795、1.ANMmager等)的透亮访问的SMB文件系统、DOS文件系统、CD-RQY文件系统等.?设备管理.在进程和终端设备间供应大吞吐量、低开销接Il眼分.
4、?图形/窗口支持。包括QNXWindows、XWindowSySlsforQNX、对MSWindOWSNT/95和XWindor系统的远程图形连接.?TCPIPforQNXa?高性能、容错型QNX网络一一FIEET,使得全部连入网络的计算机变成一个能轮上的超级计算机。?透亮的分布式处理.卜IEET网络处理与消息传递和进程管理原语的集成,将本地和网络IPC统一起来,使得网络对IpC而言是透亮的。?QNX的开放性:?Q、X的POSIX兼容性和其供应的UNIX特色的编译器、脚试器、XWindow和TCP/IP称是UNIX程序员所熟识的.?支持多种(TlhAMDElijnSC300/310/400/4
5、10、Am386DESE.CyrixMediaGX、Kse处理器(386以上)、PentiUm系列、STMicroelectronics的STPC.?多种总纹:CoapactPC1.EISA、ISA.MPE(RadiSys).STD.STD32、PC/IOkPC101-Plus.PCkPCMCIA,VESA、YME。?各种外设:多种ScSl设备.IDE/EIDE驱动潜、IoWlOOM以太网卡、TOkCnRing网卡、FK)I接口卡、多种PCMCIA设法、闪存、声卡等等.I .2QNX特点II 2QNX特点III 22QQXNXX特特点点?实时性:QNX的任务间的上下文切换和中断反应都在微秒一-
6、级,是目前实时性最强的操作系统,满及以苛刻的实时性要求:?嵌入性:QK的最小系统对ROM空间的要求只行36KB.基于文件系统的嵌入方式使得嵌入过程简明口观;?稳定、牢靠、强壮IQNX是唯一遵照PoS壮标准设计、全面符合PaSlX标准、供应完全地址空间俎护、同时支持进程和线程两种任务实现方式的操作系统.这保证了基于QNX的应用系统稳定、牢被、强壮,并能在践时软件模块随时热插拔;?可嵌入的图形界面:QN的光子图形界面与QNX实时操作系统一样,按照微内核的方式设计,用户依据须要可以自由剪裁并嵌入到IMB的闪存空间中:?分布式并行处理:QNX不仅供应基于T(T/IP协议族的网络,更供应QMi的本地网络
7、Qnet.Qnet将多节点的QNX系统联成一体,在商用程序不做任何修改的状况下,透光地运用本地资源或异地资源,为分布式并行处理供应了操作系统层的支持简化了分布武系统的设计过程:?对称多处理器支持:对于CPU资源消耗型的应用而言,单一CPU经常不旎满意杭用要求.而分布式系统的网络乔吐实力又很难满意须要.QNXm称多处理器的支持正是这种应用的最佳选择:?多平台支持:QNX不仅支持X86平台,更支持PoWerpC、MIPS.ARM.Slk等多种平台。或许其它操作系统也实现了多平台支持:与其它操作系统不同,QX的多平台支持供应了不行企及普适性,用同一套工具混、同一个项目中开发同时支持多平台的应用程序,
8、极大地提升了构建多平台应用系统的效率.1.3QNX的应用领域13QRX的应用领域11.33QQeXX的的应应用用领领域域自动化、通信、电子、医疗机械、航空航天、水下平台、核能等.2国外大型公司运用QYX,如:?AEG?Alcatel?BcllCanada?COMl?Daimlcr-BcnzAerospace?DuPont?GvrieraiEleclric?Iionda?IIughesAirctift?JapanAirlines?1.OeWU?1.ucent?ManneseannVDO?Mitsubishi?Motorola?NYSE?PCTVnet?Phi1ipsConsumerE1ectro
9、nics?Samsung?Srheidtfcllachmann?SE1.?Siemens?Sprint?VisaInternational国内高校、探讨所及公司运用QNh如:?哈尔滨工程高校3页面5?中国科学院沈阳自动化探讨所?中国空间技术探讨院?华北电力高校?北京四方继保公司?山东普能集团?许继集团?沈阳长白工控?吉林瑞达限制工程公司?北京和利时自动化工程公司?兰州炼油厂百动化探讨院?同济高校建设机器人中心?香港城市高校深圳穗彩?上海贝尔?西门子?北大育鸟华光?北京邮电高校?信息产业部电子第38探讨所?空军其次探讨所?中国科学院合肥箸商子所?新领!电子(上海)公司?中国铁道科学探讨院?杏港高
10、超铁道工程公司?深圳视听达电子公E22QNX22QNXQQWXX体系结构操作系统的主要任务是管理计算机的资源,应用程序的调度、毡世文件的读写、网络中的数据传输等等必需是无缝和透亮的.QNX具有实时系统的基木特征:?多任务基F优先级的抢占式调度?快速的上下文切换QNX是通过如下两个加本原理实现它独特的高效性、模块化和简易性:?微内核(microkernelarchitecture)?葩于消息的进程间通信(message-basedinterprocesscomnu11ication)2.12.IQNX的微内核概述22.11QNX的微内核概述QQNNXX的的微微内内核核慨慨述述QNX拥有一个特别两
11、效的微内核,它负证管理一组同时工作的进程。页面6QNX微内核展个口正的做内核。首先,它特别小;其次,它的两个重要的任务是:?酒总传递:处理操作系统全部进程间的消息传递;?任芬圜度:当进程的状态变更,或者中断发生时进行调度:3X的系统进程包括:?ProcessMitriaKer(Proc)进程管理涔?Filesyste三Manager(Fsys)文件系统管理器?DcviceManager(Ikw)设符管理器?NetrorkManager(Net)网络管埋器除此之外,用户自定义进程(JMinetd,ftp,设备第动(如串口、井口)等等.页面72.22.2QXX的他内核体系22.22QNX的微内核体
12、系QQXX的的微微内内核核体体系系QNX做内核的“软总线”体系结构(像硬件一样可“热插拔”一一Plugandplay):QNX微内核负货如下任务:?进程间通信(IPC)微内核监好消息的路由传递):同时.还管理另外两种形式的IPC;代理(proxy)和信号(SignaI):?低级网络通信(Iow-Ievelnetworkcoinnunication)微内核负费不同节点间消息的分发;?进程调度(ProCeSSSChedUIing)做内核调度潺确定接下去用一个进程将会执行:?一级中断处理(firstlevelinterrupthandling)全部的便件中断和故除都将在第时间路由到微内核,然后传递到
13、适当的驱动或系统管理器.6*0jv*2.2. IIPC2.3. 2.1IPC22.1. 22.11进程间通信IIPPCCQNX支持三种基本的IPa消息、代埋和信号.?消息(Message)一一QNX最蔚本的IPG供应进程间同步通信,发送者和接收者有应答:?代理(proxy消息的一种特殊形式,特别适合事务通知,发送者不用和接攻拧进行交互:?信号(SiRnal)IPC的一种传统形式,通常用于支持异步IPC.11基于消息(Messages)的IPCIl基于消息(Messages)的IlJC基基于于酒消息总(MMCeSSSSaaMRceSS)的的HPPCC发送齐必需得到接收者的应答,否则,进程构被堵塞
14、:也就是说,这种通信足同步通信。函数蜃型:SendO一一发送消息:ReCeiVe()接收消.0.:ReplyO一-给发消息者回消思(应答);2基于代理(proxies)的IPC2战于代理(proxies)的IPC22基基于千代代理理(pprrooxxiieess)的的HPPCC代理(proxy)是一种非堵泥性的消息机制,特殊适合迸行小务通知,发送进程不须要和接收进程进行交互.运用代理的一些状况,如:1) 一个进程通知另一个进程某一事务发生:2) 个进程想给另一个进程发送数据,但是并不须要应答:3)中断处理渊interrupthandler想告知某一进程有数据须要处理.函数原型:qnx_proxyattach()创建ProKy:TriggerO一一触发事务.3基于佶号(signals)的IpC3基于信号(signals)的IPC33基基于于伯信号号(ssiiggnnnallss)的的UPPCC信号是一种很传统的进程间通信机制,广泛用于各种操作系统。QNX支特一级特别丰富的PoSlX兼容的信号,既有UNIX家族信号,也有QNX特定的信号。Shell环境下产生信号:kilkslay:进程内产