论文部分内容阅读
跟踪调试是定位程序中的错误并修正其错误的过程,是软件开发中必不可少而耗时甚大的环节。
从上层看,操作系统是一个功能的集合,其中跟踪调试环境是为上层应用程序提供的一组功能接口,用于查看和调整系统资源的分配情况。
跟踪调试环境的搭建对于构建一个完整的操作系统是是十分重要的。它既是编程用户完成应用软件开发的必备工具,也是帮助系统设计人员查找系统漏洞分析系统瓶颈的重要手段。
本论文的工作即是针对实验室设计开发出的一种基于服务体执行流模型的操作系统设计并实现相应的跟踪和调试环境。
本文首先阐述了跟踪调试环境对于开发一个完整操作系统的重要作用,然后对比进程/线程模型详细阐述了服务体执行流模型及其相关的一些基本概念如:端口、小端口以及服务体间通信等。在此基础上,论文针对跟踪调试环境的设计和实现进行了如下工作:
1.服务体执行流模型下跟踪调试模型的建立。首先分析进程/线程模型下的进程跟踪抽象出进程跟踪模型,然后参考该模型提出了服务体执行流模型下的任务跟踪模型;
2.服务体执行流模型下相关调试原语的定义。首先总结出跟踪调试环境下的一系列调试原语,再结合服务体执行流的概念,对服务体执行流模型下的调试原语定义出相应的语义解释;
3.跟踪调试环境的详细设计。在上述工作的基础上,结合具体的跟踪调试过程详细设计了跟踪调试的每一个环节,确定了所需要的所有结构和功能;
4.跟踪调试环境在Minicore操作系统上的实现。在Minicore第三版原型系统上设计并实现了该操作系统的跟踪调试环境。
5.最后通过测试用例对所设计的跟踪调试环境进行了检验。
本文的主要特色体现在以下两个方面:
1.针对服务体地址空间彼此隔离的特征,实现了多地址空间的跟踪。
2.消除了内核级调试和用户级调试的差异,能根据需要方便得进行模型变换。比如针对嵌入式的需要,只要在服务体通讯中加入远程通讯协议就变换成了远程调试模型。
本论文所介绍的跟踪调试环境已被集成于Minicore v3.0操作系统中。