SSD Nodes Learn 🎉 VPS เริ่ม $5.50/เดือน
คู่มือ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-08-13

ประวัติศาสตร์ VPS จากยุคเมนเฟรมสู่เทคโนโลยีคลาวด์

ย้อนรอยวิวัฒนาการจากระบบ time-sharing ในปี 1960 สู่ VPS ในปัจจุบัน ผ่านเทคโนโลยีอย่าง CTSS, Multics, Unix, IBM VM/370 จนถึง Xen และ KVM ว่าสิ่งใดที่ไม่เคยเปลี่ยนไป

ที่มาของ VPS ของคุณ

ประวัติศาสตร์ของการประมวลผลตั้งแต่ยุคเมนเฟรมจนถึงระบบคลาวด์ คือแนวคิดที่ทำให้ทรัพยากรมีราคาถูกลง แนวคิดนั้นคือการแบ่งเวลาใช้งาน (time-sharing) ซึ่งเป็นการอนุญาตให้ผู้ใช้หลายคนใช้งานเครื่องราคาแพงเครื่องเดียวกันได้ในเวลาเดียวกัน โดยให้มุมมองการใช้งานที่เป็นส่วนตัวแก่ผู้ใช้แต่ละคน แนวคิดนี้ถูกคิดค้นขึ้นในช่วงปี 1960 เนื่องจากคอมพิวเตอร์มีราคาสูงกว่าค่าจ้างของผู้ใช้งาน ทุกส่วนประกอบของ VPS ที่คุณเช่าในปัจจุบันถูกสร้างขึ้นเพื่อแก้ปัญหานี้ ไม่ว่าจะเป็นการแยกส่วนระหว่างผู้ใช้ (isolation), ตัวจัดตารางเวลา (scheduler) ที่คอยจัดสรรเวลา CPU, ไฮเปอร์ไวเซอร์ (hypervisor) และระบบการเรียกเก็บเงินที่นับตามชั่วโมง ปัญหานี้ไม่เคยหายไปไหน เพียงแต่ฮาร์ดแวร์มีราคาถูกลง ทำให้ส่วนแบ่งทรัพยากรที่ครั้งหนึ่งเคยต้องใช้งบประมาณวิจัยมหาศาล ปัจจุบันกลับมีราคาเพียงไม่กี่ดอลลาร์ต่อเดือนเท่านั้น

1959 ถึง 1961: เหตุผลที่แนวคิด time-sharing ถูกคิดค้นขึ้น

คอมพิวเตอร์ในทศวรรษ 1950 ทำงานในรูปแบบ batch ผู้ใช้ต้องเจาะบัตรคำสั่งโปรแกรม ส่งชุดบัตรให้กับเจ้าหน้าที่ แล้วค่อยกลับมารับผลลัพธ์ในภายหลัง การพิมพ์ผิดเพียงตัวอักษรเดียวอาจทำให้เสียเวลาไปทั้งวัน เครื่องคอมพิวเตอร์ต้องทำงานตลอดเวลาซึ่งเป็นเป้าหมายหลัก เนื่องจากเครื่องอย่าง IBM 7090 มีราคาสูงถึงหลายล้านดอลลาร์ ในขณะที่เวลาของผู้คนที่รอคอยการใช้งานนั้นไม่ได้ถูกนำมาคำนวณในใบแจ้งหนี้แต่อย่างใด

ในเดือนมกราคม 1959 John McCarthy ได้เสนอแนวคิดที่ตรงกันข้ามในบันทึกข้อความที่ MIT โดยระบุว่าเครื่องคอมพิวเตอร์ควรเป็นฝ่ายรอผู้ใช้งาน Christopher Strachey ได้อธิบายรูปแบบของ time-sharing ในการประชุม UNESCO ในปีเดียวกัน แม้ว่าเขาจะหมายถึงการที่โปรแกรมเมอร์คนหนึ่งทำการดีบั๊กในขณะที่งานอื่นกำลังรันอยู่ แทนที่จะเป็นการที่ผู้คนจำนวนมากพิมพ์คำสั่งพร้อมกัน ต่อมาในการประชุมครบรอบ 100 ปีของ MIT ในปี 1961 McCarthy ได้ขยายความแนวคิดนี้ว่า การประมวลผลควรถูกขายในรูปแบบสาธารณูปโภคและมีการคิดค่าบริการตามการใช้งานจริงเหมือนกับไฟฟ้า

