马哥Linux笔记--VMware Workstation系统虚拟化

站在任何一个操作系统的角度来讲,它都认为自己是可以使用所有硬件的,它负责管理所有的硬件。因此操作系统看见的CPU是全量的CPU,即全部的CPU时间片。对于内存,它能够看见全部的、连续的的内存空间,这个内存空间必须要从0x0000开始。在32Bit系统中,有大概1MB的空间是给BIOS使用的,16MB是给DMA使用的。如果是64bit系统,有1Gb空间需要给DMA。虽然有1GB的空间分配给了DMA,但是这个空间其实还是可以使用的。对于IO设备来说,操作系统应该是能够看见全部的IO设备,而且每一个IO设备还应该关联到当前的内核所使用的CPU上某一个中断管脚和端口上。

那么按照上文所述,就以硬件的物理地址而言,可以把物理地址的内存空间划分为两段,针对物理内存的地址叫做PA,而每一个进程所看见的地址我们叫做VA,即线性地址又叫虚拟地址。

有了上述的前提,我们来讲讲在vmwareworkstation的虚拟化技术。我们知道,vmware workstation是安装在我们的操作系统当中的,是一款虚拟硬件的虚拟化技术。在我们的操作系统之上,我们允许很多的进行,vmware workstation置是其中的一款进程。当我们安装好这款软件之后呢?我们需要在他上面运行一些虚拟机。vmware workstation在这里就在我们的操作系统之上,给我们模拟出来了一堆的硬件,而且这些硬件设备没一个都是一个独立的平台。所以我们可以在这些额外的硬件之上安装操作系统。那么这样一来,架构就变成了我们的操作系统之上运行了一个软件,在这个软件之上又运行了一些操作系统。那么问题就出现了?我们开头就讲了,每一个操作系统都认为自己拥有对所有硬件的控制会管理权,是独占的。但是在我们当前的这个架构里面,我们的CPU时间片首先是我们的本身的操作系统分配给了上面运行的应用程序进行使用了,vmwareworkstation也属于这些应用程序。自然,vmware workstation也只不过是分配到了一点CPU时间片而已。那么更不用说,运行在vmware workstation之上的虚拟机了。所以没个虚拟机仅仅必能获取到很小的一部分CPU时间片。同时呢,我们也知道,每一个操作系统运行的时候,都分为两种模式,即用户态和内核态。如果vmware workstation上面的虚拟机开启来,在我们的这个架构中,就会存在三种模式。首先,我们本身的操作系统就有用户模式和内核模式了。在用户模式里面,运行的vmware workstation的虚拟机又有用户模式和内核模式。所以这样一来就是内核模式—内核模式—用户模式。而且每个虚拟机里面使用的又是连续的线性地址空间。但是vmware workstation上面虚拟机的内核所看见的并不是真正的物理地址空间,而是我们的本身的操作系统所提供给vmware workstation,由vmware workstation虚拟出来的地址空间。根据我们在前文所述,真在的物理地址空间0x0000以及由本身的操作系统所使用,并且将其中一部分分配给了DMA和BIOS,一部分留给内核自己运行使用,然后才会把剩下的空间给进程使用。所以真正的物理地址在分配给了进程之后,都是起始地址非0的地址段空间了。那么很显然vmware workstation上的虚拟机所使用的内存地址空间,不可能从真正的0地址段空间开始。所以在vmware workstation上,虚拟机使用的内存地址空间从0开始,那是vmware workstation给虚拟机虚拟的,由vmware workstation模拟欺骗的地址段。虚拟机的真正的内存数据存储在真实的物理地址空间存储里面。那么其实就是虚拟机到真实的物理地址空间会需要进过2次的转换。所以性能是很差的。

CPU虚拟化是按照时间片进行分配和调度,内存是进行虚拟与真实的地址转换,IO设备是模拟。那么vmware workstation上虚拟机的磁盘怎么和我们本地的磁盘关联起来,怎么模拟呢?

这就需要在真实的硬盘上面建立一个本地回环设备,在硬盘的某一段空间,创建本地回环设备,同时将这个设备以文件的形式表达出来,并和vmware workstation的虚拟的磁盘建立关联关系。当虚拟机往虚拟的磁盘里面存放数据的时候,就需要vmware workstation将其数据存放到本地真实的文件中。显然,虚拟机的磁盘性能没有本地真实的硬盘性能好,而且中间的IO还需要经过vmware workstation的转换。为了让性能好,我们其实可以使用存储,在vmware workstation之上是可以直接使用存储挂载的LUN进行读取和数据存取的。但是因为其建立在我们的操作系统之上,所以只支持iSCSi的存储设备进行挂载使用。

时间: 2024-10-12 11:39:26

马哥Linux笔记--VMware Workstation系统虚拟化的相关文章

马哥linux笔记 第一天

