如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第!"卷第#期武汉理工大学学报&信息与管理工程版89:;!"+9;#!$$%年!月’()*+,-(./)012+.(*3,02(+43,+,5636+06+52+66*2+57.<=;!$$%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>文章编号?#$$@A#BBC1!$$%7$#A$$B!A$%虚拟操作系统中的D(E2C实时接口的设计杨朝阳#F李毅!1#;武汉理工大学计算机科学与技术学院F湖北武汉B%$$@$G!;第四军医大学吉林医学学院网管中心F吉林吉林#%!$##7摘要?D(E2C定义了可移植应用程序与操作系统之间的标准接口F分析了D(E2C实时接口必须包括的内容F包括线程F信号量F消息队列F定时器等F并简单介绍了在虚拟操作系统中D(E2C实时接口的设计思想H关键词?虚拟操作系统GD(E2CG*0(EG线程G信号量G消息队列中图法分类号?0D%#I文献标识码?,种商用的实时操作系统纷纷推出支持接JKLMNO简介D(E2C口的版本F例如8C/(*hE就已经推出了支持虚拟操作系统8(E18PQRST:(U<QTRPVWEXYZD(E2C接口的版本了FDE(E也计划在下一个版R<[7是建立在某一实时多任务操作系统之上的本里推出支持D(E2C接口的版本F不过这些操作虚拟接口层F它的位置处在操作系统与应用程序系统虽然宣称支持D(E2C接口F其实大部分是只之间F8(E能够屏蔽下面各商用操作系统的差支持D(E2C实时扩展接口的子集F并且内部实现异?如实时操作系统*0(E18\/9Q]Y^UE(E7^还是用自己的接口实现的F这样应用程序调用其/2+%!1/2+_‘^/PVa9bY+07^)+2C等H而D(E2C接口就比调用其本身接口效率要差HD(E2C12666ERTVaTQaD9QRT=:<(U<QTRPVWEXYZ对于作为各电子产品软件平台的8(EF它的R<[2VR<QcTd<c9Qe9[USR<Q6VfPQ9V[<VR7主要定D(E2C接口是D(E2C实时扩展接口的子集F包义可移植应用程序与操作系统之间的标准接口F括线程F时间F信号量F消息包队列F定时器等部分D(E2C是由)+2.(*)31其前身是gSYQg内容H8(E在实现D(E2C接口时应尽量直接采WQ9SU7技术委员会负责制订F这里主要论述的是用*0(E提供的D(E2C接口F如果*0(E不支由)+2.(*)3技术委员会的实时扩展工作小持某些D(E2C接口F则8(E需要自己实现该组1D#$$%;B7制定的D(E2C实时标准接口HD(E2C接口H操作系统^8(E和D(E2C接口的关D(E2C接口由!部分组成F即基本通用系如图#所示HD(E2C接口和实时扩展的D(E2C接口H目前各应用层软件8(E接口D(E2C接口8(E内存管理^8(E系统库函数^8(E中断与异常管理等*0(E18\/9Q]YFUE(E7F)+2CF/2+%!1/2+_‘F/PVa9bY+07图#操作系统^8(E和D(E2C接口的关系图具体的D(E2C接口应该以,D2函数的形式i线程有关的接口提供下面说明在自己实现接口时F8(ED(E2CD(E2C的线程对应于*0(E下的任务的概采用的一些主要设计思想H念F在*0(E下没有父进程与子进程的概念F所收稿日期?!$$!A$BA$";作者简介?杨万方数据朝阳1#_@"A7F男F湖北武穴人F武汉理工大学计算机科学与技术学院助教;杨朝阳等虚拟操作系统中的实时接口的设计第!"卷第#期$%&’()*+有的任务共享同一个地址空间,[./信号量5/6的信号量是一种计数-./必须实现01234的线程创建函数%&’()7’;‘<K9C:;BF信号量与和中的信号量的概念它是基于一个线程属性对象789:;<=<8>GK’&’ZXaC:NB类似信号量分为命名信号量8:?@A8;BC@D;E8F来创建的G线程属性对象定义了,%&’()7b<‘;=线程的各种属性G如堆栈大小H堆栈的地址H线程’;‘<K9C:;F和未命名信号量7cMb<‘;=这种信号量的属性是相同的在的分离状态7=;8<E9B8<8;F等,在创建线程前设置’;‘<K9C:;FG!,一些主机操作系统中对于进程间共享的对象需好这些属性G基于同一个线程属性对象可以创建G要一个符号名因为在这类操作系统中进程间没多个线程G线程属性对象的改变不会影响到已经G有共享内存而在实时操作系统中所有的对象共创建的线程,这与IJ&’创建任务的概念类似GGG需要指定一些属性并对这些属性进行封装成一个享