ข้อโต้แย้งในขณะนั้นคือ time-sharing ทำให้สิ้นเปลืองทรัพยากรของเครื่อง การสลับการทำงานระหว่างผู้ใช้ต้องใช้รอบการประมวลผล (cycles) ซึ่งเป็นสิ่งที่แพงที่สุด ข้อโต้แย้งนี้ถูกต้อง แต่ในที่สุดก็ไม่มีความสำคัญอีกต่อไป เนื่องจากราคาของรอบการประมวลผลลดลงอย่างต่อเนื่องตลอด 60 ปีที่ผ่านมา ในขณะที่ราคาของเวลาและความสนใจของมนุษย์ไม่ได้ลดลงตามไปด้วย

สิ่งที่ CTSS จำเป็นต้องคิดค้นขึ้นมา

กลุ่มของ Fernando Corbató ที่ศูนย์คำนวณของ MIT ได้สร้าง Compatible Time-Sharing System (CTSS) ขึ้นมาเพื่อยุติข้อถกเถียงดังกล่าว ระบบนี้ถูกสาธิตครั้งแรกในเดือนพฤศจิกายน 1961 บนเครื่อง IBM 709 โดยรองรับผู้ใช้งาน 4 คน และใช้วิธีสลับงานของผู้ใช้แต่ละคนออกไปยังไดรฟ์เทปแม่เหล็กของตนเอง คำว่า "Compatible" หมายความว่าเครื่องยังคงสามารถรันระบบ batch แบบเดิมที่อยู่เบื้องล่างได้ เพราะไม่มีใครซื้อคอมพิวเตอร์ที่ทำได้เพียงแค่สิ่งใหม่เพียงอย่างเดียว

ผู้ใช้งาน 4 คนถือเป็นจำนวนที่น้อย แต่รายการปัญหาที่ต้องแก้ไขเพื่อให้บรรลุเป้าหมายนั้นไม่น้อยเลย และเป็นรายการเดียวกับที่ kernel ของคุณกำลังจัดการอยู่ในขณะนี้ CTSS จำเป็นต้องมี scheduler เพื่อไม่ให้งานที่ใช้เวลานานเพียงงานเดียวทำให้ terminal อื่นๆ ทั้งหมดค้างไป จำเป็นต้องมี memory protection เพื่อให้โปรแกรมที่เกิด crash ส่งผลกระทบแค่ผู้ใช้คนเดียวแทนที่จะทำให้ทั้งระบบล่ม จำเป็นต้องมีพื้นที่จัดเก็บข้อมูลที่ยังคงอยู่แม้จะ logout ออกไปแล้ว ซึ่งเป็นเหตุผลว่าทำไม CTSS จึงมีระบบไฟล์ยุคแรกๆ ที่ผู้ใช้สมัยใหม่จะคุ้นเคย และจำเป็นต้องมีรหัสผ่าน เพื่อไม่ให้ผู้ใช้คนหนึ่งสามารถอ่านไฟล์ของผู้ใช้อีกคนได้

หากเปลี่ยนชื่อส่วนประกอบเหล่านั้น คุณก็จะได้เครื่อง Linux หนึ่งเครื่อง scheduler ในปัจจุบันคือ EEVDF ซึ่งเข้ามาแทนที่ CFS ใน Linux 6.6 ส่วน memory protection คือ MMU (memory management unit) ที่จัดสรร virtual address space เฉพาะให้กับแต่ละ process พื้นที่จัดเก็บข้อมูลที่คงอยู่หลัง logout คือ home directory ของคุณ และไฟล์รหัสผ่านก็ยังคงถูกเรียกว่า /etc/passwd

Multics และระบบสาธารณูปโภคคอมพิวเตอร์

