当前位置: 操作系统/服务器>windows
本页文章导读:
▪vmware 虚拟CPU 底层编程有关问题 vmware 虚拟CPU 底层编程问题如果我在虚拟机中的驱动程序中改变了APIC某个中断号的中断向量,是否会影响真实CPU的特性?也就是我想知道vmware是虚拟化了一个CPU(重新设置指令系统字节码等.........
▪ 请问netstat中IP统计结果是否正常 请教netstat中IP统计结果是否正常netstat -s命令查看IPv4 Statistics :Packets Received = 15951(接收包数),Received Packets Delivered = 15951(接收后转交的包数),Output Requests =15802(请求数)之前一直都是.........
▪ bat 获取硬件有关问题(硬盘,cpu) bat 获取硬件问题(硬盘,cpu)我现在写的批处理文件遇到几个问题:1. 想得到IP,我直接用ipconfig,虽然可以得到,但是如何截取,只要后面的IP地址?得到: IP Address. . . . . . . . . . . . : 10.8.0.91.........
[1]vmware 虚拟CPU 底层编程有关问题
来源: 互联网 发布时间: 2014-02-18
vmware 虚拟CPU 底层编程问题
如果我在虚拟机中的驱动程序中改变了APIC某个中断号的中断向量,是否会影响真实CPU的特性?也就是我想知道vmware是虚拟化了一个CPU(重新设置指令系统字节码等东西)还是直接调用真实的CPU。
vmware应是采用多层抽象的技术
简单理解,和操作系统一样,windows的所有操作都由ring 3的用户层提交到ring 0的内核层,最后由ntoskrnl.exe和hal.dll调用对应的*.sys驱动来完成
vmware也可以直接抽象自己的内核来供给虚拟机来使用,其实就是众多的驱动和服务,只不过虚拟机抽象的内核是建立在主机操作系统已有的基础上的,这就是多层抽象的意思
因此,虚拟机中的硬件都是抽象的,虚拟机中的任何操作都是先提交给vmware抽象的内核,再由该内核翻译给主机操作系统来操作
虚拟机无法直接使用主机所有的硬件,道理正是如此
当然,由于vmware的核心实际对应于主机的一些文件或内存,在处理虚拟机内部提交的某些操作时可能由于内核的漏洞存在溢出的可能,因此,网上也只说有穿透的可能,但似乎还没有发现,因此,vmware也有补丁
以上仅个人理解,因此,楼主的答案就是:
1.修改虚拟机中驱动驱序,不会影响到外面主机真实的cpu,最多不过是内部虚拟机蓝屏,要不网上很多人用虚拟机来调试内核或是测试病毒不是很危险
2.vmware是虚拟化的cpu,虚拟机内的指令会先传给vmware内核,由vmware翻译给主机再执行,不是直接调用
不会,我在上面实验病毒把虚拟系统完全弄死了,物理系统都没事
虚拟机里不会影响本机的,放心使用。记得vmware是虚拟化了一套指令系统。
如果我在虚拟机中的驱动程序中改变了APIC某个中断号的中断向量,是否会影响真实CPU的特性?也就是我想知道vmware是虚拟化了一个CPU(重新设置指令系统字节码等东西)还是直接调用真实的CPU。
vmware应是采用多层抽象的技术
简单理解,和操作系统一样,windows的所有操作都由ring 3的用户层提交到ring 0的内核层,最后由ntoskrnl.exe和hal.dll调用对应的*.sys驱动来完成
vmware也可以直接抽象自己的内核来供给虚拟机来使用,其实就是众多的驱动和服务,只不过虚拟机抽象的内核是建立在主机操作系统已有的基础上的,这就是多层抽象的意思
因此,虚拟机中的硬件都是抽象的,虚拟机中的任何操作都是先提交给vmware抽象的内核,再由该内核翻译给主机操作系统来操作
虚拟机无法直接使用主机所有的硬件,道理正是如此
当然,由于vmware的核心实际对应于主机的一些文件或内存,在处理虚拟机内部提交的某些操作时可能由于内核的漏洞存在溢出的可能,因此,网上也只说有穿透的可能,但似乎还没有发现,因此,vmware也有补丁
以上仅个人理解,因此,楼主的答案就是:
1.修改虚拟机中驱动驱序,不会影响到外面主机真实的cpu,最多不过是内部虚拟机蓝屏,要不网上很多人用虚拟机来调试内核或是测试病毒不是很危险
2.vmware是虚拟化的cpu,虚拟机内的指令会先传给vmware内核,由vmware翻译给主机再执行,不是直接调用
不会,我在上面实验病毒把虚拟系统完全弄死了,物理系统都没事
虚拟机里不会影响本机的,放心使用。记得vmware是虚拟化了一套指令系统。
[2] 请问netstat中IP统计结果是否正常
来源: 互联网 发布时间: 2014-02-18
请教netstat中IP统计结果是否正常
netstat -s命令查看IPv4 Statistics :Packets Received = 15951(接收包数),Received Packets Delivered = 15951(接收后转交的包数),Output Requests =15802(请求数)
之前一直都是请求数略大于接收包数,现在变成接收包数比请求数还多,有人也是这样吗,还是中毒了?谢谢
"接收包数比请求数还多",这很正常吗,网络刚连接时请求数一般会比接收包数多,尤其像无线网络信号不好时很明显;但如网速较快,用迅雷下一个大的文件,接收包的数量明显比请求数量多的
这种情况很正常,楼主不必担心
正常现象,我们正常上网上行带宽和下行带宽本来也就是不同的。
netstat -s命令查看IPv4 Statistics :Packets Received = 15951(接收包数),Received Packets Delivered = 15951(接收后转交的包数),Output Requests =15802(请求数)
之前一直都是请求数略大于接收包数,现在变成接收包数比请求数还多,有人也是这样吗,还是中毒了?谢谢
"接收包数比请求数还多",这很正常吗,网络刚连接时请求数一般会比接收包数多,尤其像无线网络信号不好时很明显;但如网速较快,用迅雷下一个大的文件,接收包的数量明显比请求数量多的
这种情况很正常,楼主不必担心
正常现象,我们正常上网上行带宽和下行带宽本来也就是不同的。
[3] bat 获取硬件有关问题(硬盘,cpu)
来源: 互联网 发布时间: 2014-02-18
bat 获取硬件问题(硬盘,cpu)
我现在写的批处理文件遇到几个问题:
1. 想得到IP,我直接用ipconfig,虽然可以得到,但是如何截取,只要后面的IP地址?
得到: IP Address. . . . . . . . . . . . : 10.8.0.91
只显示红色的部分,如何截取???
Assembly code
2. 做硬盘剩余空间的时候,要只得到总空间和已用空间,因为不会处理批处理中的计算,所以只能得到单独的如c e
f 盘等的信息,我要得到他们已用空间的和,请问如何处理?转换成MB形式(我除的时候不知道怎么处理)?就是最后只用写已用空间 ...MB
总空间 ...MB
Assembly code
3. 计算cpu核数时候有问题,一是NumberOfCores / NumberOfLogicalProcessors这两个没有,我想得到普遍适合的(限于windows系列);二是不会计算,只会简单的得到处理器个数。。
望高手,版主指点!!!谢谢!!!结贴率100%。。。。
test1.bat
BatchFile code
我现在写的批处理文件遇到几个问题:
1. 想得到IP,我直接用ipconfig,虽然可以得到,但是如何截取,只要后面的IP地址?
得到: IP Address. . . . . . . . . . . . : 10.8.0.91
只显示红色的部分,如何截取???
Assembly code
echo IP地址: for /f "tokens=1,* delims==" %%a in ('ipconfig^|find "IP Address"') do ( set /a tee+=1 echo %%a %%b ) echo.
2. 做硬盘剩余空间的时候,要只得到总空间和已用空间,因为不会处理批处理中的计算,所以只能得到单独的如c e
f 盘等的信息,我要得到他们已用空间的和,请问如何处理?转换成MB形式(我除的时候不知道怎么处理)?就是最后只用写已用空间 ...MB
总空间 ...MB
Assembly code
echo 硬 盘: for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get size^,totalsectors /value') do ( set /a tee+=1 if "!tee!" == "3" echo 总 空 间 = %%b if "!tee!" == "4" echo 已 用 空 间 = %%b ) echo.
3. 计算cpu核数时候有问题,一是NumberOfCores / NumberOfLogicalProcessors这两个没有,我想得到普遍适合的(限于windows系列);二是不会计算,只会简单的得到处理器个数。。
望高手,版主指点!!!谢谢!!!结贴率100%。。。。
test1.bat
BatchFile code
@echo off for /f "tokens=4" %%a in ('route print^|findstr 0.0.0.0.*0.0.0.0') do ( set IP=%%a ) echo,%IP%BatchFile code
硬盘空间的大小一般来说是超出了BAT能够直接计算的范围,也就是说直接除以1024是不行的。一般的:
1、自己在BAT里面写大数算法
2、在BAT里面动态生成一个用于计算的VBS
不知楼主更加倾向于哪种方案?
echo %number_of_processors%BatchFile code
@echo off setlocal enabledelayedexpansion cls set /a num2=1024*1024 set total=0 for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do ( set num1=0 set num3_str= set num4= for /f "tokens=3" %%j in ('dir /-c %%i:\ 2^>nul') do ( set num1=%%j ) if not "!num1!"=="0" ( call :loop for /f "delims=0 tokens=*" %%k in ("!num3_str!") do ( set num3_str=%%k ) echo. echo %%i 盘剩余空间为 !num3_str! MB set /a total+=!num3_str! echo. ) ) echo 剩余空间总量为 !total! MB pause goto :eof :loop :: 求商 set /a num3=%num4%%num1:~0,1%/%num2% :: 求商序列 set num3_str=%num3_str%%num3% :: 求余 set /a num4=%num4%%num1:~0,1%%%%num2% if %num4% equ 0 ( set num4= ) set num1=%num1:~1% if not "%num1%"=="" ( goto :loop ) goto :eof
最新技术文章: