欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    xen架构与源码分析ppt课件.ppt

    • 资源ID:1448465       资源大小:968.50KB        全文页数:57页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    xen架构与源码分析ppt课件.ppt

    xen架构与源码分析,xen架构与源码分析,xen源码概览xen架构实现与源码分析Xen启动过程关注点下周计划,xen架构与源码分析,xen源码概览xen架构实现与源码分析Xen启动过程关注点下周计划,Xen-3.4.0/,buildconfigs/config/docs/extras/stubdom/tools/unmodified_drivers/xen/,.bk-to-hg.hg_archival.txt.hgignore.hgtags.hg-to-bk.rootkeysConfig.mkCopyinginstall.shMakefileREADME,xen源码概览,buildconfigs/config/该文件夹下包含在多种操作系统下编译xen的配置参数设置文件。docsLaTEK格式的Xen文档以及man文档,xen源码概览,extras/ - mini-OS,内含可运行在Xen DomainU的微操作系统stubdom/IOEMU Stub DomU, PV-GRUB Stub DomU, 以及创建新的stub domainU的示例代码。tools/用于支持或增强xen监控器的工具集合,xen源码概览,unmodified_drivers/Linux 2.6 驱动程序xen/Xen监控器内核,xen-3.4.0/xen,arch/ 架构相关,函数实现common/ 公用crypto/ 加解密drivers/ 驱动include/ 头文件目录, 函数定义tools/ 工具xsm/ 安全模块,COPYINGMakefileRules.mk make配置规则,xen架构与源码分析,xen源码概览xen架构实现与源码分析MMUCPUIOVMXXen启动过程关注点,xen,-Xen and the Art of Virtualization Revisited, Ian Pratt, Citrix Systems Inc,Xen源码分析,虚拟化四个核心技术MMU虚拟化CPU虚拟化事件通道IO虚拟化硬件支持VMX技术,xen架构与源码分析,xen源码概览xen架构实现与源码分析MMUxen内存管理Guest内存管理CPUIOVMXXen启动过程关注点,MMU,/xen/include/asm-x86/config.h/xen/include/mm.h/xen/arch/x86/mm.c/xen/include/asm-x86/p2m.h/xen/include/public/memory.h/xen/common/memory.c/xen/include/public/xen.h,Xen-guest内存分配/隔离分页机制,分段机制地址转换,e.g. xen内存,/xen/include/asm-x86/config.h 最高168M给xen专用,e.g. Guest内存,/xen/include/asm-x86/p2m.h 伪物理内存模型,xen架构与源码分析,xen源码概览xen架构实现与源码分析MMUCPUIOVMXXen启动过程关注点,CPU,/xen/arch/x86/irq.c/xen/include/xen/irq.h/linux*/include/linux/Interrupt.h/xen/arch/x86/trap.c/xen/include/asm-x86/processor.h/xen/include/asm-x86/desc.h/xen/include/xen/sched.h/xen/include/xen/timer.h/xen/common/timer.c/xen/arch/x86/time.c/xen/include/public/xen.h/linux*/arch/i386/kernel/time-xen.c/xen/include/public/vcpu.h/xen/include/asm-x86/domain.h/xen/include/public/arch-x86/xen.h/xen/arch/x86/setup.c/xen/common/domain.c/xen/common/schedule.c/xen/include/xen/sched-if.h,中断/异常处理时间/计时器VCPU及其调度,xen架构与源码分析,xen架构实现与源码分析MMUCPU物理中断虚拟中断异常处理xen异常处理Guest异常处理IOVMX,xen架构与源码分析,xen架构实现与源码分析MMUCPU物理中断虚拟中断异常处理xen异常处理Guest异常处理IOVMX,物理中断处理,/xen/arch/x86/irq.c,Xen自行处理两个中断:- 串口中断+计时器中断,Guest处理中断-利用异步通信机制 xen-guest-通知所有注册该中断的GuestOS,物理中断向量表,/xen/arch/x86/trap.c 定义IDT/xen/include/asm-x86/processor.h/xen/include/asm-x86/desc.h,IDT初始化,/xen/arch/x86/boot/x86_32.S 第一次初始化/xen/arch/x86/i8259.c 第二次初始化,xen架构与源码分析,xen架构实现与源码分析MMUCPU物理中断虚拟中断异常处理xen异常处理Guest异常处理IOVMX,虚拟中断,/xen/include/public/xen.h VIRQ定义虚拟中断,8种 (3个局部vcpu,5个全局中断),虚拟中断,/linux-*/drivers/xen/core/evtchn.c L101IRQ VIRQ 映射 /xen/common/event_channel.cXen发送中断通知,xen架构与源码分析,xen架构实现与源码分析MMUCPU物理中断虚拟中断异常处理xen异常处理Guest异常处理IOVMX,异常处理xen,xen内核异常处理IDT中0-31的中断向量+hypercall(0 x82)重要源文件/xen/arch/x86/traps.c/xen/arch/x86/x86_32/entry.S/xen/include/asm-x86/processor.h,异常处理Guest,Guest内核异常处理VIDT,Guest OS自行处理异常一旦domain不运行,对应VIDT被删除重要源文件/xen/include/public/arch-x86/xen.h/linux-*/arch/i386/kernel/traps-xen.c/xen/arch/x86/traps.c/xen/include/asm-x86/domain.h/xen/arch/x86/x86_32/entry.S,xen异常处理,/xen/arch/x86/traps.c 将处理程序插入IDT表项,xen异常处理,/xen/arch/x86/traps.c,xen异常处理,/xen/arch/x86/traps.c 初始化IDThypercall双重错误NMI延迟,xen异常处理,/xen/arch/x86/traps.c 初始化IDThypercall双重错误NMI延迟,e.g. INT3,/xen/arch/x86/x86_32/entry.STRAP_int3为中断向量定义在/xen/include/asm-x86/processor.h L87-110hanlde_exception定义在/xen/arch/x86/x86_32/entry.S保存寄存器-调用C语言处理函数-退出处理函数,e.g. INT3,/xen/arch/x86/x86_32/entry.S,e.g. INT3,/xen/arch/x86/x86_32/entry.Sdo_int3由C语言实现 /xen/arch/x86/traps.c,xen架构与源码分析,xen架构实现与源码分析MMUCPU物理中断虚拟中断异常处理xen异常处理Guest异常处理IOVMX,Guest异常处理,初始化VIDTGuest OS可直接使用xen的IDT表处理异常,也可以使用自己的VIDT自行处理异常GuestOS启动时会将自己的异常表发送给xen,注册到VCPU相应的数据结构。重要源码/xen/include/public/arch-x86/xen.h: struct trap_info/linux*/arch/i386/kernel/traps.xen.c: trap_init()注册到xen/xen/arch/x86/traps.c: do_set_trap_table() 完成VCPU注册,Guest异常处理,处理流程domain内部异常 xen捕获/识别 xen在Guest中创建异常栈框 交由Guest处理/xen/arch/x86/traps.c,系统调用,快速异常处理程序 Fast Handler重要源码/xen/include/public/arch-x86/xen.h/linux-*/arch/i386/kernel/traps-xen.c/xen/arch/x86/traps.c/xen/include/asm-x86/domain.h/xen/arch/x86/x86_32/entry.S,系统调用,快速异常处理程序 Fast Handler/xen/arch/x86/x86_32/traps.cVoid init_int80_direct_trap(struct vcpu *u)VCPU中int80_desc成员当GuestOS中产生系统调用时,将会直接调用该描述符中记录的处理程序,而不需要由xen处理/xen/include/asm-x86/domain.h,xen架构与源码分析,xen源码概览xen架构实现与源码分析MMUCPUIOVMXXen启动过程关注点xen校验domain0MMU监控:进程页/段的完整性CPU监控:Hypercall/system_call校验发起对象IO监控:校验发起对象,IO设备虚拟化,/xen/include/public/io/ring.h /xen/include/public/io/blkif.h/linux*/drivers/xen/blkfront/blkfront.c/xen/include/public/io/netif.h/xen/include/public/io/xs_wire.h/linux*/drivers/xen/xenbus/xenbus_xs.c/xen/include/public/io/xenbus.h/linux*/drivers/xen/xenbus/xenbus_probe.c/linux*/drivers/xen/blkback/xenbus.c,IO环事件通道授权表xenstore和xenbus,设备模型,仿真设备模型Qemu直接分配设备模型IOMMU虚拟设备模型 半虚拟化修改guestOS,性能最好前端后端设备驱动分离页面共享,设备模型,仿真设备模型Qemu直接分配设备模型IOMMU虚拟设备模型 半虚拟化修改guestOS,性能最好前端后端设备驱动分离页面共享,设备模型,虚拟设备模型 半虚拟化设备IO环生产者消费者通讯方式事件通道一位表示一个事件,虚拟的“硬件中断”授权表Domain之间共享内存,授权表记录权限xenstore树状数据库,存放虚拟机的配置数据。xenbus数据交换中心,为设备读写的前后端提供安全通道。,设备IO环,/xen/include/public/io/ring.h IO环定义文件/xen/include/public/io/blkif.h块设备IO接口/linux*/drivers/xen/blkfront/blkfront.c块设备前端/xen/include/public/io/netif.h网络设备IO接口,xenstore & xenbus,xenstore/xen/include/public/io/xs_wire.h/linux*/drivers/xen/xenbus/xenbus_xs.cxenbus/xen/include/public/io/xenbus.h/linux*/drivers/xen/xenbus/xenbus_probe.c/linux*/drivers/xen/blkback/xenbus.c,xen架构与源码分析,xen源码概览xen架构实现与源码分析MMUCPUIOVMXXen启动过程关注点xen校验domain0MMU监控:进程页/段的完整性CPU监控:Hypercall/system_call校验发起对象IO监控:校验发起对象,VMX技术,/xen/include/asm-x86/hvm/*,VMCS初始化陷入事件处理程序,VMCS的设置,VMCS定义/创建/设置/xen/include/asm-x86/hvm/vmx/vmcs.h,xen架构与源码分析,xen源码概览xen架构实现与源码分析Xen启动过程三个启动阶段_start_xen()关注点,Xen启动,三个启动阶段/xen/arch/x86/boot/head.S初始化页表,解析早期命令行参数等工作/xen/arch/x86/boot/trampoline.S读取内存,磁盘,视频信息进入保护模式装入新的GDT(gdt_table)/xen/arch/x86/boot/x86_32.S启动第三阶段调用_start_xen (/xen/arch/x86/setup.c),参考:http:/,Xen启动 _start_xen,获取命令行参数从mod指向的module_t数组的第一个元素中取出kernel的启动参数。默认第一个是内核,第二个是initrd。/xen/arch/x86/setup.c,参考: http:/,Xen启动 _start_xen,加载dom0,下周计划,考察xen启动函数。在dom0加载运行之前实现简单的校验函数:计算校验和并输出。后续再完善/扩展校验功能。,参考资料,xen虚拟化技术 石磊,邹德清head.s解析http:/,Thanks,

    注意事项

    本文(xen架构与源码分析ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开