ระบบถัดไปของ MIT มีจุดมุ่งหมายเพื่อเป็นระบบสาธารณูปโภคตามที่ McCarthy ได้อธิบายไว้ โครงการ Project MAC เริ่มต้นขึ้นในปี 1963 โดยมีการลงนามจัดซื้อเครื่อง General Electric GE-645 ในเดือนสิงหาคม 1964 และเผยแพร่เอกสารชุดแรกเกี่ยวกับ Multics ในปี 1965 ชื่อของโครงการสื่อถึงแนวคิดหลักคือ Multiplexed Information and Computing Service โดยคำว่า Service หมายถึงสิ่งที่สามารถซื้อใช้ได้เป็นรายชั่วโมง

Multics ใช้เวลาพัฒนานานกว่าที่วางแผนไว้มาก เครื่องต้นแบบ GE-645 มาถึง MIT และ Bell Labs ในเดือนมกราคม 1967 ต่อมา Bell Labs ได้ถอนตัวจากโครงการในเดือนเมษายน 1969 Multics เริ่มเปิดให้บริการแก่ลูกค้าของศูนย์ประมวลผลข้อมูล MIT เมื่อวันที่ 1 ตุลาคม 1969 และได้เปิดใช้งานจริงในสภาพแวดล้อมการผลิตต่อเนื่องยาวนานถึง 31 ปี ระบบ Multics สุดท้ายที่ยังทำงานอยู่ ณ กรมกลาโหมแห่งชาติแคนาดาในเมือง Halifax รัฐ Nova Scotia ได้ถูกปิดตัวลงเมื่อวันที่ 30 ตุลาคม 2000

บ่อยครั้งที่ Multics ถูกมองว่าเป็นความล้มเหลวเนื่องจากเปิดตัวล่าช้าและทำงานช้า แต่ในแง่ของคำศัพท์เทคนิคกลับไม่ใช่เช่นนั้น ระบบนี้ได้ให้กำเนิดระบบไฟล์แบบลำดับชั้นที่มีไดเรกทอรีซ้อนอยู่ในไดเรกทอรี, ระบบ access control list สำหรับแต่ละไฟล์, หน่วยความจำเสมือนแบบแบ่งส่วน (segmented virtual memory) ที่ช่วยให้โปรแกรมสามารถเข้าถึงไฟล์ได้เสมือนเป็นหน่วยความจำ และ protection rings ที่จัดลำดับความน่าเชื่อถือของโค้ด ซึ่งแนวคิดเรื่อง rings นี้ยังคงฝังอยู่ในฮาร์ดแวร์ที่คุณใช้งานอยู่จนถึงปัจจุบัน การใช้ Ring 0 สำหรับ kernel และ Ring 3 สำหรับ user code เป็นคำศัพท์ที่มาจาก Multics และต่อมาเมื่อมีการทำ hardware virtualisation จึงได้มีการเพิ่มโหมดที่อยู่ต่ำกว่า Ring 0 สำหรับ hypervisor ซึ่งมักเรียกกันอย่างไม่เป็นทางการว่า Ring -1

Unix: การแบ่งเวลาใช้งานบนเครื่องที่คุณเป็นเจ้าของได้

การออกจากโครงการ Multics ทำให้ Ken Thompson ที่ Bell Labs ไม่มีระบบที่เขาต้องการใช้งาน ในปี 1969 เขาจึงเริ่มพัฒนาระบบที่มีขนาดเล็กกว่ามากบนเครื่อง PDP-7 ที่ถูกทิ้งไว้ คู่มือโปรแกรมเมอร์ Unix ฉบับแรกระบุวันที่ไว้ในเดือนพฤศจิกายน 1971 ซึ่งเป็นช่วงเวลาที่งานพัฒนาได้ย้ายไปอยู่บนเครื่อง PDP-11 แล้ว ในปี 1973 Thompson และ Dennis Ritchie ได้เขียน kernel ใหม่ด้วยภาษา C เพื่อให้ระบบสามารถย้ายไปทำงานบนฮาร์ดแวร์ใหม่ได้โดยไม่ต้องเขียนโค้ดขึ้นมาใหม่ด้วยมือทั้งหมด

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

