ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System) Memory Layout for a Simple Batch System Multiprogrammed Batch Systems
ระบบมัลติโปรแกรมมิ่ง (Multiprogramming System) หมายถึงระบบที่เครื่องคอมพิวเตอร์สามารถประมวลผลได้มากกว่า 1 งานพร้อม ๆ กัน ดังนั้นผู้ใช้เครื่องคอมพิวเตอร์ก็สามารถที่จะทำงานพร้อม ๆ กันได้โดยไม่ต้องรอ แต่อย่างไรก็ตามเทคนิคที่ใช้ในระยะแรกก็เป็นแบบ Multiprogrammed Batch Systems คือหน่วยประมวลผลก็จะยังทำงานทีละงานเรียงกันไป CPU จะประมวลผลเฉพาะงานที่บรรจุอยู่ในหน่วยความจำเท่านั้น
ระบบแบ่งเวลา (Time-Sharing System) หมายถึงระบบมัลติโปรแกรมมิ่งที่มีการแบ่งเวลาการทำงานให้กับงานแต่ละงาน โดยที่แต่ละงานจะมีการสลับเข้า/ออกระหว่างหน่วยความจำกับดิสก์ สาเหตุที่งานจะต้องถูกสลับออกไปเก็บไว้ที่ดิสก์ งานนั้นจำเป็นต้องติดต่อกับอุปกรณ์ภายนอก ซึ่งไม่จำเป็นต้องใช้ CPU งานนั้นหมดเวลาในการครอบครอง CPU OS จะต้องควบคุมการจัดเวลา CPU, ควบคุมการนำงานเข้า/ออกจากหน่วยความจำ
ระบบมัลติโปรเซสเซอร์ (Multiprocessor System) ระบบส่วนมากจะใช้ CPU เพียงตัวเดียว แต่สำหรับระบบมัลติโปรเซสเซอร์หมายถึงระบบที่มีการใช้ CPU มากกว่า 1 ตัว ข้อดี เพิ่มประสิทธิภาพของเอาต์พุต ประหยัดค่าใช้จ่ายเมื่อเปรียบเทียบกับระบบ CPU เดี่ยวหลายระบบ เพิ่มความน่าเชื่อถือของระบบ OS จะมีความซับซ้อนมากกว่าระบบมัลติโปรแกรมมิ่งแบบ CPU 1 ตัว
ระบบแบบกระจาย (Distributed System) หมายถึงระบบที่มีการนำเครื่องคอมพิวเตอร์มาต่อกันเป็นเครือข่าย แล้วกระจายการทำงานในแต่ละงานไปให้กับเครื่องคอมพิวเตอร์ที่อยู่ในเครือข่ายร่วมกันประมวลผล ตัวอย่างระบบแบบกระจาย ระบบ Peer-to-Peer ระบบ Client-Server
ระบบ Peer-to-Peer เป็นระบบแบบกระจาย โดยมีเครื่องคอมพิวเตอร์ต่อเชื่อมอยู่บนเครือข่าย โดยที่เครื่องคอมพิวเตอร์ทุกตัวสามารถกำหนดการเชื่อมต่อเองได้โดยไม่ต้องมีตัวกลางทำหน้าที่ควบคุม เครื่อง 1 เครื่อง 2 เครื่อง 3 เครื่อง 4
ระบบ Client-Server เป็นระบบแบบกระจาย โดยมีเครื่องคอมพิวเตอร์ 2 แบบ ระหว่างเครื่อง Server และ Client ต้องมีการต่อเชื่อมกันอยู่บนเครือข่าย
เหตุผลในการสร้างระบบแบบกระจาย เพื่อให้สามารถใช้ทรัพยากรร่วมกัน เช่น เครื่องพิมพ์ ไฟล์ข้อมูล ดิสก์ และอุปกรณ์อื่น ๆ (Share Resource) เพื่อเพิ่มความเร็วในการประมวลผล (Speed) เพื่อเพิ่มความน่าเชื่อถือของระบบ (Reliablity) เพื่อการติดต่อแลกเปลี่ยนข่าวสาร (Communication)
ระบบงานแบตซ์ คอมพิวเตอร์จะทำงานได้ครั้งละ 1 งาน การสั่งงานคอมพิวเตอร์ทำได้โดยการรวมงานที่คล้ายกันเป็นกลุ่ม แล้วส่งให้เครื่องคอมพิวเตอร์ประมวลผล โดยจัดเรียงตามความสำคัญและตามลักษณะของโปรแกรมจัดเป็นกลุ่มงานแล้วส่งให้คอมพิวเตอร์ประมวลผล
ระบบบัฟเฟอร์ การทำงานเพื่อขยายขีดความสามารถของระบบ ทำให้หน่วยรับ – แสดงผลสามารถทำงานไปพร้อม ๆ กันกับการประมวลผลของ CPU ในขณะที่ประมวลผลคำสั่งที่ถูกโหลดเข้าซีพียูนั้น จะมีการโหลดข้อมูลเข้าไปเก็บในหน่วยความจำก่อน เมื่อถึงเวลาประมวลผลจะสามารถทำงานได้ทันที และโหลดข้อมูลต่อไปเข้ามาแทนที่ หน่วยความจำที่ทำหน้าที่เก็บข้อมูลที่เตรียมพร้อมนี้เรียกว่า บัฟเฟอร์ (Buffer)
ระบบสพูลลิ่ง เป็นมัลติโปรแกรมมิ่งพื้นฐาน ทำให้ซีพียูทำงานเต็มประสิทธิภาพ เพราะทำให้สามารถทำงานได้ 2 งานพร้อมกัน งานแรกคือประมวลผลในส่วนของซีพียู งานที่สองคือการรับ – แสดงผลข้อมูล ซึ่งต่างกับ buffer ที่ซีพียู และหน่วยรับ – แสดงผลทำงานร่วมกัน ส่วนสพูลลิ่งสามารถเลือกการประมวลผลตามลำดับก่อนหลังได้ โดยคำนึงถึง priority เป็นสำคัญ
ระบบเรียลไทม์ ระบบเวลาจริง หมายถึง การตอบสนองทันที เช่น ระบบควบคุมโรงงานอุตสาหกรรม ระบบแขนกล ระบบภาพทางการแพทย์ ระบบหัวฉีดในรถยนต์ Real – time แบ่งได้ 2 ระบบ Hard real – time system เป็นระบบที่ถูกรับรองว่าจะได้รับการตอบสนองตรงเวลา และหยุดรอไม่ได้ Soft real – time system เป็นระบบที่สามารถรอให้งานอื่นทำให้เสร็จก่อนได้
ระบบคู่ขนาน คือ ระบบมัลติโปรเซสเซอร์ ที่มีซีพียูมากกว่า 1 ตัว ในการติดต่อสื่อสาร และมีการแชร์เมโมรี ในการติดต่อสื่อสารจะผ่านทางช่องติดต่อ(ส่งข้อมูล) เช่น ถ้ามีโปรเซสเซอร์ 10 ตัว แล้วเสียไป 1 ตัว ที่เหลือก็ยังคงทำงานได้ แต่อาจช้าลงหน่อย สิ่งนี้เป็นการช่วยระดับของความอยู่รอดของฮาร์ดแวร์