| 摘要 | 第1-10页 |
| ABSTRACT | 第10-11页 |
| 第一章 绪论 | 第11-15页 |
| §1.1 引言 | 第11-12页 |
| §1.2 课题背景 | 第12-13页 |
| §1.3 课题研究的内容和完成的工作 | 第13页 |
| §1.4 论文的组织 | 第13-15页 |
| 第二章 Kylin对Linux应用二进制兼容的总体结构 | 第15-24页 |
| §2.1 执行文件的类型 | 第15-17页 |
| ·shell命令 | 第15-16页 |
| ·解释脚本程序 | 第16页 |
| ·可执行文件 | 第16-17页 |
| §2.2 进程与内核的交互概述 | 第17-18页 |
| ·为进程创建初始执行环境 | 第17-18页 |
| ·进程执行过程中与内核的交互 | 第18页 |
| §2.3 实现二进制兼容需要解决的问题及方法 | 第18-21页 |
| ·需要解决的问题 | 第18-19页 |
| ·模拟异地操作系统服务的方法 | 第19-21页 |
| ·两种不同的文件目录组织方式 | 第21页 |
| §2.4 Kylin对Linux应用二进制兼容的总体结构 | 第21-24页 |
| ·总体结构 | 第21-22页 |
| ·实现步骤 | 第22页 |
| ·背景平台 | 第22-24页 |
| 第三章 Linux应用程序的识别和加载技术 | 第24-35页 |
| §3.1 概述 | 第24-25页 |
| ·需要完成的任务 | 第24页 |
| ·设计思想 | 第24-25页 |
| §3.2 可执行文件的段与进程的地址空间 | 第25-26页 |
| §3.3 ELF文件格式简介 | 第26-30页 |
| ·文件格式概述 | 第26-27页 |
| ·ELF文件头 | 第27-28页 |
| ·e_ident | 第28-29页 |
| ·程序头表 | 第29页 |
| ·PT_NOTE段 | 第29-30页 |
| §3.4 ELF文件加载器 | 第30-31页 |
| ·ELF文件的识别 | 第30页 |
| ·Linux ELF文件的识别 | 第30-31页 |
| ·建立进程的内存空间 | 第31页 |
| §3.5 Linux ELF文件的堆栈修补过程 | 第31-35页 |
| ·用户态堆栈初始布局 | 第31-32页 |
| ·辅助信息表 | 第32-33页 |
| ·linux_fixup() | 第33-35页 |
| 第四章 Linux系统调用仿真技术 | 第35-44页 |
| §4.1 概述 | 第35-36页 |
| ·系统调用及其实现过程 | 第35页 |
| ·需要解决的问题 | 第35-36页 |
| §4.2 IA64的相关机制 | 第36-37页 |
| ·寄存器堆栈 | 第36页 |
| ·系统调用过程 | 第36-37页 |
| §4.3 参数获取 | 第37页 |
| §4.4 返回值的处理 | 第37-40页 |
| ·背景 | 第37-38页 |
| ·IA32平台上对返回值的处理 | 第38-39页 |
| ·IA64平台上对返回值的处理 | 第39-40页 |
| §4.5 系统调用的仿真 | 第40-44页 |
| ·系统调用接口表 | 第40页 |
| ·系统调用服务例程的仿真 | 第40-44页 |
| 第五章 Linux信号机制模拟技术 | 第44-56页 |
| §5.1 概述 | 第44-45页 |
| ·信号机制概述 | 第44-45页 |
| ·需要解决的问题 | 第45页 |
| §5.2 消除对信号语义的约定存在的差异 | 第45-46页 |
| ·消除对信号含义的约定存在的差异 | 第45-46页 |
| ·消除异常事件对应的信号差异 | 第46页 |
| §5.3 信号处理程序的启动与返回 | 第46-48页 |
| ·原理 | 第46-47页 |
| ·实现方法 | 第47-48页 |
| ·讨论兼容性时需要考虑的问题 | 第48页 |
| §5.4 IA64上Kylin信号处理程序的启动和返回 | 第48-51页 |
| ·Sendsig() | 第48-50页 |
| ·Sigcode() | 第50页 |
| ·Sigreturn() | 第50-51页 |
| §5.5 IA64上Linux信号处理程序的启动和返回 | 第51-52页 |
| §5.6 信号类系统调用服务例程的仿真 | 第52-56页 |
| ·kill | 第52页 |
| ·rt_sigaction | 第52-54页 |
| ·rt_sigpending | 第54页 |
| ·rt_sigprocmask | 第54页 |
| ·rt_sigsuspend | 第54-56页 |
| 第六章 对可扩展性的支持 | 第56-59页 |
| 第七章 总结与展望 | 第59-60页 |
| 致谢 | 第60-61页 |
| 附录:攻读硕士期间发表的论文 | 第61-62页 |
| 参考文献 | 第62-63页 |