บทความ "The UNIX Time-Sharing System" โดย Ritchie และ Thompson ปรากฏในวารสาร Communications of the ACM เมื่อเดือนกรกฎาคม 1974 บทความนี้อธิบายถึง VPS ของคุณไว้ว่าประกอบด้วย: กระบวนการทำงาน (processes), ระบบไฟล์แบบลำดับชั้นหนึ่งชุด, ไฟล์ที่เป็นเพียงกระแสของไบต์ (byte streams), fork, ผู้ใช้และกลุ่มผู้ใช้พร้อมสิทธิ์การเข้าถึง, และ shell ที่เป็นเพียงโปรแกรมทั่วไปไม่ใช่ส่วนหนึ่งของ kernel ห้าสิบสองปีต่อมา อินเทอร์เฟซดังกล่าวได้รับการต่อยอด แต่ไม่เคยถูกแทนที่เลย

เมนเฟรมรันเครื่องเสมือน (Virtual Machine) ได้จริงหรือในปี 1972?

ใช่ และนี่คือส่วนของเรื่องราวที่คนส่วนใหญ่มองข้าม ในขณะที่ MIT สร้าง Multics ขึ้นมา ศูนย์วิจัย Cambridge Scientific Center ของ IBM ก็มุ่งเป้าไปที่เป้าหมายเดียวกันจากอีกมุมหนึ่ง แทนที่จะใช้ระบบปฏิบัติการเดียวเพื่อให้บริการผู้ใช้จำนวนมาก Robert Creasy และ Les Comeau ได้สร้างโปรแกรมควบคุม (Control Program) ที่มอบคอมพิวเตอร์จำลองที่สมบูรณ์ให้แก่ผู้ใช้แต่ละคน โดย CP-40 เริ่มใช้งานจริงในเดือนมกราคม 1967 ผู้ใช้ทุกคนจะได้รับ System/360 เสมือนและรันระบบปฏิบัติการขนาดเล็กสำหรับผู้ใช้คนเดียวที่เรียกว่า CMS อยู่ภายในนั้น

CP-40 พัฒนาเป็น CP-67 บน System/360-67 ในปี 1968 และ IBM ได้ประกาศเปิดตัว VM/370 ในวันที่ 2 สิงหาคม 1972 นั่นคือไฮเปอร์ไวเซอร์เชิงพาณิชย์ที่ขายให้กับลูกค้าทั่วไปเมื่อ 54 ปีที่แล้ว โปรแกรมควบคุมทำหน้าที่มัลติเพล็กซ์ฮาร์ดแวร์จริง และระบบปฏิบัติการที่เป็นแขก (Guest Operating System) จะรันโดยไม่มีการแก้ไขใดๆ ภายในเครื่องเสมือนที่เข้าใจว่าตนเองเป็นเจ้าของเครื่องนั้นทั้งหมด

ทฤษฎีดังกล่าวปรากฏขึ้นในอีกสองปีต่อมา ในวารสาร Communications of the ACM ฉบับเดือนกรกฎาคม 1974 ซึ่งเป็นฉบับเดียวกับที่ตีพิมพ์บทความเรื่อง Unix บทความเรื่อง "Formal Requirements for Virtualizable Third Generation Architectures" ของ Gerald Popek และ Robert Goldberg ได้กำหนดสิ่งที่โปรเซสเซอร์ต้องทำเพื่อให้สามารถทำเวอร์ชวลไลเซชันได้ กฎหลักนั้นสั้นและกระชับ คือทุกคำสั่งที่สามารถอ่านหรือเปลี่ยนแปลงสถานะของเครื่องจะต้องเกิดการ trap เมื่อแขก (Guest) รันคำสั่งนั้นในโหมดที่ไม่ใช่เคอร์เนล เพื่อให้ไฮเปอร์ไวเซอร์เข้าควบคุมและตอบสนองด้วยสถานะส่วนตัวของแขกรายนั้นๆ กระบวนการนี้เรียกว่า trap and emulate ซึ่งฮาร์ดแวร์ของ IBM ปฏิบัติตามกฎนี้อย่างครบถ้วน

