X86可视虚拟机的研究与实现
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
本文对程序可视化的关键技术——可视虚拟机的系统架构和实现方法进行了详细的研究,归纳总结了可视虚拟机的设计步骤和指导架构。可视虚拟机的基本架构可以归结为内核层(包括虚拟机、汇编器或者高级语言编译器)和可视表达层(内存和堆栈的可视表达模块、外围设备的可视化仿真模块、程序流程图的生成和动态可视化模块等)。虚拟机内核解释执行由汇编器产生的机器码或者中间代码,向各个可视表达模块发送可视表达指令,从而实现程序运行过程中,CPU、内存、堆栈和程序执行流的同步动态可视化。
     本文还详细研究了汇编语言程序流程图的抽象描述和生成算法,以及流程图与程序执行过程的动态同步显示问题。系统在形式化文法引导的汇编阶段实现了对程序流的建构,根据不同类型的指令,生成相应形式的抽象节点,并将相关信息存入系统符号表,最终实现节点之间的准确链接,形成与汇编程序相对应的程序流程结构,在机器指令执行期间,结合机器指令执行过程中携带的时间信息实现程序流程图的动态可视化。
     为了验证本文提出的可视虚拟机设计方法和思路,完成了一个基于X8086体系的可视虚拟机X86VVM的设计和实现,其中可视虚拟机X86VVM内核采用纯C/C++语言开发。
     本文内容组织如下:第一章简要介绍了X86VVM的技术背景和研究意义;第二章介绍了X86VVM可视虚拟机的规范和指令系统;第三章介绍了系统的基本构架,内核的基本结构和设计;第四章介绍了各个可视表达模块的设计;第五章简要介绍了可视调试的实现和使用;最后对本文作了总结,对后续研究作了建议和展望。
This research focuses on the realization of the visualized virtual machine, which is a key technology of program visualization. The design steps and the guiding framework for the visualized virtual machine are also to be summarized. The kernel layer and the visualized expression layer construct the basic framework of the visualized virtual machine. The kernel layer is composed of an assembler translator and a virtual machine kernel. The visual layer is composed of the visualized simulation modules of peripheral devices, visualized modules of memory and stack, generation of the program flow chart, and dynamic visualized tracing modules, etc. The virtual machine kernel interprets the machine codes generated by the assembler translator, or the intermediate codes, and transmits the visualized expression instructions into each visualized expression module so as to the simultaneous and dynamic visualizations of the CPU, the stack, the memory, and program execution flows in the process of program execution are to be achieved.This thesis also studies the abstract descriptions for the flow chart of assemble code with computer software, the generation algorithm, and the synchronization with the execution process for machine code. The abstract flow chart of programs is constructed in the assembling process which is guided by formalized syntax. During this assembling process the corresponding nodes of abstract flow chart are produced according to the different assemble instructions, the relevant information is stored into the system symbol table. At the last process of assembling the accurate interlinkage will to be achieved and the corresponding flow chart is formed. During the execution of machine codes the dynamic visualization of flow chart comes true with the time information which is taken by
引文
[1] 唐泽圣.科学计算可视化及其应用.计算机世界.1998年第4期.清华大学计算机科学与技术系
    [2] 吴伟民.可视程序设计及其认知意义.华南师范大学学报(自然科学版).94(3).6-11.
    [3] 师书恩.计算机辅助教育基本原理.电子工业出版社,1995年版.第40页
    [4] von Neumann Machine. http://www.maxmon.com/1944ad.htm
    [5] Barry B.Brey著.8086奔腾机汇编程序设计.金惠华等译.电子工业出版社,1998年8月版,第6页
    [6] 白中英.计算机组成原理.科学出版社,2001年11月
    [7] Barry B.Brey著.8086奔腾机汇编程序设计.金惠华等译.电子工业出版社,1998年8月版,第118页
    [8] [美]Brunce Powel Douglass著.实时设计模式Real-Time Design Patterns.北京航空航天大学出版社2004年5月出版
    [9] 王开涛著.系统软件设计[汇编].哈尔滨工业大学出版社.1999年出版
    [10] 王红卫编著.建模与仿真[专著].北京:科学出版社,2002.3
    [11] Ramchandani C. V, Ho Fary S.Analysis of asynchronous concurrent systems by timed Petri nets. 440-449,1980
    [12] Software: Visualization.www.scicomp.uni-erlangen.de/SW/visualization.htm
    [13] 吴伟民.Pascal可视集成环境VP1的结构与设计.电子工业出版社《计算机技术》.
    [14] 徐国定.杨宗源编著.编译程序构造[专著].华东师范大学出版社.1989.10.
    [15] 胡笔蕊编著.编译方法[专著].电子工业出版社.1994.9.
    [16] 王力红主编.编译技术[专著].重庆大学出版社.2001.
    [17] 姜文清编著.编译技术原理[专著].国防工业大学出版社.1994.7.
    [18] 孙立镌编著.计算机图形学.哈尔滨工业大学出版社.2001.6;
    [19] Peter Abel著.沈美明翻译.IBM汇编语言程序设计(Fifth Edition).人民邮 电出版社,2002.9;
    [20] 钱晓捷.陈涛编著.16/32位微机原理、汇编语言及接口技术[专著].机械工业出版社.2001.
    [21] (美)特卡奇等,许文,方海等翻译,可视化对象建模,科学出版社1999.
    [22] 康凤举,现代仿真技术与应用,国防工业出版社,2001.9
    [23] 王永超,罐装线虚拟仿真建模的研究和应用,广东工业大学博士论文,2002.5
    [24] 傅廷亮,计算机模拟技术,中国科学技术大学出版社,2001.12
    [25] 钟登华等著,可视化仿真技术及其应用[专著].中国水利电力出版社.2002.
    [26] 刘超.张莉.可视化面向对象建模技术[专著].北京航空航天出版社.1999.
    [27] 廖彬山.计算机可视化技术与应用.科学出版社.1995.
    [28] 李晓梅.科学计算可视化导论.国防科技大学出版社.1996.6.
    [29] 石教英.蔡立文.科学计算可视化算法与系统[专著].科学出版社.1996.9.
    [30] 唐泽圣等.三维数据场可视化[专著].清华大学出版社.1999.
    [31] 陆治国编著.电源的计算机仿真技术[专著].科学出版社.2001.
    [32] 唐世林编著.电站计算机仿真技术[专著].科学出版社.1996.11.
    [33] 周常森编著.电子电路计算机仿真技术[专著].山东科学技术出版社.2002.
    [34] (美)Jim Ledin著.焦宗夏等翻译.仿真工程[专著].机械工业出版社.2003.
    [35] 王惠刚等.计算机仿真原理及应用[专著].国防科技大学出版社.2000.
    [36] Mason Woo, Jackie Neider, Tom Davis Shreiner著.吴斌等翻译.OpenGL编程权威指南.中国电力出版社.2001.8;
    [37] 项国雄等.计算机辅助教学原理与课件设计.电子科技大学出版社.1998.1.
    [38] 廖瑛 梁加红 等编著.实时仿真理论与支撑技术国防科技大学出版社.2002年3
    [39] 齐治昌.软件工程.高等教育出版社2001年8月版
    [40] Language and Compiler Support for Adaptive Distributed Applications, Vikram Adve, Vinh Vi Lam, ACM SIGPLAN(Programming Language):SIGPLAN Notices,2001,36(9),238-238.
    [41] Compiler techniques for code compaction, Saumya K. Debray, William

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700