从虚拟想起
前几天在网上看到了一个关于中国人自主研制的超瘦虚拟机的消息,作为中国人的我感到十分的骄傲。从个人的角度说,跟我没有丝毫的关系,可是我却像是自己得到全世界人的承认一样,不!确切的说比自己得到承认还更高兴。这是值得纪念的一刻,一个值得我去怀念的一刻。
从我开始接触虚拟世界开始,不知道听了多少,可真正的去接触这个技术是从听到这个消息开始的。对于这个令人兴奋的消息,我感到兴奋与骄傲的同时,更多的是深刻的反省,自我反省!!回头想想这几年的历程,我刚到十分的~~而我去陷在其中不可自拔。每当得到CSDN老师的指导萎靡的我猛地抬起头努力的想要站起,可就在快站起的那一刻我放弃了,我义无反顾的低了下去,回到了从前的不想得去无能为力的状态。可就在听到这一个小小的那一刻我彻底的改变了,我真的醒了,确切的说我真的清醒了,因为我一直醒着,萎靡的醒着。我想把我的挣扎过程写下来,跟那些和我一样的人们分享,希望他们也能够早日振作、早日踏上梦想的路程,即使再艰辛也乐在其中。这可和苦中作乐不一样哦!可是每当提起笔却发现好复杂好难。
好吧,说了一大堆的废话,该切入正题了!
这个中国人自主研制的超瘦虚拟机的技术我不是很清楚,但是功能勉强还算了解。它跟InteL的技术不大一样,微软的虚拟技术是基于硬件的,微软推出的Vista受到大家的攻击,为了弥补VISTA的兼容性问题,随后推出了WINDOWS 7,.而为了实现vt,必须对硬件升级。也就是说它的硬件必须是支持虚拟这个技术的。而骆博士的超瘦虚拟机并不受到这个限制,用户们可以在windows7上很好的实现虚拟技术,在多个虚拟分区中运行同类的或者不同类的操作系统,各个操作系统之间的相互影响很小,系统资源得到了最大的应用。当某个分区负载较重时,操作系统就为它非配更多的资源,当它的负载下降时,操作系统就回收并非配给需要的分区,从而使各个任务之间得到最大的平衡,系统的资源的利用率达到最大。
刚刚好最近正在复习OS,所以就想到了一些os里的内存分配的各种算法。
Os的内存分配算法分为两种,一种是固定分区分配,另一种是动态分区分配。
固定分区分配
固定分区分配又又两种分法,一种是分区大小相等的固定分区,另一种是分区大小不等的固定分区。这个很好理解,前者就是每个分区的小小都相等,os每次都为每个任务分配一样大的内存,而后者就较灵活一点,根据任务的大小分配固定大小的分区,从而载入相应的作业。
动态分区分配
动态分区分配技术中涉及到了数据结构和算法。
动态分区分配的数据结构:主要有空闲分区链和空闲分区表。
动态分区分配的算法:first fit,next fit ,best fit ,worst fit ,quick fit.下面简单介绍各种算法的特别之处。
(1) first fit的问题:每次都是从第一个空闲分区中开始查寻,涉及到了空间碎片和时间开销的问题。
(2) next fit 需要特别设置查寻指针,因为这个算法每次都是从上次寻找到的空闲分区的下一个开始查寻的。
(3) best fit:这个有时候往往并不是best需要注意哦!这个算法会在内存中留下很多的空间碎片。
(4) Worst fit :worst并不是一定是最坏的哦,有时可能还是最好的恩!他的优点就是产生空间碎片的概率最小。
(5) Quick fit:这个是典型的以空间换时间的技术,如果使用不佳的话会浪费非常多的空间。他的主要优点就是查找的效率高、满足对大空间的要求,不会产生内存碎片。但是分区归还主存时算法很复杂、系统的开销时间很大。在计算机中跟他想反的技术叫做一时间换空间,如虚拟内存。
恩,总的来说,虚拟的技术已经非常的普及了,每天都受到虚拟的好处,可以说我们每天都活着虚拟的世界里。如虚拟存储器、各种虚拟机、虚拟控制台、虚拟缓存等等。今天做的linux也支持虚拟的技术哦!好了这次就写到这里了,下次再续!