เหตุใดมินิคอมพิวเตอร์จึงทำลายรูปแบบเดิม

DEC เปิดตัว PDP-8 เมื่อวันที่ 22 มีนาคม 1965 ในราคาประมาณ 18,000 ดอลลาร์สหรัฐตามค่าเงินในปี 1965 ซึ่งเป็นมินิคอมพิวเตอร์เครื่องแรกที่มีราคาต่ำกว่า 20,000 ดอลลาร์ และมียอดขายมากกว่า 50,000 เครื่อง ต่อมาไมโครโปรเซสเซอร์ได้ผลักดันให้ราคาลดต่ำลงไปอีก เมื่อแผนกหนึ่งสามารถซื้อเครื่องคอมพิวเตอร์ของตนเองได้ และต่อมาเมื่อบุคคลทั่วไปสามารถซื้อได้ การแบ่งปันคอมพิวเตอร์ส่วนกลางเครื่องเดียวจึงดูเหมือนเป็นปัญหาที่ได้รับการแก้ไขแล้วและไม่จำเป็นต้องแก้ไขอีกต่อไป ตลอดช่วงทศวรรษ 1980 และ 1990 การประมวลผลได้ย้ายจากศูนย์กลางไปสู่โต๊ะทำงานและตู้ rack ของเซิร์ฟเวอร์ x86 ขนาดเล็ก

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

เหตุใดสถาปัตยกรรม x86 จึงทำ Virtualisation ได้ยาก

เนื่องจาก x86 ไม่เป็นไปตามกฎของ Popek และ Goldberg ในงานประชุม 9th USENIX Security Symposium เมื่อเดือนสิงหาคม 2000 John Scott Robin และ Cynthia Irvine ได้ตรวจสอบชุดคำสั่งของ Pentium และพบคำสั่ง 17 คำสั่งที่อ่านหรือเปลี่ยนแปลงสถานะระดับสิทธิพิเศษ (privileged state) โดยไม่เกิดข้อผิดพลาด (fault) เมื่อรันในโหมดผู้ใช้ (user-mode) คำสั่ง popf เป็นตัวอย่างมาตรฐาน หากรันคำสั่งนี้ในโหมดผู้ใช้ โปรเซสเซอร์จะเพิกเฉยต่อบิตที่โปรแกรมไม่ได้รับอนุญาตให้ตั้งค่าแทนที่จะดักจับ (trap) ส่งผลให้ hypervisor ที่สร้างขึ้นบนหลักการ trap and emulate ไม่ทราบว่า guest พยายามทำสิ่งใด

มีสองแนวทางแก้ไขที่เกิดขึ้นก่อนที่ฮาร์ดแวร์จะได้รับการปรับปรุง VMware ซึ่งก่อตั้งขึ้นในปี 1998 จากงานวิจัย Disco ของ Stanford ได้ใช้วิธีตรวจสอบโค้ด kernel ของ guest และเขียนคำสั่งที่ซับซ้อนใหม่ก่อนการประมวลผล ซึ่งเรียกว่า binary translation ส่วน Xen จากห้องปฏิบัติการคอมพิวเตอร์แห่งมหาวิทยาลัย Cambridge ได้เลือกใช้วิธีแก้ไขตัว guest แทน บทความเรื่อง "Xen and the Art of Virtualization" ที่นำเสนอในงาน SOSP เมื่อเดือนตุลาคม 2003 ได้อธิบายถึง paravirtualisation ซึ่งเป็นวิธีที่ guest kernel ที่ถูกแก้ไขจะเรียกใช้ hypervisor โดยตรง แทนที่จะรันคำสั่งที่ hypervisor ไม่สามารถดักจับได้

