资源描述:
《基于微内核的网络系统界面的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、软件学报990610软件学报JOURNALOFSOFTWARE1999年第6期第10卷Vol.10No.61999基于微内核的网络系统界面的实现*胡宁宁 金志权 谢立 摘要 CONETV2.0是一种在微内核环境下实现的网络系统软件,由于微内核在系统构造方法上与传统的方法不同,所以该环境下的系统模块在实现上也具有其特殊之处.文章介绍了CONETV2.0的体系结构与实现思想,并着重阐述了作为该系统应用程序接口之一——SOCKET的设计与实现. 关键词 网络系统,应用程序接口,套接字,微内核. 中图法分类号 TP393ImplementationofInterface
2、forMicrokernelBasedNetworkSystemHUNing-ningJINZhi-quanXIELi(DepartmentofComputerScienceandTechnologyNanjingUniversityNanjing210093)(StateKeyLaboratoryforNovelSoftwareTechnologyNanjingUniversityNanjing210093)AbstractCONETV2.0isanetworksystemundermicrokernelenvironment.Comparedwiththetrad
3、itionalmonolithickernel,microkernelprovidesadifferentapproachtoconstructoperatingsystem,whichleadstodifferentimplementationofthosemodulesrunningundersuchenvironment.Inthispaper,thearchitectureanddesignofCONETV2.0areoutlined,andthenthedesignandtheimplementationofSOCKET,whichisoneoftheapp
4、licationinterfacesforthenetworksystem,arepresentedindetail.KeywordsNetworksystem,applicationinterface,socket,microkernel. 网络系统软件是在一定操作系统环境下实现的一组通信协议,为用户的网络应用提供支持.不同的操作系统环境势必会造成网络系统具体实现方法的不同.本文在简要介绍了微内核机制下实现的网络系统软件CONETV2.0的总体结构与实现思想之后,着重介绍了作为该系统应用程序接口之一——SOCKET的设计与实现. 在微内核机制出现以前,通常,整个
5、操作系统分为内核层与应用层,在内核层实现各种系统服务,在应用层,应用程序通过系统调用来使用这些服务.但在软硬件迅猛发展、各种不同的操作系统不断出现的情况下,人们对不同平台上系统软件的可移植性、可构造性提出了更高的要求,进而促使软件开发者更加重视操作系统构造的灵活性与重用性,而不再像以往那样仅局限于高效性.传统操作系统的构造方法很难达到这点要求,虽然诸万方数据file:///E
6、/qk/rjxb/rjxb99/rjxb9906/990610.htm(第1/8页)2010-3-235:53:05软件学报990610如分层法、虚拟机法等构造方法在一定程度上改善了系统模块的可
7、移植性,但却不能让用户为实现某种特定需要而动态地构造服务系统[1]. 微内核机制的引入在很大程度上解决了这一问题,其主要设计思想为:将整个操作系统分为3层,即内核层、服务层与应用层[2].在内核层实现操作系统最基本的功能,如进程管理、内存管理、进程间通信以及I/O管理等;在服务层以服务器的形式实现操作系统中面向应用程序的其他功能(如图1(b)所示,其中NS即指以服务器形式实现的CONETV2.0,FSS指文件系统服务器);应用层的应用程序通过在运行时链入的动态映射库DML(dynamicmappedlibrary)来调用各种服务器中的系统服务.(a)传统操作系统的体
8、系结构 (b)基于微内核的操作系统的体系结构图1两种操作系统的体系结构 由此可见,在微内核机制下实现的各种服务器最重要的就是使其所提供的应用程序接口能适应这种系统调用方式.对于网络服务器CONETV2.0来说,就要求SOCKET与TLI(transportlayerinterface)模块具备这种能力.1CONETV2.0系统概述1.1CONETV2.0的层次结构CONETV2.0按照标准实现了TCP/IP协议簇,其层次结构以及在系统中的位置如图2所示.其中SOCKET/TLI是应用程序接口,TCP,UDP,IP,ICMP,ARP,RARP都是