书评-虚拟化技术的世界,远比你想象的宽广

2023-10-12 07:32

本文主要是介绍书评-虚拟化技术的世界,远比你想象的宽广,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

后来发现,这本书已经出版了影印版,电子工业出版社《虚拟机——系统与进程的通用平台》,先看看书评吧:

虚拟机技术应用整机虚拟化的概念,摆脱实体机的兼容性和硬件资源的约束,实现更高程度的软件可移植性和适用性。虚拟机快速成为计算机系统设计中的基本要素,用于解决计算机系统各主要组件间连接界面的多种问题,在计算机各专业领域,包括操作系统、程序设计语言和计算机系统结构中占据了重要位置。

 虚拟机技术通过对整个机器的虚拟抽象,解决了物理硬件的兼容性和资源限制问题,提供了软件的可移植性和灵活性。(PSK询问:虚拟机出现的目的是什么?是提高硬件的利用率吗?似乎我现在的认识水平就停留在这里呢;是解决物理硬件的兼容性吗?那么Tivoli是不是解决了这个问题;这方面更加进一步说,是不是虚拟机的出现,实现了物理环境的统一?这里,统一的目的,不是前面说到的提高利用率和解决兼容性那么简单——看过了“墨攻”,我的第一个反应是“秦始皇太伟大了”,因为在他的手上统一了中国,这样子很多的痛苦,很多的问题都相应地解决了!也就不会出现墨攻中的百姓之苦,将领之苦,战争之苦。这里我要说出我所认为的虚拟机出现的目的以及伟大所在:提供了软件的可移植性和灵活性,或者说使整个IT架构的层次内部实现了统一,这样子在用户的视角看来,不同的硬件,不同的架构,不同的协议,都是一致的,用户不需要考虑背后实现的原理,这对于用户的生产力来说是,伟大的解放!用户只需要专注在自己的专长上面,而不需要被先前体制的混乱所束缚。)目前,虚拟机技术在计算机系统的各个层次中都得到了广泛的应用,事实上,已经成为计算机系统设计的重要因素。其应用包括:系统安全、跨平台兼容性、可靠性和灵活性、有效的资源管理等方面,虚拟机技术无处不在。例如,在“进程级”,虚拟机技术可用于实现动态二进制翻译平台无关的网络计算等功能。而在“系统级”,可在同一个平台或一个服务器集群上同时提供多个操作系统环境。(PSK点评:我现在关注的虚拟化技术,主要是集中在系统级,而对于进程级的涉猎,几乎没有;是不是必须经历过编程的细节,才能够体会虚拟化在进程级的优势呢。这里我还是停留在提高系统利用率和支持异构化平台的Level

回顾历史可见,在计算机学科的各个专业领域中,都各自开发了虚拟机技术,因而很难用一种简单捏合的方法揭示其潜在关系。在本书中,SmithNair另辟新路,将虚拟机作为一门统一的学科来探讨。由于对错综复杂的技术进行了融合,因而能够以一种结构合理的方式探讨和研究虚拟机的实现问题。

虚拟机技术的核心内容包括指令集仿真、动态程序翻译和优化、高级语言虚拟机(包括JavaCLI -- Common Language Infrastructure)以及系统虚拟机。即可用于单用户系统,也可用于服务器。

本书介绍了虚拟机技术在操作系统、程序设计语言和计算机系统结构方面的应用。本书内容全面,处于学科的最前沿;书中以清晰而深入的方式,借助有效的应用实例研究,包括IBMDaisyHPDynamo以及Intel/MicroSoftEL等各种系统,阐明了虚拟机的基本概念和原理。内容涉及虚拟机的分类、虚拟机的抽象、用目标指令集系统仿真源指令集系统、进程虚拟机的实现、用于提高仿真性能的代码优化技术、高级语言虚拟机及其实现、协同设计虚拟机、多处理器系统的虚拟化,以及其他新兴的虚拟机应用。

  
Virtual Machines: Versatile Platforms
  For Systems and Processes
  James E.Smith & Ravi Nair/
  Elsevier 出版
  James E.Smith
- Professor in University of Wisconsin-Madsion
Ravi Nair
  - Research Staff Member at IBM Thomas J. Watson Center
 

虚拟化是众人琅琅上口的IT技术流行字汇,但假如今天有人说:从网格运算到操作系统的多行程(Process),也是一种「虚拟化」,你会相信吗?而现在因英特尔与AMDx86处理器,都开始支持过去只能在CISC大型主机与高阶RISC服务器才能享受到的虚拟化技术,重要性已水涨船高,也占领越来越多的媒体篇幅,但虚拟化技术就这么单纯吗?只是「左手画圆,右手画方」而已吗?

Virtual Machines: Versatile Platforms For Systems and Processes》一书的问世,将彻底改变你的成见与看法,这也是我们认为目前唯一深入介绍所有虚拟机器技术的专书。


抽丝剥茧,巨细靡遗,直探各种虚拟化技术的核心
此书每个章节均数据详实且巨细靡遗,剖析各类型虚拟机器的技术细节、内部运作流程和设计层面的取舍。像第八章「系统虚拟机器」以VMWare公司的产品为案例,解释x86指令集先天的诸多限制与VMWare提出的解决之道,进而讨论英特尔Vanderpool的存在价值和不足之处,甚至以非常难以虚拟化的RDTSC指令作例子,详细描绘出Vanderpool运作的全貌和优点。总而言之,此类精密分析遍布全书,极为精彩。

在了解「虚拟」机器之前,我们绝不能缺乏对「真实」计算机的认知。书中提供简介指令集架构、操作系统、系统初始化流程与多处理器环境的「Real Machines」附录,协助读者掌握阅读前的基本知识。但整体而言,因内容既深且广,要充分理解仍非常困难,建议你阅读前,能再重温计算器结构、编译器与操作系统等基础科目。


从单一行程延伸整体系统的虚拟化技术光谱
除了建立虚拟机器与模拟(Emulation)观念的前两章和总结的最后一章外,本书可分为两大部分:单一行程(Process)与整体系统(System)的虚拟化技术。前者包含了二进制执行文件转换器、高阶程序语言虚拟机器,以及藉由硬件辅助的指令集转换机制,后者进一步延伸至全系统虚拟机器、半虚拟化技术(Paravirtualization)与多处理器环境的虚拟化。

值得注意的是,过去便于移植Pascal编译器的P-Code到今天的Java.NET,已是行之有年的虚拟化应用了。


也许你会疑惑:这和虚拟化有什么关系?事实上,JavaJVMJava Virtual Machine)与C#CLICommon Language Infrastructure)本质上都是一种虚拟机器,拥有独立于底层硬件的堆栈式指令集架构,并非单纯的程序语言,不少计算器结构教科书还特别将其视为指令集架构的范例。


