Friday, July 17, 2015

ระบบแบ่งเวลา (Time-Sharing System)

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

  โดยระบบแบ่งเวลา (Time-Sharing) หรือมัลติทาสกิ้ง (Multitasking) เป็นศาสตร์ที่ขยายระบบมัลติโปรแกรมมิ่ง ที่ทำให้สามารถรันโปรแกรมได้หลายงาน โดยซีพียูจะทำหน้าที่สับเปลี่ยนการรันงานไปมา แต่การสับเปลี่ยนทำด้วยความเร็วสูงทำให้ผู้ใช้มีความรู้สึกเหมือนอินเทอร์ แอ็กทีฟโดยตรง (Interactive) กับโปรแกรมของตนเองระบบแบ่งเวลาเป็นอินเทอร์แอ็กทีฟที่ผู้ใช้จะติดต่อโดยตรง กับเครื่องผ่านทางเทอร์มินอล (terminal) ที่ประกอบด้วยอุปกรณ์รับข้อมูล ( เช่น เมาส์, คีย์บอร์ด) และอุปกรณ์แสดงผล (เช่น จอภาพ เครื่องพิมพ์) ผู้ใช้สามารถสั่งให้ระบบ หรือโปรแกรมทำงานได้ทันที (หรืออาจจะล่าช้าไปบ้างทั้งนี้อาจขึ้นอยู่กับ ขนาดของงาน, ขีดความสามารถของเครื่อง, ปริมาณงานในระบบ และลำดับความสำคัญของงานก่อนหลัง เป็นต้น)

    ระบบปฏิบัติการที่มีการแบ่งเวลาจะต้องมีการจัดเวลาซีพียูและมัลติโปรแกรม มิ่งเป็นส่วนย่อย ๆ เพื่อติดต่อกับโปรแกรมของผู้ใช้ที่โหลดไว้บนหน่วยความจำ ซึ่งในขณะที่ประมวลผลอาจจะมีความจำเป็นต้องติดต่ออุปกรณ์ภายนอกทำให้การ ประมวลผลหยุดชะงักเนื่องจากความเร็วของซีพียูและความเร็วของอุปกรณ์ไม่เหมาะ สมกัน แทนที่จะให้ซีพียูหยุดรอ ระบบปฏิบัติการจะสับเปลี่ยนให้ซีพียูทำโปรแกรมส่วนอื่นต่อไป ระบบปฏิบัติการแบบแบ่งเวลาจะมีความซับซ้อนกว่าระบบปฏิบัติการแบบมัลติ โปรแกรมมิ่ง โดยระบบมัลติโปรแกรมมิ่งจะโหลดโปรแกรมหลายโปรแกรมไว้บนหน่วยความจำพร้อมกัน แต่เนื่องจากความจำมีน้อยทำให้มีการนำไปเก็บบนดิสก์เพิ่มเติม และเพื่อให้เวลาตอบสนอง (response time) อยู่ในเกณฑ์ที่เหมาะสม

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

0 comments:

Post a Comment

Subscribe to RSS Feed Follow me on Twitter!