《微型计算机通信与接口技术》-第十章.pptVIP

《微型计算机通信与接口技术》-第十章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《微型计算机通信与接口技术》-第十章.ppt

第10章;本章学习目标 ;10.1 Windows操作系统内核结构 ; ;10.1.1 虚拟机的含义 ;DWORD CB_VMID; //虚拟机ID值 }; typedef struct cb_s* VMHANDLE; //虚拟机句柄 typedef struct cb_s** PVMHANDLE; //指向虚拟机句柄的指针 虚拟机控制块的CB_VM_Status域给出了虚拟机的状态。虚拟机一共有17种不同的状态,它们包括:唤醒状态(被信号灯阻塞后正在被唤醒),后台状态(虚拟机在后台运行),阻塞状态(虚拟机被信号灯阻塞),撤消状态(虚拟机收到撤消虚拟机的消息后正在撤消虚拟机),创建状态(虚拟机正在被创建),独占状态(虚拟机运行在独占模式下),高优先级后台状态(虚拟机有高的后台运行优先级),空闲状态(虚拟机空闲),不可执行状态(虚拟机部分已被破坏),可分页V86状态(虚拟机有可分页V86存储器),保护模式程序状态(虚拟机中包含保护模式应用程序),??护模式程;序执行状态(虚拟机中正在执行保护模式应用程序),32位保护模式程序状态(虚拟机中包含32位保护模式应用程序),悬挂状态(虚拟机没有被调度),调度状态(虚拟机按时间片调度),V86不可分页内存锁定状态(虚拟机锁定V86不可分页内存),VXD执行状态(虚拟机收到VXD的调用请求)。 每个虚拟机都有一套自己的客户寄存器,它们在内存中保存了CPU的寄存器的值,也就是说,通过这种方法为每个虚拟机虚拟了CPU的寄存器。 每个虚拟机都有自己的地址空间、I/O端口空间和中断向量表。 每个虚拟机都有自己的地址空间、I/O端口空间和中断向量表。 引导完成后,打开DOS窗口,即创建一个DOS虚拟机时,VMM将把存放在内存中适当地方MS-DOS环境拷贝到该DOS虚拟机地址空间中,所以刚开始各个DOS虚拟机环境显然一样,同时各个虚拟; 机改变环境时都只改变它自身拷贝的MS-DOS环境,所以相互间没有影响。 无论是系统虚拟机还是MS-DOS虚拟机,它们都提供虚拟内存、内存保护和保护检查。 1. 对I/O端口的操作。 在386及其以后的CPU中对I/O的控制主要采用了两种方法:标志寄存器EFLAGS中的IOPL域和I/O映射位图。在保护模式中,也就是在系统虚拟机中,标志寄存器EFLAGS中的IOPL域给出了可以进行I/O的最低特权级别。只有当当前特权级别CPL在数值上小于或等于IOPL域的值,即当前特权级别高于I/O特权级别时,才允许进行I/O操作,否则处理器将检查I/O映射位图,如果I/O映射位图中该端口对应为1时将产生一个一般保护异常,如果I/O映射位图中该端口对应位为0时将允许I/O操作。在虚拟86模式中,也就是在MS-DOS虚拟机中,I/O操作将忽略IOPL域,当产生I/O请求时处理器将立即与I/O映射位图对照。如果I/O映射位图中该端口; ;心所欲地做任何事。表10-1给出了被部分标准设备捕获的端口。 表10-1部分标准设备捕获的端口 ;2. 对内存的访问 在保护模式中,处理器对内存访问提供了段级保护和页级保护。虚拟86模式下,不需要段描述符等系统数据结构,但是虚拟86模式与保护模式都使用分页功能,因此虚拟86模式对内存的访问提供了页级保护。通过段级保护中检查段描述符的存在位P位和页级保护中检查页表项的存在位P位实现虚拟内存。当段描述符中P位为0时触发段不存在异常,而当页表项中P位为0时触发页错误异常,在异常处理程序中把硬盘中对应段或页的内容装入内存或者当物理内存不足时,则先淘汰一部分不常使用的数据或代码释放部分物理内存空间,然后再装入对应段或页的内容,当然这个过程对用户而言是透明的,用户可用内存远远大于实际的物理内存,真正实现了用硬盘虚拟内存。在满足特权检查的前提下,处理器使用GDT、LDT和IDT中的描述符以及页目录和页表等系统数据结构完成从虚拟地址到线性地址,再从线性地址到物理地址的转换。在有了物理地址后;就可以访问物理存储器了。在Windows 9x操作系统中还是主要依靠页错误机制来访问虚拟内存。当然还可以通过页错误机制来捕获内存的操作。现在需要捕获对某个内存地址的访问,Windows会将包括该内存地址的、页面的、页表的存在位P位清0,即将该页面标为不在内存中。当程序试图访问这个内存地址时,就会产生页错误异常。在异常处理程序中,系统系统再进行相关处理。Windows系统使用这一机制来虚拟如视频缓冲区这样的内存映射设备。当一个DOS程序往逻辑地址A000:000的视频缓冲区写入数据时,就由于系统捕获了对该内存地址的操作,从而将这个写操作写入的数据写到其他的物理内存位

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档