หลายโปรแกรมเทียบกับระบบแบ่งเวลา
Multiprogramming คือการจัดสรรโปรแกรมพร้อมกันมากกว่าหนึ่งโปรแกรมบนระบบคอมพิวเตอร์และทรัพยากร การเขียนโปรแกรมหลายโปรแกรมช่วยให้ใช้ CPU ได้อย่างมีประสิทธิภาพโดยอนุญาตให้ผู้ใช้ต่างๆ ใช้ CPU และอุปกรณ์ I/O ได้อย่างมีประสิทธิภาพ การเขียนโปรแกรมหลายโปรแกรมทำให้แน่ใจได้ว่า CPU มีสิ่งที่ต้องดำเนินการอยู่เสมอ ซึ่งจะช่วยเพิ่มการใช้งาน CPU ในทางกลับกัน การแบ่งปันเวลาเป็นการแบ่งปันทรัพยากรการคำนวณระหว่างผู้ใช้หลายคนพร้อมกัน เนื่องจากจะทำให้ผู้ใช้จำนวนมากสามารถทำงานในระบบคอมพิวเตอร์เครื่องเดียวได้ในเวลาเดียวกัน จึงช่วยลดค่าใช้จ่ายในการจัดหาความสามารถในการคำนวณ
ระบบมัลติโปรแกรมมิงคืออะไร
Multiprogramming เป็นการสลับ CPU อย่างรวดเร็วระหว่างหลายโปรแกรม โดยทั่วไปโปรแกรมประกอบด้วยงานหลายอย่าง งานมักจะจบลงด้วยการร้องขอเพื่อย้ายข้อมูลซึ่งจะต้องมีการดำเนินการ I/O บางอย่างเพื่อดำเนินการ การทำงานหลายอย่างพร้อมกันมักทำเพื่อให้ CPU ไม่ว่าง ในขณะที่โปรแกรมที่กำลังทำงานอยู่กำลังทำการดำเนินการ I/O เมื่อเทียบกับคำสั่งดำเนินการอื่น ๆ การทำงานของ I/O นั้นช้ามาก แม้ว่าโปรแกรมจะมีการดำเนินการ I/O เพียงเล็กน้อย แต่เวลาส่วนใหญ่ที่ใช้สำหรับโปรแกรมก็ถูกใช้ไปกับการดำเนินการ I/O เหล่านั้น ดังนั้นการใช้เวลาว่างนี้และปล่อยให้โปรแกรมอื่นใช้ CPU ในขณะนั้นจะทำให้การใช้งาน CPU เพิ่มขึ้น Multiprogramming ได้รับการพัฒนาในขั้นต้นในช่วงปลายทศวรรษ 1950 โดยเป็นคุณลักษณะของระบบปฏิบัติการ และถูกใช้ครั้งแรกในการคำนวณด้วยเมนเฟรม ด้วยการแนะนำหน่วยความจำเสมือนและเทคโนโลยีเครื่องเสมือน การใช้โปรแกรมหลายโปรแกรมได้รับการปรับปรุง
ระบบแบ่งเวลาคืออะไร
การแบ่งปันเวลา ซึ่งเปิดตัวในปี 1960 เป็นการแบ่งปันทรัพยากรการคำนวณระหว่างผู้ใช้หลายคนพร้อมกัน ระบบการแบ่งปันตามเวลา เทอร์มินัลหลายเครื่องจะเชื่อมต่อกับเซิร์ฟเวอร์เฉพาะเครื่องเดียวที่มี CPU ของตัวเอง การดำเนินการ/คำสั่งที่ดำเนินการโดยระบบปฏิบัติการของระบบแบ่งเวลาจะมีช่วงเวลาที่สั้นมาก ดังนั้น CPU จึงถูกกำหนดให้กับผู้ใช้ที่เทอร์มินัลในช่วงเวลาสั้น ๆ ดังนั้นผู้ใช้ในเทอร์มินัลจึงรู้สึกว่ามี CPU เฉพาะสำหรับเธอที่อยู่เบื้องหลังเทอร์มินัล ช่วงเวลาสั้นๆ ที่ดำเนินการคำสั่งบนระบบแบ่งเวลาเรียกว่าไทม์สไลซ์หรือควอนตัมเวลา ด้วยการพัฒนาอินเทอร์เน็ต ระบบแบ่งเวลาได้รับความนิยมมากขึ้นเนื่องจากเซิร์ฟเวอร์ฟาร์มที่มีราคาแพงสามารถโฮสต์ลูกค้าจำนวนมากที่แบ่งปันทรัพยากรเดียวกันได้ เนื่องจากเว็บไซต์ทำงานโดยมีกิจกรรมจำนวนมากตามมาด้วยช่วงเวลาที่ไม่มีการใช้งาน ดังนั้นเวลาว่างของลูกค้ารายหนึ่งจึงสามารถใช้งานได้อย่างมีประสิทธิภาพกับอีกรายหนึ่ง โดยไม่มีใครสังเกตเห็นความล่าช้า
ระบบมัลติโปรแกรมมิงกับระบบแบ่งเวลาต่างกันอย่างไร
ความแตกต่างหลักระหว่างการเขียนโปรแกรมหลายโปรแกรมและการแบ่งปันเวลาคือ การเขียนโปรแกรมหลายโปรแกรมเป็นการใช้ประโยชน์จากเวลา CPU อย่างมีประสิทธิภาพ โดยอนุญาตให้หลายโปรแกรมใช้ CPU พร้อมกัน แต่การแบ่งปันเวลาเป็นการแบ่งปันสิ่งอำนวยความสะดวกในการคำนวณโดยผู้ใช้หลายคนที่ต้องการ เพื่อใช้สิ่งอำนวยความสะดวกเดียวกันในเวลาเดียวกัน ผู้ใช้แต่ละคนบนระบบแบ่งเวลาจะได้รับเทอร์มินัลของตนเองและรู้สึกว่าใช้ CPU เพียงอย่างเดียว อันที่จริง ระบบแบ่งเวลาใช้แนวคิดของการเขียนโปรแกรมหลายโปรแกรมเพื่อแบ่งเวลา CPU ระหว่างผู้ใช้หลายคนพร้อมกัน