在以VMWare为首的全系统虚拟机器之外,这本书也探讨高阶服务器普遍具备的分割区(Partitioning),以及英特尔的Vanderpool处理器虚拟化技术,范围之广,由此可见一斑。


告诉你虚拟化技术的未来应用
形形色色的虚拟化技术,最终还得重回实际应用的原点。第十章「浮现中的应用」堪称集各章节内容的大成,预测虚拟机器的未来用途,如透过动态编译二进制执行文件来改进程序的强固性,在既有操作系统内建另一个虚拟机器,将把防火墙/IDS等安全性相关的应用程序,放在主控端操作系统里,藉以保护客户端操作系统安全,或者经由网络动态转移计算机设定组态至另一台电脑上。

诸如此类的应用,从此书出版至今的近两年,都陆续成为现实中存在的技术与产品,如英特尔的vPro以及预计在新一代vPro平台整合LaGrande安全运算技术的TXT Trusted Execution Technology);或是同一个指令集平台上能动态重新编译二进制执行文件的技术,像HP的「Dynamo」与后继的「DynamoRIO」等,亦可提升应用程序的安全性。


笔者2005年曾在英特尔总部参加一年一度的RD Day活动,首度得知「Internet Suspend/ResumeISR)」技术,在这个应用架构上,行动工作者想要把工作用计算机上的设定组态带着跑,可将虚拟机器的状态,搬移至扮演个人服务器角色的手机,再传送到另外一台电脑。如果这难以理解,你可以想象今天正在用VMWare执行一个操作系统,只是把这个操作系统的映像文件,透过手机转移到另一台执行VMWare的计算机上,摇身一变为随身携带的一台虚拟个人计算机。本章节不但没有遗漏这样的应用,更以此为开端,详述虚拟个人计算机系统移转的挑战,像如何加快收集系统运作状态与减少网络频宽的需求等。VMWare VirtualCenterVMotion虚拟服务器移转技术,也成为本章的一部分。


虚拟化发展至最终,我们将迈入「组织虚拟化」,也就是无数软硬件厂商高喊入云的网格运算,并描述其概观作为全书结尾。网格运算看似虚幻,对有心人来说,这导读是相当简洁易懂。


虚拟化的范围到底有多大?
英特尔资深院士兼软件解决方案事业群总经理Richard Wirt在八月Intel Software Insight杂志的「The Convergence of Virtualization, Grid, and SOA」文中表示,相较于微观的处理器虚拟化,网格运算与红透半边天的SOA,就是巨观的虚拟化,象征着融合成一个整体的IT运算架构。

换言之,我们从更大的视野去检视「虚拟化」一词,就可发现意义并不狭隘,它充满了巨大的发展空间。在未来,虚拟化势必改变IT架构的风貌,现在台面上琳琅满目的新名词,只是巨大变革的第一步,而这本不可多得的虚拟机器教科书,将成为引领你踏入这美丽新世界的指南针。文刘人豪

 

这篇关于书评-虚拟化技术的世界,远比你想象的宽广的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/194317

相关文章

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m