ต่อมาฮาร์ดแวร์ได้รับการแก้ไขในลักษณะเดียวกับที่ IBM เคยทำในทศวรรษ 1960 โดย Intel ได้เปิดตัว VT-x ใน Pentium 4 สองรุ่นเมื่อวันที่ 14 พฤศจิกายน 2005 และ AMD ได้เปิดตัว AMD-V ในเดือนพฤษภาคม 2006 ทั้งสองเทคโนโลยีเพิ่มโหมดโปรเซสเซอร์ที่อยู่ต่ำกว่าระดับ guest kernel ทำให้ guest สามารถรัน kernel ของตนเองได้ด้วยความเร็วเต็มที่ ในขณะที่ hypervisor ยังคงควบคุมเหตุการณ์ที่ต้องการได้ สิ่งนี้ทำให้ hypervisor มีขนาดเล็กพอที่จะทำงานภายในระบบปฏิบัติการทั่วไปได้ และ KVM ของ Avi Kivity ที่ Qumranet ก็ทำเช่นนั้น โดยเปลี่ยนให้ Linux kernel กลายเป็น hypervisor ในตัว KVM ถูกรวมเข้ากับ Linux 2.6.20 ซึ่งปล่อยออกมาในเดือนกุมภาพันธ์ 2007 และเป็นสิ่งที่ผู้ให้บริการ VPS จำนวนมากใช้งานอยู่ในปัจจุบัน

ที่มาของชื่อ VPS

มีสองแนวทางที่มาบรรจบกันในช่วงต้นทศวรรษ 2000 แนวทางแรกคือ virtual machine แบบเต็มรูปแบบบนสถาปัตยกรรม x86 ซึ่งเป็น guest ที่บูต kernel ของตนเอง แนวทางที่สองคือการทำ virtualisation ในระดับระบบปฏิบัติการ โดยใช้ Linux kernel ชุดเดียวที่แบ่งออกเป็นสภาพแวดล้อมแยกจากกัน แต่ละส่วนมี root user และ process table เป็นของตนเอง ทั้ง Linux-VServer และ Virtuozzo ของ SWsoft ปรากฏขึ้นในปี 2001 และ SWsoft ได้ปล่อยส่วนหนึ่งของ Virtuozzo ออกมาเป็น OpenVZ แบบโอเพนซอร์สในปี 2005 คำว่า "virtual private server" จึงมีที่มาจากฝั่งนี้ โดยเปรียบเทียบกับ virtual private network

Amazon เปลี่ยนการเช่าเซิร์ฟเวอร์ให้กลายเป็น API call โดย S3 เปิดตัวเมื่อวันที่ 14 มีนาคม 2006 และ EC2 เปิดให้ใช้งานในรูปแบบ public beta แบบจำกัดเมื่อวันที่ 25 สิงหาคม 2006 ด้วย instance type เพียงแบบเดียวที่รันบน Xen การซื้อทรัพยากรประมวลผลจึงเปลี่ยนจากการทำสัญญาเช่ากับผู้ให้บริการ ไปเป็นการส่งคำขอที่ได้รับผลลัพธ์ภายในเวลาไม่กี่นาที

ทั้งสองแนวทางยังคงอยู่จนถึงปัจจุบัน และความแตกต่างนี้ยังคงเป็นตัวกำหนดว่าคุณสามารถทำอะไรกับเซิร์ฟเวอร์ที่คุณเช่าได้บ้าง KVM VPS จะบูต kernel ของตนเอง คุณจึงสามารถโหลด kernel module หรือแม้แต่รัน hypervisor ภายใน VPS ของคุณ ได้ ในขณะที่แผนแบบ container จะใช้ kernel ร่วมกับ host จึงไม่สามารถทำเช่นนั้นได้ ประวัติศาสตร์กว่า 60 ปีอยู่เบื้องหลังบรรทัดเดียวบนหน้าแสดงราคา นี่คือเหตุผลว่าทำไมการทำความเข้าใจ ความแตกต่างระหว่าง VPS, VM และ VPC ก่อนตัดสินใจเลือกใช้งานจึงเป็นเรื่องสำคัญ

สิ่งที่เปลี่ยนไปจากเมนเฟรมมาสู่ VPS ของคุณ และสิ่งที่ไม่เปลี่ยน

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

