CPU Virtualization คืออะไร

การจำลองเสมือนของ CPU เกี่ยวข้องกับ CPU ตัวเดียวซึ่งทำหน้าที่เหมือนกับเป็นสอง CPU แยกกัน ผลก็เหมือนกับการใช้คอมพิวเตอร์สองเครื่องแยกกันในเครื่องที่มีอยู่จริง บางทีสาเหตุที่พบบ่อยที่สุดสำหรับการทำเช่นนี้คือการเรียกใช้ระบบปฏิบัติการที่แตกต่างกันสองระบบในเครื่องเดียว

CPU หรือหน่วยประมวลผลกลางเป็นองค์ประกอบที่สำคัญที่สุดของคอมพิวเตอร์ เป็นส่วนหนึ่งของคอมพิวเตอร์ที่ทำตามคำแนะนำของแอพพลิเคชั่นที่ทำงานบนคอมพิวเตอร์ ซีพียูมักรู้จักกันในชื่อชิพหรือไมโครชิป

วิธีการที่ CPU โต้ตอบกับแอพพลิเคชั่นนั้นถูกกำหนดโดยระบบปฏิบัติการของคอมพิวเตอร์ ระบบปฏิบัติการที่รู้จักกันดีที่สุดคือ Microsoft Windows®, Mac OS®และระบบโอเพ่นซอร์สต่างๆภายใต้แบนเนอร์ Linux โดยหลักการแล้ว CPU สามารถใช้งานระบบปฏิบัติการได้ครั้งละหนึ่งระบบเท่านั้น เป็นไปได้ที่จะติดตั้งมากกว่าหนึ่งระบบบนฮาร์ดไดรฟ์ของคอมพิวเตอร์ แต่โดยปกติจะสามารถเรียกใช้ครั้งละหนึ่งระบบเท่านั้น

เป้าหมายของการจำลองเสมือนของ CPU คือทำให้ CPU ทำงานในลักษณะเดียวกับที่ CPU แยกกันสองตัวจะทำงาน คำอธิบายที่ง่ายมากเกี่ยวกับวิธีการทำสิ่งนี้คือการตั้งค่าซอฟต์แวร์เวอร์ชวลไลเซชั่นในแบบที่มันสื่อสารด้วยโดยตรงกับ CPU เพียงอย่างเดียว ทุกสิ่งที่เกิดขึ้นในคอมพิวเตอร์ผ่านซอฟต์แวร์ ซอฟต์แวร์จะทำการแยกการสื่อสารกับคอมพิวเตอร์ส่วนที่เหลือราวกับว่าเชื่อมต่อกับ CPU สองตัวที่แตกต่างกัน

การใช้ CPU virtualization หนึ่งครั้งเพื่ออนุญาตให้ระบบปฏิบัติการสองระบบทำงานพร้อมกันได้ ตัวอย่างเช่นคอมพิวเตอร์ Apple สามารถใช้การจำลองเสมือนเพื่อเรียกใช้Windows®เวอร์ชันหนึ่งได้เช่นกันทำให้ผู้ใช้สามารถรันแอปพลิเคชันWindows®เท่านั้นได้ ในทำนองเดียวกันคอมพิวเตอร์ที่ใช้ Linux สามารถเรียกใช้Windows®ผ่านการจำลองเสมือน นอกจากนี้ยังเป็นไปได้ที่จะใช้ CPU virtualization เพื่อเรียกใช้Windows®บนMac®หรือ Linux PC หรือเรียกใช้ Mac OS®และ Linux ในเวลาเดียวกัน

ประโยชน์อีกประการของการทำเวอร์ชวลไลเซชันคืออนุญาตให้คอมพิวเตอร์หลายเครื่องสามารถใช้งานได้หลายคนพร้อมกัน สิ่งนี้จะทำงานโดยเครื่องหนึ่งซึ่งมี CPU ที่ใช้งานซอฟต์แวร์การจำลองเสมือนและจากนั้นเครื่องจะเชื่อมต่อกับ "โต๊ะทำงาน" หลายเครื่องโดยแต่ละเครื่องจะมีแป้นพิมพ์เมาส์และจอมอนิเตอร์ จากนั้นผู้ใช้แต่ละคนจะเรียกใช้สำเนาของระบบปฏิบัติการผ่านซีพียูเดียวกัน การตั้งค่านี้เป็นที่นิยมอย่างยิ่งในสถานที่ต่าง ๆ เช่นโรงเรียนในตลาดที่กำลังพัฒนาซึ่งมีงบประมาณ จำกัด มันทำงานได้ดีที่สุดที่ผู้ใช้ส่วนใหญ่ใช้งานแอพพลิเคชั่นที่มีความต้องการการประมวลผลค่อนข้างต่ำเช่นการท่องเว็บและการประมวลผลคำ

CPU virtualization ไม่ควรสับสนกับมัลติทาสกิ้งหรือไฮเปอร์เธรด การทำงานหลายอย่างเป็นเพียงการเรียกใช้มากกว่าหนึ่งแอปพลิเคชันในแต่ละครั้ง ระบบปฏิบัติการที่ทันสมัยทุกระบบอนุญาตให้ทำสิ่งนี้ได้บน CPU เดี่ยวแม้ว่าในทางเทคนิคจะมีเพียงแอปพลิเคชั่นเดียวเท่านั้นที่จัดการได้ในทุกช่วงเวลา ไฮเปอร์เธรดเป็นที่ที่ซีพียูที่ใช้งานร่วมกันได้สามารถรันแอพพลิเคชั่นที่เขียนขึ้นเป็นพิเศษในลักษณะที่กระทำสองอย่างพร้อมกัน