网站大量收购独家精品文档,联系QQ:2885784924

和欣操作系统虚拟化技术的研究与实现.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
和欣操作系统虚拟化技术的研究与实现

和欣操作系统虚拟化技术的研究与实现 答辩人: 郑锟 导 师: 陈榕 副导师:顾伟楠 2007年3月8日 主要内容 课题的目的和意义 虚拟化技术的分类和研究现状 和欣虚拟化环境 模型结构 平台适配层 和欣模拟层和服务层 课题的目的和意义 在使用相同CPU指令集的前提下,使和欣操作系统的应用程序,包括CAR构件,能够在不同的操作系统之间运行。 有助于推广CAR构件编程模型,从而,在不影响功能的前提下,提高嵌入式软件的开发和运行效率。 虚拟化技术的分类和研究现状 硬件级的虚拟化 半虚拟化虚拟机 中间代码的虚拟机 基于软件API的虚拟化 虚拟化技术的分类和研究现状 硬件级的虚拟化 半虚拟化虚拟机 中间代码的虚拟机 基于软件API的虚拟化 硬件级的虚拟化是用一台宿主计算机仿真另一台目标计算机。 如: Bochs、VMWare、Virtual PC等。 虚拟化技术的分类和研究现状 硬件级的虚拟化 半虚拟化虚拟机 中间代码的虚拟机 基于软件API的虚拟化 半虚拟化虚拟机的主要目的是在同一台计算机上运行多个操作系统,同时还希望能保持运行的高效率。 如: XEN虚拟机。 虚拟化技术的分类和研究现状 硬件级的虚拟化 半虚拟化虚拟机 中间代码的虚拟机 基于软件API的虚拟化 执行字节码。 如: Java、.Net等。 虚拟化技术的分类和研究现状 硬件级的虚拟化 半虚拟化虚拟机 中间代码的虚拟机 基于软件API的虚拟化 基于应用程序编程接口模拟。 如: WINE虚拟机。 不同类型虚拟化技术的比较 类型 跨平台支持 与宿主操作系统通讯 提供软件API 应用类型 效率 硬件级的仿真 指令集/操作系统 虚拟网络 否 开发/运行操作系统 低 半虚拟化虚拟机 无 无 是 开发/运行操作系统 较高 中间代码的虚拟机 指令集/操作系统 Native API 是 开发/运行应用程序 较低 基于软件API的虚拟化 操作系统 API 是 开发/运行应用程序 高 和欣虚拟化环境 为和欣应用程序提供软件运行环境 推广和欣的CAR构件编成思想 提高和欣应用程序的开发和调试效率 相同CPU指令集下的跨操作系统二进制兼容 综合考虑,采用基于软件API的虚拟化技术 设计时考虑的因素 与和欣操作系统保持语义一致。 在不同操作系统上实现时,不需要做大量重复工作。 充分利用宿主操作系统的功能。 分层的模型 平台适配层 屏蔽底层操作系统差异的中间层 为和欣模拟层的实现提供了最基本的原语 三个部分组成 PAL接口 (类型定义、API函数) 可执行程序加载器 (二进制兼容的基础) 内核对象 PAL接口 基本数据类型 、基本宏定义 错误处理 句柄管理 进程管理 线程管理 线程局部存储 模块加载 原子操作 同步 字符集转换 文件目录操作 文件内存映射 其它(时间函数、C-Runtime) 基本数据类型 关键字 描述 关键字 描述 VOID 空类型 UINT64 无符号64位整数 CHAR 有符号单字节字符类型 BOOL 整数表示的布尔值 SHORT 有符号短整数类型 BYTE 表示一个字节 INT 有符号整数类型 WCHAR 表示一个Unicode字符 LONG 有符号长整数类型 SIZE_T 表示无符号的大小 UCHAR 无符号单字节字符类型 SSIZE_T 表示有符号的大小 USHORT 无符号短整数类型 OFF_T 表示偏移量 UINT 无符号整数类型 UINT_PTR 当用整数表示指针值时使用 ULONG 无符号长整数类型 HANDLE 表示一个句柄值 INT8 有符号8位整数 HMODULE 表示一个加载的模块 INT16 有符号16位整数 LRESULT 表示函数执行成功与否 INT32 有符号32位整数 PALSTATUS PAL层API运行的结果状态 INT64 有符号64位整数 WSTRING Unicode字符组成的字符串常量 UINT8 无符号8位整数 ASTRING 多字节字符集(如ASCII、UTF8等)组成的字符串常量 UINT16 无符号16位整数 WSTRING_BUF Unicode字符串缓存 UINT32 无符号32位整数 ASTRING_BUF 多字节字符集(如ASCII、UTF8等)字符缓存 错误处理 所有的PAL函数都被设计为:当发生错误时,返回一个与-1相等的值。 要想进一步获得错误的信息,可以调用错误处理函数获得具体的错误值。 PAL_FAILED(x) :((ULONG)(x) == (ULONG)-1UL) HANDLE handle = PALFoo(…); if (PAL_FAILED(handle)) { PAL_print

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档