กลไกการทำงานไม่ได้เปลี่ยนไปเลย

  • เซสชัน ssh ของคุณคือเทอร์มินัลแบบ time-sharing คุณได้รับสิทธิ์ล็อกอินและ shell โดยมีตัวจัดตารางเวลา (scheduler) คอยตัดสินใจว่ากระบวนการของคุณจะทำงานเมื่อใด
  • การแยกส่วน (isolation) ยังคงถูกบังคับใช้โดยฮาร์ดแวร์ MMU และระดับสิทธิ์ของโปรเซสเซอร์ทำหน้าที่นี้ เช่นเดียวกับที่ CP-40 จำเป็นต้องใช้ในปี 1967
  • คุณยังคงถูกเรียกเก็บเงินตามส่วนแบ่งการใช้งานเครื่องโดยคิดจากเวลาที่ผ่านไป เหมือนกับที่ศูนย์บริการคอมพิวเตอร์เคยเรียกเก็บเงินตามชั่วโมงการเชื่อมต่อ
  • คุณยังคงสัมผัสได้ถึงผู้เช่ารายอื่น เมื่อโฮสต์ถูกใช้งานเกินขีดจำกัด (oversubscribed) เกสต์ของคุณจะต้องรอคิว CPU จริง และ Linux จะรายงานการรอนั้นว่าเป็น CPU steal time จากเพื่อนบ้านที่ส่งเสียงดัง

ประเด็นสุดท้ายคือบทสรุปที่ตรงไปตรงมาของประวัติศาสตร์ทั้งหมด การแชร์เครื่องคอมพิวเตอร์คือการแลกเปลี่ยน สิ่งนี้เป็นที่ยอมรับในปี 1961 เพราะคอมพิวเตอร์มีราคาสูงกว่าค่าจ้างคน และเป็นที่ยอมรับในปี 2026 เพราะเซิร์ฟเวอร์ที่ทำงานเพียงสิบเปอร์เซ็นต์ของความสามารถคือการเผาเงินทิ้ง หากคุณต้องการยืนอยู่ฝั่งผู้ดูแลระบบในการแลกเปลี่ยนนั้น การรัน Proxmox บนฮาร์ดแวร์ที่คุณเป็นเจ้าของ จะมอบทั้งไฮเปอร์ไวเซอร์และปัญหาของผู้ดูแลระบบให้แก่คุณ

จงจำอัตราส่วนนี้ไว้ CTSS ให้บริการผู้ใช้สี่คนบนเครื่องที่ราคาหลายล้านดอลลาร์ในปี 1961 และต้องใช้พื้นที่ทั้งห้อง VPS ของคุณซึ่งมีราคาเพียงไม่กี่ดอลลาร์ต่อเดือนในปี 2026 เป็นคอมพิวเตอร์ที่ดีกว่าเครื่องที่ทีมของ Corbató ต้องแบ่งปันกันใช้อย่างมาก และคุณยังได้ครอบครองมันเพียงผู้เดียว เหตุผลที่คุณสามารถเช่ามันได้ก็เพราะแนวคิดที่มีอายุหกสิบห้าปีได้มาบรรจบกับฮาร์ดแวร์ราคาถูกในที่สุด หากคุณกำลังตัดสินใจว่าจะติดตั้งอะไรลงไป ให้เริ่มจาก สิ่งที่ VPS มอบให้คุณจริงๆ แล้วตามด้วย สิ่งที่ผู้คนนิยมรันบน VPS

FAQ

ระบบคอมพิวเตอร์แบบแบ่งเวลา (time-sharing) ระบบแรกคืออะไร?

CTSS (Compatible Time-Sharing System) ซึ่งสร้างโดยกลุ่มของ Fernando Corbató ที่ศูนย์คำนวณของ MIT ระบบนี้ถูกสาธิตครั้งแรกในเดือนพฤศจิกายน 1961 บนเครื่อง IBM 709 โดยรองรับผู้ใช้ 4 คน ซึ่งแต่ละคนจะถูกสลับการทำงานไปยังเทปไดรฟ์แยกกัน ส่วนบริการแบ่งเวลาสำหรับชุมชนขนาดใหญ่แห่งแรกคือ Dartmouth Time-Sharing System โดยเมื่อวันที่ 1 พฤษภาคม 1964 John Kemeny และนักศึกษาโปรแกรมเมอร์ได้รันโปรแกรมภาษา BASIC พร้อมกันบนเทอร์มินัล 2 เครื่อง และทั้งคู่ได้รับคำตอบที่ถูกต้องกลับมา

