开个技术blog-开篇:虚拟化技术小结

    我的口号是:拒绝转载,创新万岁!yy是创新之母,实践是创新之父!我会尽量写入自己的思考,也许不一定对。但自己思考的东西,哪怕有不足之处,也要好于单纯的转载。


    开篇:虚拟化技术小结

    虚拟化技术越来越热了,小结+yy一把:

    特定语言的虚拟机:对字节码的模拟。条件,OS不同。主要针对动态语言,可以实现跨平台。如JVM。关心OS

    最原始的办法:指令级模拟。条件:指令集不同,无OS。每读一条指令,就转化为目标机子上的指令。寄存器之类的在内存中。一般用于模拟嵌入式芯片。如WuKong模拟器。关心指令集。

    快一点的办法:用户态函数级模拟。条件:指令集相同。OS不同。用宿主机子上OSAPI实现目标应用程序所需的API。在用户态模拟。比如wine。关心API

    再快一点的办法:内核态函数级模拟。条件:指令集相同。OS不同。用宿主机子上OS的内核函数实现目标应用程序所需的系统调用。在内核态模拟。比如unified kernel。关心系统调用。

    虚拟硬件模式:大部分机器代码直接执行。条件:指令集相同,OS不同。当然要作一些钩子。加减乘除的指令不用改。内存相关指令?内核态怎么处理?硬件被虚拟化。一块虚拟的内存。例如:256M。内存物理地址要重新映射,因此MMU要虚拟。在虚拟的256M内存里,每个“进程”都有自己的页表。同样有内核态地址1G,这个任务交给MMU。但是这个内核态与真正的内核态不同。在宿主电脑看来,这个“内核态”仍然是用户态。所有“进程”都是在vmware的地址空间里运行。vmware4G地址空间有1G是真正的内核态,1G是虚拟的“内核态”。剩下2G用户态空间所有进程分享。如果不够,就把某块地址先rob过来,让其他进程对应的页失效。至于真正的内核态和虚拟的“内核态”的区分,要靠intel x86的四个ring了。把真正的内核态设置为ring0,虚拟的内核态设置为ring1,用户态设置为ring3。总线地址也经过了重新映射。“虚拟OS”对显存的操作,对鼠标键盘的操作,对网卡的操作,都变成单一进程对设备的操作。所以要发扬分身术。重新定义总线地址的操作。比如VMWare。关心硬件操作。

    还有虚拟操作系统模式Xen模式,就不仔细研究了。

 
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值