<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Phet.in.th HS4POV เพชรอินไทย บล็อกคนไทย ใครๆก็อยากอ่าน  แลกเปลี่ยนและเรียนรู้ เพราะเทคโนโลยีไม่มีวันหยุดนิ่ง &#187; Virtual Machine</title>
	<atom:link href="http://www.phet.in.th/tag/virtual-machine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phet.in.th</link>
	<description>เพชรอินไทย บล็อกคนไทย ใครๆก็อยากอ่าน</description>
	<lastBuildDate>Thu, 29 Dec 2011 03:13:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Virtualization &amp; Virtual Machine Concept</title>
		<link>http://www.phet.in.th/2009/11/virtual-machine-concept/</link>
		<comments>http://www.phet.in.th/2009/11/virtual-machine-concept/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:03:15 +0000</pubDate>
		<dc:creator>Phet</dc:creator>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Genaral Talk]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[an efficient]]></category>
		<category><![CDATA[CPU single Core]]></category>
		<category><![CDATA[Full virtualization]]></category>
		<category><![CDATA[Guest Operating System]]></category>
		<category><![CDATA[hardware virtual machines]]></category>
		<category><![CDATA[isolated duplicate of a real machine]]></category>
		<category><![CDATA[Java Runtime Environment]]></category>
		<category><![CDATA[memory virtualization]]></category>
		<category><![CDATA[Microsoft Virtual Server]]></category>
		<category><![CDATA[Para-virtualization]]></category>
		<category><![CDATA[Physical memory]]></category>
		<category><![CDATA[Popek and Goldberg]]></category>
		<category><![CDATA[System virtual machines]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[Virtual Machine Concept]]></category>
		<category><![CDATA[Virtual Machines Monitor]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[VMs]]></category>
		<category><![CDATA[VMware ESX Server]]></category>
		<category><![CDATA[กลุ่มที่สองคือ process virtual machine]]></category>

		<guid isPermaLink="false">http://www.phet.in.th/?p=500</guid>
		<description><![CDATA[สวัสดีท่านผู้อ่านทุกท่านครับ วันนี้มีโอกาสพิเศษได้มาเขียนบทความที่ตัวเองไม่ถนัด อันที่จริงแล้วไม่แน่ใจเสียด้วยซ้ำว่าข้อมูลและบทวิเคราะห์ที่นำเสนอออกไปนั้นมันจะถูกหรือไม่นั้นถ้าท่านผู้อ่านท่านใดต้องการเสนอแนะโต้แย้งในประเด็นใดสามารถแจ้งเข้ามาได้ผ่าน Comment นะครับ Virtual Machine Concept คือ แนวคิดการสร้างเครื่องคอมพิวเตอร์เสมือนบนฮาร์ดแวร์เพียงชุดเดียวซึ่งมันสามารถทำงานได้เสมือนกับว่ามีคอมพิวเตอร์หลายๆเครื่อง โดยมีการแยกการทำงานของระบบต่างๆได้อย่างเป็นอิสระต่อกัน มีการให้แนวคิดแรกๆของ Virtual Machine ซึ่งถูกกล่าวโดย Popek and Goldberg โดยกล่าวสั้นๆไว้ว่า&#8221;an efficient, isolated duplicate of a real machine&#8221; หรือ &#8220;มีประสิทธิภาพ และแยกการทำงานออกจากกันได้เสมือนจริง Virtual Machine นั้นแบ่งเป็นสองประเภทใหญ่ๆคือ กลุ่มแรก System virtual machines มันคือ Virtual Machine ที่แยกการทำงานโดยสมบูรณ์ทั้งระบบ ไม่ว่าจะเป็นการจำลองเสมือนหมดทุกอย่างไม่ว่าจะเป็น Bios, Hardware ต่างๆ, Hard disk, ram, Netword Card รวมไปถึงอุปกรณ์อื่นๆ และสามารถเรียกใช้งานระบบปฏิบัติการได้อย่างสมบูรณ์ กลุ่มที่สองคือ process virtual machine [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>สวัสดีท่านผู้อ่านทุกท่านครับ วันนี้มีโอกาสพิเศษได้มาเขียนบทความที่ตัวเองไม่ถนัด อันที่จริงแล้วไม่แน่ใจเสียด้วยซ้ำว่าข้อมูลและบทวิเคราะห์ที่นำเสนอออกไปนั้นมันจะถูกหรือไม่นั้นถ้าท่านผู้อ่านท่านใดต้องการเสนอแนะโต้แย้งในประเด็นใดสามารถแจ้งเข้ามาได้ผ่าน Comment นะครับ</p></blockquote>
<p><img class="alignleft" src="http://img.spacethai.net/images/wvchartvm.gif" alt="http://img.spacethai.net/images/wvchartvm.gif" width="172" height="200" /><strong>Virtual Machine Concept</strong> คือ แนวคิดการสร้างเครื่องคอมพิวเตอร์เสมือนบนฮาร์ดแวร์เพียงชุดเดียวซึ่งมันสามารถทำงานได้เสมือนกับว่ามีคอมพิวเตอร์หลายๆเครื่อง โดยมีการแยกการทำงานของระบบต่างๆได้อย่างเป็นอิสระต่อกัน</p>
<p>มีการให้แนวคิดแรกๆของ Virtual Machine ซึ่งถูกกล่าวโดย Popek and Goldberg โดยกล่าวสั้นๆไว้ว่า&#8221;an efficient, isolated duplicate of a real machine&#8221; หรือ &#8220;มีประสิทธิภาพ และแยกการทำงานออกจากกันได้เสมือนจริง</p>
<p>Virtual Machine นั้นแบ่งเป็นสองประเภทใหญ่ๆคือ</p>
<p><strong>กลุ่มแรก System virtual machines</strong></p>
<p>มันคือ Virtual Machine ที่แยกการทำงานโดยสมบูรณ์ทั้งระบบ ไม่ว่าจะเป็นการจำลองเสมือนหมดทุกอย่างไม่ว่าจะเป็น Bios, Hardware ต่างๆ, Hard disk, ram, Netword Card รวมไปถึงอุปกรณ์อื่นๆ และสามารถเรียกใช้งานระบบปฏิบัติการได้อย่างสมบูรณ์</p>
<p><strong>กลุ่มที่สองคือ process virtual machine </strong>มันถูกออกแบบมาเฉพาะเจาะจงมากกว่า System virtual machines มันอาจถูกออกแบบมาให้รันโปรแกรมโปรแกรมหนื่งหรือประมวลผลอย่างใดอย่างหนึ่งเท่านั้น ยกตัวอย่าง virtual machine ชนิดนี้เช่น Java Runtime Environment (JRE) มันคือซอร์ฟแวร์ที่รับคำสั่งจากซอร์ฟแวรืที่เป็นจาวา แล้วทำการประมวลผลและแสดงผลข้อมูลเสมือนกับเป็นระบบปฏิบัติการย่อยๆเลยทีเดียว</p>
<p><strong>System virtual machines</strong> บางครั้งอาจเรียกว่า hardware virtual machines มันคือระบบที่ออกแบบมาเพื่อจำลอง เครื่องคอมพิวเตอร์หลายๆเครื่องให้ทำงานพร้อมกัน และเป็นอิสระต่อกันทั้งการใช้ข้อมูลในฮาร์ดิส การเข้าถึงแรม การใช้คำสั่งประมวลผล ตลอดจนระบบปฏิบัติการ สิ่งเหล่านี้ล้วนแยกออกจากันโดยอิสระ System virtual machines ยังถูกแบ่งออกเป็นสองชนิดคือ <span> (<strong>Type 1</strong> หรือ <strong>native</strong> VM) และ (<strong>Type 2</strong> หรือ <strong>hosted</strong> VM)</span></p>
<p><a target="_blank" rel="nofollow" href="http://www.phet.in.th/goto/http://img.spacethai.net/images/5.png" ><img src="http://img.spacethai.net/images/5.png" alt="http://img.spacethai.net/images/5.png" width="558" height="266" /></a></p>
<p><strong><span>ความสามารถหลักๆของ </span>virtual machines</strong></p>
<p><img class="alignleft" src="http://img.spacethai.net/images/virtualmac.jpg" alt="http://img.spacethai.net/images/virtualmac.jpg" width="322" height="241" /> # จะต้องรัน OS หรือระบบปฏิบัติการได้หลายๆระบบปฏิบัติการพร้อมๆกันในสภาพแวดล้อมที่เรียกว่า co-exist หรือมีการใช้งานพร้อมๆกันโดยจะต้องแยกการทำงานให้เป็นอิสระต่อกัน</p>
<p># virtual machine จะสามารถเรียกใช้คำสั่งต่างๆในการประมวลผลจาก CPU ซึ่งอยู่ในหน่วยประมวลผล (processor) ได้เสมือนกับการใช้เครื่องคอมพิวเตอร์จริงๆ</p>
<p># ซอร์ฟแวร์ โปรแกรมประยุกต์และ application ต่างๆ จะทำงานได้อย่างมีประสิทธิภาพและมีเสถียรภาพตลอดจนจะต้องสามารถกู้คือการทำงานได้</p>
<p><strong>ข้อจำกัดของ virtual machines</strong></p>
<p>แม้ในทางทฤษฏีแล้ว virtual machines ไม่ต่างอะไรกับการใช้เครื่องจริงๆ แต่ในทางปฏิบัตินั้นพบปัญหาทางอ้อมในการเข้าถึงฮาร์ดแวร์ซึ่งปัญหานั้นเกิดจากการที่ฮาร์ดแวร์ยังไม่มีประสิทธิภาพเท่าที่ควรนัก</p>
<p>โดยส่วนใหญ่แล้วเมื่อเรากล่าวถึง Virtual Machine มักจะเป็นการนำซอร์ฟแวมาช่วยในการจำลองเครื่องคอมพิวเตอร์อีกเครื่องหนึ่งเพื่อรันระบบปฏิบัติการโดยเราสามารถควบคุม การใช้ทรัพยากรตั้งแต่หน่วยประมวลผล พื้นที่ฮาร์ดดิส แรม และอุปกรณ์อื่นๆ</p>
<p>แต่อย่างไรก็ดีด้วยข้อจำกัดของ ฮาร์ดแวร์ประมวลผลหรือ CPU single Core ที่ต้องอาศัยเทคนิค time-sharin ในการแบ่งช่วงเวลาเพื่อทำงานหลายๆงาน ทำการเมื่อนำ Virtual Machine มาใช้ยิ่งทำให้การประมวลผลช้าลงอย่างมาก ซึ่งซอร์ฟแวร์ที่ทำหน้าที่เป็น Virtual Machine จะต้องทำการแบ่งทรัพยากรในการประมวลผลให้มีประสิทธิตลอดจากการใช้หน่วยความจำ ซึ่งมีการนำเทคนิคที่ชื่อว่า memory virtualization มาช่วยในการจัดสรรทรัพยากรหน่วยความจำเพื่อใช้ร่วมกัน</p>
<p>Virtual Machine นั้นบางครั้งเราก็มักจะนำมารวมเป็นส่วนหนึ่งกับ เทคโนโลยี Virtualization ซึ่งเวชวลไลเซชันซอฟต์แวต์ก็คือการสร้างสภาพแวดล้อมจำลองของเครื่องขึ้นมา โดยที่มันจะทำงานอยู่ภายใต้ฮาร์ดแวร์นั้น เวชวล<br />
ไล เซชันซอฟต์แวต์ก็คือการสร้างส่วนควบคุมที่เชื่อมต่อกับซอฟต์แวร์ที่ ทำหน้าเป็นเครื่องคอมพิวเตอร์เสมือนหรือที่เราเรียกว่าเวชวลแมชชีน<br />
(Virtual Machines:VMs) ซึ่งก็คือซอฟต์แวร์ที่ทำหน้าที่ในการทำงานเป็นตัวแทนของทรัพยากรต่างๆบน เครื่องคอมพิวเตอร์ ตัวอย่าง<br />
เช่น  การจำลองโปสเซสเซอร์  (Processor) , หน่วยความจำหลัก  (Physical memory) , การเชื่อมต่อกับเครือข่าย (Network connection) และ อุปกรณ์ อินพุท เอาท์พุท (IO Device)เป็นต้น ในส่วนซอฟต์แวต์ด้านสแตก จะรวมเอาระบบปฏิบัติการ (Operating system) และโปรแกรมต่างๆ ให้ทำงานอยู่ในส่วนบนสุดของตัว เวชวลแมชชีน ซึ่งการทำงานของซอฟต์แวร์เวชวลแมชชีนต่างๆ สามารถที่<br />
จะทำงานพร้อมกันได้ในเครื่องเดียวกัน และในการเข้าใช้ทรัพยากรเครื่องของตัวซอฟต์แวร์เวชวลแมชชีน จะถูกควบคุมด้วยโปรแกรมที่เรียกว่า เวชวลแมชชีนมอนิเตอร์ (Virtual Machines Monitor:VMM) ซึ่งถูกออกแบบมาเพื่อช่วยในการจัดการและจัดสรรการใช้ทรัพยากรของระบบร่วมกัน รวมถึงการแปลคำสั่งจากเวชวลแมชชีนไปเป็นคำสั่งระบบของเครื่อง (Physical Hardware)</p>
<p><img class="alignleft" src="http://img.spacethai.net/images/vmwarevi3d.gif" alt="http://img.spacethai.net/images/vmwarevi3d.gif" width="275" height="348" />สถาปัตยกรรมของการทำเวชวลไลเซชั่น</p>
<p>มีทางเลือกมากมายในการ สนับสนุนเทคโนโลยีการทำงานของเวชวลไลเชชัน แต่มีเทคนิคอยู่ 2 รูปแบบที่เป็นผู้นำทางด้านเทคโนโลยีนี้อยู่ก็คือเทคนิคแบบ Full virtualization และ Para-virtualization</p>
<p>Full virtualization สำหรับการทำเวชวลไลเซชั่นในรูปแบบนี้ ถูกออก แบบเพื่อเตรียมการทำให้เป็นรูปแบบเสมือนทั้งหมดของฮาร์ดแวร์ และสร้างระบบเสมือนที่สมบูรณ์ ในที่นี้จะทำให้เราสามารถที่นำ ระบบปฏิบัติการอื่นๆ มาติดตั้งและสามารถที่จะทำงานอยู่บนเครื่องคอมพิเตอร์เดียวกันได้ ซึ่งเราจะเรียกว่าระบบปฏิบัติที่มาติดตั้งเพิ่มเติมนี้ว่า ระบบปฏิบัติการเยือน ( Guest Operating System: GOS ) โดยที่ระบบปฏิบัติการเยือนสามารถที่จะทำงานได้โดยไม่ต้องมีการแก้ไขเปลี่ยน แปลงสิ่งใดๆ กับคำสั่งที่ถูกร้องขอจากระบบปฏิบัติการเยือนนั้นๆ หรือในตัวโปรแกรมของมันเอง เพราะฉะนั้น ระบบปฏิบัติการเยือนหรือโปรแกรม จะไม่ทราบถึงสภาพแวดล้อมจำลองเสมือนจริงที่เกิดขึ้น จึงทำให้ระบบปฏิบัติการเยือนและโปรแกรมของมันทำงานอยู่บน เวชวลแมชชีน ในขณะที่ในความจริงแล้วจะต้องทำงานบนสภาวะแวดล้อมของระบบจริงๆ ( Physical system ) วิธีการนี้ทำให้เกิดประโยชน์ เพราะว่ามันได้แยกการเชื่อมต่อของซอฟต์แวร์และระบบปฏิบัติการเยือน ออกจากฮาร์ดแวร์อย่างสมบูรณ์ ดังนั้นผลลัพธ์ของวิธีการแบบ Full virtualization ก็คือสามารถให้มีเส้นทางการเคลื่อนย้ายของตัวซอฟต์แวร์ และ ภาระงานต่างๆ ( workloads ) ระหว่างระบบปฏิบัติการที่มีคุณสมบัติที่แตกต่างกัน ตัวอย่างของซอฟต์แวร์เวชวลไลเชชัน ที่ใช้เทคนิค Full virtualization ก็คือ Microsoft Virtual Server, และ VMware ESX Server</p>
<p>Para-virtualization เป็น อีกวิธีการหนึ่งในการทำเวชวลไลเชชัน โดยนำเสนอให้แต่ละ เวชวลแมชชีน คือรูปแบบเสมือนของฮาร์ดแวร์ที่ถูกนำเสนอเช่นเดียวกันกับแบบ Full virtualization แต่มีสิ่งที่ไม่เหมือนกันก็คือในเทคนิคแบบนี้จะสามารถระบุไปถึงภายในกายภาพ ของฮาร์ดแวร์ (Physical Hardware ) โดยเทคนิค Para-virtualization ต้องการที่จะมีการเปลี่ยนแปลงแก้ไขคำร้องขอของระบบปฏิบัติการเยือน ที่กำลังทำงานอยู่บนเวชวลแมชชีน ผลลัพธ์ของมันก็คือ ระบบปฏิบัติการเยือน จะรับรู้ได้ว่ามันกำลังทำงานอยู่บนซอฟต์แวร์เวชวลแมชชีนนั่นเอง มีการยอมรับว่าประสิทธิภาพที่ได้จะใกล้เคียงกับประสิทธิภาพตามธรรมชาติของ ระบบปฏิบัติการเยือน วิธีการของ Para- virtualization ยังคงดำเนินการพัฒนาและยังมีข้อจำกัดอยู่ เช่นการเกิดแคชของข้อมูลของระบบปฏิบัติการเยือน ( Guest Operating System Cache Data ) และการเชื่อมต่อกันที่ยังไม่มีความน่าเชื่อถือเพียงพอ ( Unauthenticated Connections )</p>
<blockquote><p>ปัจจุบันมีการนำเทคโนโลยี Virtual Machine มาใช้กันอย่างหลากหลายเนื่องจากมีการพัฒนาฮาร์ดแวร์ให้มีหน่วยประมวลผลแบบหลายคอร์หรือ muti core ซึ่งรองรับการทำ Virtual Machine ให้มีประสิทธิภาพสูงขึ้นจนแทบไม่ต่างจาก การใช้หน่วยประมวลผลจริงเพราะมันสามารถทำงาน virtual machine (VM) สอง session ในขณะที่ทำงานพร้อมกันบนระบบที่มีหน่วยประมวลผลกลางเพียงตัวเดียว</p></blockquote>
<p><em>แหล่งอ้างอิง</em></p>
<p>Wikipedia</p>
<p>intel.com</p>
<p>thaiopensource.org</p>
<p>ช่วยแปลไทยโดย Bing Google ดิกชันนารี่ และผมเอง</p>
<p>เรียบเรียงและวิเคราะห์ โดย เพชร อิ่มทองคำ ในนาม Phet.in.th</p>
<p>บทความนี้ให้ถือเป็นลิขสิทธิ ตามขอกำหนดของบล็อกนี้คือการอ้างอิงที่มา ตาม <a target="_blank" rel="nofollow" href="http://www.phet.in.th/goto/http://creativecommons.org/licenses/by-nc-nd/3.0/th" rel="license"  target="_blank"> Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License</a></p>
<p>เพิ่มเติมจาก <cite><a target="_blank" rel="nofollow" href="http://www.phet.in.th/goto/http://www.idayblog.com/" rel="external nofollow" >iDayBlog</a></cite></p>
<blockquote><p>รันโพรเซสหลายๆตัวในเวลาเดียวกัน หลักการเดียวกับพวก Dedicate Hosting ล่ะครับ จำลองการทำงาน เสมือนว่าทำงานอยู่บนคอมฯหรือเครื่องมือหลายๆตัว หรือแยกจากกัน ทั้งที่จริงก็รันการทำงานอยู่ศูนย์กลาง</p></blockquote>
<p>&copy;2012 <a href="http://www.phet.in.th" >Phet.in.th HS4POV เพชรอินไทย บล็อกคนไทย ใครๆก็อยากอ่าน  แลกเปลี่ยนและเรียนรู้ เพราะเทคโนโลยีไม่มีวันหยุดนิ่ง</a>. All Rights Reserved.</p>.<p><a target="_blank" rel="nofollow" href="http://www.phet.in.th/goto/http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.phet.in.th%2F2009%2F11%2Fvirtual-machine-concept%2F&amp;title=Virtualization%20%26%23038%3B%20Virtual%20Machine%20Concept" class="a2a_dd a2a_target addtoany_share_save"  id="wpa2a_2"><img src="http://www.phet.in.th/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.phet.in.th/2009/11/virtual-machine-concept/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