เครื่องเสมือน (virtual machine) ถูกคิดค้นขึ้นในทศวรรษ 1960 จริงหรือ?

จริง ศูนย์วิทยาศาสตร์เคมบริดจ์ของ IBM นำ CP-40 เข้าสู่การใช้งานจริงในเดือนมกราคม 1967 โดยให้ผู้ใช้แต่ละคนมี System/360 เสมือนที่สมบูรณ์พร้อมระบบปฏิบัติการ CMS รันอยู่ภายใน ต่อมา CP-67 ได้ตามมาในปี 1968 บนเครื่อง System/360-67 และ IBM ได้ประกาศเปิดตัว VM/370 ในวันที่ 2 สิงหาคม 1972 สิ่งเหล่านี้คือไฮเปอร์ไวเซอร์ (hypervisor) ของจริงที่รันระบบปฏิบัติการแขก (guest operating system) โดยไม่ต้องแก้ไข และมีการจำหน่ายเชิงพาณิชย์หลายทศวรรษก่อนที่ฮาร์ดแวร์ x86 จะทำสิ่งเดียวกันได้

ทำไมสถาปัตยกรรม x86 ถึงทำ virtualization ได้ยากในขณะที่เมนเฟรมทำได้?

กฎของ Popek และ Goldberg ในปี 1974 ระบุว่าคำสั่งทุกคำสั่งที่สามารถอ่านหรือเปลี่ยนแปลงสถานะของเครื่องได้ จะต้องเกิด trap เมื่อแขก (guest) รันคำสั่งนั้นในโหมดที่ไม่ใช่เคอร์เนล แต่ x86 ละเมิดกฎข้อนี้ Robin และ Irvine พบคำสั่ง Pentium ถึง 17 คำสั่งที่ล้มเหลวโดยเงียบๆ ในโหมดผู้ใช้แทนที่จะเกิด trap ทำให้ไฮเปอร์ไวเซอร์แบบ trap-and-emulate ทั่วไปมองไม่เห็นคำสั่งเหล่านั้น โดยมี popf เป็นตัวอย่างที่พบบ่อย VMware แก้ปัญหานี้ด้วยการทำ binary translation ส่วน Xen ใช้การทำ paravirtualisation จนกระทั่ง Intel VT-x ในเดือนพฤศจิกายน 2005 และ AMD-V ในเดือนพฤษภาคม 2006 ได้เพิ่มโหมดฮาร์ดแวร์สำหรับไฮเปอร์ไวเซอร์เข้ามา

การเช่า VPS เหมือนกับการมีบัญชีผู้ใช้แบบแบ่งเวลา (time-sharing) หรือไม่?

รูปแบบการเรียกเก็บเงินและปัญหาเรื่องการแยกส่วน (isolation) นั้นเหมือนกัน แต่หน่วยการใช้งานนั้นต่างกัน ผู้ใช้ระบบแบ่งเวลาจะได้รับบัญชีบนระบบปฏิบัติการที่ใช้ร่วมกับผู้อื่น ดังนั้นผู้ดูแลระบบจึงเป็นเจ้าหน้าที่ที่ศูนย์คอมพิวเตอร์ ส่วน KVM VPS จะให้เครื่องเสมือนที่มีเคอร์เนลและบัญชี root ของคุณเอง ดังนั้นผู้ดูแลระบบจึงเป็นตัวคุณเอง ส่วน VPS แบบคอนเทนเนอร์จะอยู่กึ่งกลางระหว่างสองแบบนี้ เพราะเป็นการใช้เคอร์เนลของโฮสต์ร่วมกัน แต่ยังคงให้สิทธิ์ root ภายในสภาพแวดล้อมของคุณเองได้

#history#computing#virtualization#mainframe#vps