第一天内容: 1.上课环境准备 2.计算机及操作系统基础知识 3.计算机及操作系统基础知识2 4.linux系统安装及初步认识 一.写博客要求:5w1h (what,why,who,where,when,how) 条理清晰,合适编排,用户体验 二.计算机五大部件 CPU(运算器+控制器).Memory(存储器).I/O(输入.输出设备) 1.运算器 运算器是进行算术.逻辑运算的部件. 2.控制器 控制器是实现计算机各部分联系及程序自动执行的部件,其功能是从内存中依次取出命令,产生控制信号,向其他

马哥linux笔记(第4天 文件管理、命令别名和glob)

文件管理: cp,mv,rm 复制命令:cp cp [option] source dest cp [option] source directory cp [option] -t directory source cp sec dest 如果目标不存在:新建dest,并将src中内容填充至dest中: 如果目标存在: 如果dest是文件:覆盖 此时建议为cp命令使用-i选项,在覆盖前提示 如果dest是目录:在dest目录下创建一个与源文件同名的文件 cp sec... dest sec...

2016最新马哥Linux就业班+架构师班视频教程全套含随堂笔记PPT 全套资料免费分享

有朋友咨询问我是不是做营销的? 不是,不是,不是!!! 这么认为的话,干嘛还来咨询呢? 直接发我个邮件,附上你手里的最新教程分享链接,我一定回复. 不相信,解释再多也没用... 本人是一名运维工程师,主要做Linux和数据库运维工作.非常喜欢收集.整理.分享一些质量优质的IT技术教程.马哥Linux在业界可谓是名气响当当的,很多做系统运维的朋友或是刚入行的菜鸟视之为Linux教育界的教父,都趋之若鹜. 本人也不例外,我就是在2013.2014年平靠学习马哥那个套经典的运维教程走上linux运维之

马哥LINUX高薪LINUX高薪就业入门教程-虚拟机篇幅-学习笔记-11

课程名称:马哥Linux高薪就业入门-安装学习VMware Workstation9-1 课程主要内容:虚拟机安装及OS系统配置说明 虚拟机硬件配置: CPU,Memory,I/O(disk,Ethercard) 虚拟机关键字: 1.disk image file(磁盘映像文件) 2.Sparse(稀疏格式) 3.CPU超线程 虚拟机使用技巧: 1.虚拟机磁盘建议放置空间大,分区编号越小性能越好,对于不常用的文件就放到最外层的: 2.CPU一级缓存最高,二级缓存价格次之,一级缓存容量翻倍基本价格

马哥Linux学习笔记之五——邮件服务

1.SMTP只负责将邮件发送到服务器,其他的,像身份认证检测邮件,都不能完成.(25/tcp) ESMTP:Extended SMTP POP3:Post Office Protocol IMAP4:Internet Mail Access Protocol 2.Open Relay:开放式中继 就是人家的邮件从这个邮件服务器过,你都帮忙转发,这样就会成为产生垃圾邮件的根源.所以都要关闭Open Relay 3.SASL,Simple Authintication Secure Layer,简单

马哥Linux学习笔记之二——网络

1.MAC(Media Access Control,介质访问控制) 是解决底层数据通信冲突的解决方案.因此,给每一个接入这样网络的主机一个id标示符,这个id标示符就叫做MAC地址. 2.CSMA/CD(Carrier Sense Multipath Access Collision Detection,载波侦听多路访问冲突检测),线型网络 以太网Ethernet最核心的标志. 3.Token-Ring(IBM)技术 环形网络解决冲突的方案.但是由于IBM的专利限制没能推广开来. 4.星形网络

马哥Linux学习笔记之一

1.在执行脚本的时候可以用./或者. ./(点空格点斜杠)来执行脚本 ./ 表示启动了另一个Shell去执行脚本(另一个进程),所以点斜杠执行脚本时,设置的环境变量会随着进程的退出而结束,其中的环境变量设置对当前Shell不起作用. . ./相当于source ./执行脚本,source是执行脚本当中的命令,也就是说在当前进程中执行命令,所以其中的环境变量的设置会对当前Shell其作用. 2. 读取硬盘上的文件 读取硬盘上的文件先要将文件读取到内存上,再将其在内存上地址交给进程,这样进程就可以读

马哥Linux学习笔记之四——DNS

1.BIND:Berkeley Internet Name Domain DNS:Domian Name Service 域名解析 2. Http 3.PAM 插入式认证模块 4.SMTP/POP3/IMAP4:Mail Server 5.域名 www.baidu.com这是一个主机名(FQDN,Full Qualified Domain Name,完全限定域名),com是一个域名,baidu.com也是一个域名,域名是好多主机的集合. 域名解析起后面有一个数据库,解析就是一个查询的过程.域名解

马哥Linux学习笔记之三——加密

1.明文传输 ftp,http,smtp,telnet 2.机密性:plaintext-->转换规则-->ciphertext ciphertext-->转换规则-->plaintext 完整性:单项加密算法,提取数据特征码.输入一样,输出必然一样:雪崩效应,输入的微小改变,将会引起结果的巨大改变:无论原始数据是多少,结果大小都是相同的:不可逆,无法根据特征码还原原来的数据. 3.密钥 4.对称加密:有加密算法,有密钥 5.密钥交换算法 IKE(Internet Key Excha