基于网关安全平台的虚拟线程体系结构
作者单位:华中科技大学
学位级别:硕士
导师姓名:李之棠
授予年度:2004年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:多线程机制对于操作系统来说是至关重要的。NCOS作为一个基于网关安全平台的专用操作系统,在充分考虑到网关安全操作系统的灵活性和健壮性的同时,却忽略了一个重要的方面:即如何构造一个高效的、适合于网关平台的多线程机制。 为了解决这个问题,本文提出了一种新的多线程体系结构――虚拟线程体系结构(VTS)。该体系结构将线程处理虚拟化,使用虚拟接口在线程和内核调度实体之间建立映射,以便适应不同的操作平台。在保证效率的同时,带来了可移植性和可扩展性的便利。和原有的LinuxThreads相比,VTS是一种更加灵活和高效的构造方式,能够适应网络协同计算和网关安全平台等关键应用。 对当前的LinuxThreads进行了深入分析,并指出它所存在的缺陷,如复杂而低效的体系结构、过高的资源占用率、无法与标准兼容等。经过论证并结合网关安全操作系统的特点,构造出虚拟线程体系结构。 虚拟线程体系结构包括系统整体结构、虚拟线程内核抽象、核心调度算法、虚拟线程接口、线程同步和互斥机制、以及虚拟线程信号处理等各个部分。描述了各部分的功能和实现细节。 在NCOS操作系统的基础上开发出了VTS的一个实现原型。VTS的核心是虚拟线程调度器。描述了线程调度器的工作流程和实现细节,解决了线程创建、线程调度、线程互斥等关键技术问题。详细设计了包括系统调用和用户函数在内的各种系统接口。 对VTS的原型进行了测试。在NCOS操作系统中,对线程系统的性能进行了测试,并与原有的LinuxThreads线程库进行对比。测试结果表明,采用虚拟线程结构模型,线程的创建开销小于传统线程库。线程创建速度为LinuxThreads库的两倍以上。实践证明,该模型是可行的,并具有较好的性能。