วันอังคารที่ 7 พฤศจิกายน พ.ศ. 2560

ใบงานที่ 4

ใบงานที่ 4 การจัดเวลาซีพียู CPU Scheduling

นาย.ปัณณรุจน์ อมรสิทธิ์สิริ เลขที่ 4

รหัส 6031280004

เนื้อหา

  • การจัดเวลาซีพียู
  • การจัดคิวในระยะสั้น
  • การจัดคิวในระยะยาว
  • ระบบหลายโปรเซสเซอร์
  • การทำงานของระบบหลายโปรเซสเซอร์

การจัดเวลาซีพียู  (CPU Scheduling)

  •  การจัดเวลา CPU เป็นหลักการทำงานหนึ่งของ OS ที่ทำให้คอมพิวเตอร์มีความสามารถในการรันโปรแกรมได้หลาย ๆ โปรแกรมในเวลาเดียวกัน
    • เหตุการณ์ที่ซีพียูเปลี่ยนจากการทำงานหนึ่งไปยังอีกงานหนึ่งเรียกว่า การเปลี่ยนสถานะ (context switching)

เป้าหมาย

  • ใช้งานซีพียูได้อย่างเต็มประสิทธิภาพ

สิ่งที่ต้องคำนึง

  • ในระบบโปรเซสเซอร์เดียวซีพียูจะทำงานได้ครั้งละ 1 งาน
  •  ถ้ามีหลาย ๆ งานจะต้องเกิดการรอ

ระบบโปรแกรมเดียว

  • ไม่ซับซ้อน
  • ทำงานทีละโปรแกรมจนเสร็จกระบวนการ
  • ทำงานตัวเองจนเสร็จ หรือจนกระทั่งมีการรออะไรบางอย่าง เช่น I/O
  • การรอนี้ทำให้ซีพียูเกิดการว่างงาน อยู่เฉย (idle)

ระบบหลายโปรแกรม 

  • เสมือนกับหลายโปรแกรมดำเนินไปพร้อมกัน
  • จะไม่ยอมให้ซีพียูเกิดการรอ
  • โปรเซสใดมีการรอการใช้ อุปกรณ์ I/O จะมีการนำออกไปจากซีพียู และนำโปรเซสใหม่เข้าไปใช้งานซีพียูแทน 

ข้อพิจารณาในการจัดเวลา 

  • การใช้สอยซีพียู (CPU Utilization)
  • ทรูพุต (Throughput)
  • เวลาทั้งหมด (Turnaround Time)
  • เวลารอคอย (Waiting Time)
  • เวลาตอบสนอง (Response Time)

ข้อพิจารณาในการจัดเวลา 

  - การใช้สอยซีพียู(CPU Utilization) : การใช้ประโยชน์จากซีพียูอย่างสูงสุด โดยทำให้ซีพียูมีงานทำมากที่สุดเท่าที่จะทำได้  ซีพียูควรจะถูกใช้อยู่ระหว่าง 40-90 %
  - ทรูพุต (Throughput)  จำนวนงานที่เสร็จต่อหน่วยเวลา
  - เวลาทั้งหมด (Turnaround Time) : คือช่วงเวลาทั้งหมดที่ใช้ในการทำงานใดงานหนึ่งตั้งแต่เริ่มต้นเข้าไปในระบบ จนงานถูกทำจนเสร็จเรียบร้อย (รวมเวลาที่รอเข้าหน่วยความจำเวลาที่คอยอยู่ในคิว เวลาที่ใช้ซีพียู และเวลาของอินพุต/เอาต์พุต)
  - เวลารอคอย (Waiting Time) : ช่วงเวลาที่งานใดงานหนึ่งต้องรอการทำงานของตัวจัดเวลา โดยไม่รวมเวลาของการใช้ซีพียู และเวลาของการติดต่ออินพุต/เอาต์พุต ส่วนใหญ่ก็คือเวลาที่งานต้องคอยอยู่ในคิว (Ready Queue)
  - เวลาตอบสนอง (Response Time)  คือเวลาที่วัดระหว่างเวลาที่มีการร้องขอการกระทำใด  ๆ  ต่อระบบแล้วมีการตอบรับกลับออกมา (ความเร็วของเวลาตอบสนองจึงมักจะขึ้นอยู่กับอุปกรณ์อินพุต/เอาต์พุต)

การจัดคิวระยะสั้น(Short-term scheduling)

  •  ขั้นตอนนี้เป็นการคัดเลือกโปรเซสซึ่งรออยู่ในสถานะพร้อมที่เหมาะสมที่สุดให้เข้าไปอยู่ในสถานะรัน (ครอบครอง CPU)
  • การจัดคิวให้กับโปรเซสนั้นถือว่าเป็นหน้าที่ ของหน่วยจัดคิวในระยะสั้น (Short-term Scheduler) ซึ่งเป็นส่วนหนึ่งใน OS
  •  สำหรับการส่งโปรเซสที่ถูกเลือกแล้วให้เข้าไปอยู่ในสถานะรัน เป็นหน้าที่ของตัวส่ง (Dispatcher) ซึ่งเป็นส่วนหนึ่งใน OS

การจัดคิวระยะสั้นมีดังนี้

  • การจัดคิวแบบ FCFS
  • การจัดคิวแบบ RR
  • การจัดคิวแบบลำดับความสำคัญ
  • การจัดคิวแบบ SJN
  •  การจัดคิวแบบ SRT
  • การจัดคิวแบบหลายระดับ 

การจัดคิวแบบมาก่อนได้ก่อน (First-come-first-served : FCFS 

  •  เป็นวิธีการที่ง่ายที่สุด
  •  โปรเซสใดเข้ามารอในคิวก่อนจะมีสิทธิครอบครอง CPU ก่อน
  •  โปรเซสที่ได้ครอบครอง CPU จะทำงานไปจนเสร็จ ไม่มีระยะเวลาควอนตัม
  •  ถ้าโปรเซสมีการเรียกใช้งานอุปกรณ์อินพุต/เอาท์พุต หรือรอเหตุการณ์บางอย่าง โปรเซสนั้นต้องปลดปล่อยซีพียู และออกจากสถานะรันไปอยู่ในสถานะบล็อค
  •  เมื่อการเรียกใช้อุปกรณ์อินพุต/เอาท์พุตเสร็จสิ้นลง หรือเกิดเหตุการณ์ที่กำลังรออยู่ โปรเซสนั้นจะกลับไปอยู่ต่อท้ายคิวของสถานะพร้อม
ข้อดีคือการจัดคิวทำได้ง่ายไม่ยุ่งยากซับซ้อน
ตัวอย่างการจัดคิวเมื่อมี 3 โปรเซส ( A,B,C) ต้องการใช้ CPU

 

ถึงแม้ว่าลำดับการเข้ามาในคิวอาจจะเป็น A,B,C แต่การใช้หลักการของการจัดลำดับความสำคัญ  จะจัดคิวออกมาในลักษณะดังนี้


โปรเซส A ต้องรอเวลาในการประมวลผล =  0 วินาที
โปรเซส B ต้องรอเวลาในการประมวลผล =  15 วินาที
โปรเซส C ต้องรอเวลาในการประมวลผล =  16 วินาที
เวลาเฉลี่ยในการรอ = (0+15+16)/3 =10.33  วินาที

    จากตัวอย่างจะพบว่าการจัดคิวแบบ FCFS เป็นผลเสียอย่างมากกับโปรเซส B คือ โปรเซส B ต้องการเวลาในการทำงานเพียง 1 วินาที แต่ต้องรอให้โปรเซส A ซึ่งเข้ามาก่อนทำงานเสร็จ
    เวลาเฉลี่ยในการรอ = (15+16)/3 = 10.33 วินาที
ทำให้การทำงานของโปรเซส B นั้นใช้เวลา 16 วินาทีจึงจะเสร็จสิ้น
เทียบเวลาในการทำงานคือ 1/16*100 = 6 %
สำหรับเวลาในการรอคือ 100-6 = 94 % ซึ่งจะเห็นว่าโปรเซส B ต้องเสียเวลารอนานมาก

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

ตัวอย่างการจัดคิวเมื่อมี 4 โปรเซส (A,B,C,D) ต้องการใช้ CPU โดยมีลำดับการเข้ามาในคิวเป็น A,B,C,D

 


ถึงแม้ว่าลำดับการเข้ามาในคิวอาจจะเป็น A,B,C,D แต่การใช้หลักการของ SJF จะจัดคิวออกมาในลักษณะดังนี้

         



เวลาเฉลียในการรอ   0+3+9+16 =28/4=7
เวลาเฉลี่ยในการทำงานเสร็จ 3+9+16+24=52/4=13

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

การจัดคิวแบบตามลำดับความสำคัญ (Priority Queue)
วิธีนี้จะมีการจัดลำดับความสำคัญให้กับแต่ละโปรเซสที่ต้องการใช้ CPU โปรเซสที่อยู่ ณ. ต้นคิวก็จะเป็นโปรเซสที่มีความ สำคัญมากที่สุด และลดลงเรื่อย ๆ โปรเซสที่อยู่ท้ายคิวคือโปรเซสที่มีความสำคัญต่ำสุด
    ถ้ามีโปรเซสใหม่เข้ามาในคิว ก็จะมีการแซงคิวได้ถ้าโปรเซสที่เข้ามาใหม่มีลำดับความสำคัญสูงกว่าโปรเซสที่กำลังบรรจุอยู่ในคิว

ตัวอย่างการจัดคิวเมื่อมี 4 โปรเซส (A,B,C,D) ต้องการใช้ CPU โดยมีลำดับการเข้ามาในคิวเป็น A,B,C,D

 

ถึงแม้ว่าลำดับการเข้ามาในคิวอาจจะเป็น A,B,C,D แต่การใช้หลักการของการจัดลำดับความสำคัญ  จะจัดคิวออกมาในลักษณะดังนี้


     
โปรเซส B ต้องรอเวลาในการประมวลผล =  5 วินาที
โปรเซส A ต้องรอเวลาในการประมวลผล =  6 วินาที
โปรเซส C ต้องรอเวลาในการประมวลผล =  16 วินาที
เวลาเฉลี่ยในการรอ = (0+5+6+16)/4 = 6.75  วินาที
เวลาเฉลี่ยในการทำงานเสร็จ =(5+6+16+18)/4=11.25




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

    วิธีการพิจารณากำหนดลำดับความสำคัญของโปรเซสต่าง ๆ อาจพิจารณาได้จากองค์ประกอบต่าง ๆ เช่น
เจ้าของโปรเซส : โปรเซสที่มาจากผู้ใช้ทั่ว ๆ ไป จะมีลำดับความสำคัญต่ำกว่า   โปรเซสที่มาจากผู้ควบคุมระบบ
ประเภทของโปรเซส : โปรเซสของงานในระบบแบตซ์ (Batch mode) มักมีลำดับความสำคัญต่ำกว่าโปรเซสของงานแบบตอบโต้ (Interactive mode)
ผู้ใช้ที่ยินยอมจ่ายเงินเพิ่ม
ระยะเวลาที่โปรเซสเข้ามาอยู่ในระบบ



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

การจัดคิวแบบวนรอบ (Round-Robin : RR)
    ใช้กับระบบงานคอมพิวเตอร์แบบแบ่งเวลา โดยมีลักษณะการจัดคิวเป็นแบบ FCFS แต่ให้มีกรรมวิธีของการให้สิทธิในการครอบครอง CPU ของแต่ละโปรเซส คือ “แต่ละโปรเซสที่เข้ามาในระบบจะถูกจำกัดเวลาการเข้าไปใช้ CPU เท่า ๆ กัน ” ซึ่งเรียกช่วงเวลานี้ว่า เวลาควันตัม (Quantum Time)
    ตัวจัดเวลาระยะสั้นจะมีการให้ CPU กับโปรเซสที่อยู่ในคิวแบบวนรอบ โดยมีกฏเกณฑ์ว่า ถ้าโปรเซสใดไม่สามารถกระทำได้สำเร็จภายใน 1 ควันตัม โปรเซสจะต้องถูกนำกลับไปไว้ในคิวเช่นเดิม
    สถานภาพต่าง ๆ ของโปรเซสที่ยังทำไม่เสร็จจะถูกบันทึกไว้ เมื่อถึงโอกาสได้ครอบรอง CPU อีก ก็จะได้เริ่มต้นรันต่อจากครั้งที่แล้วโดยไม่ต้องเริ่มใหม่ทั้งหมด

 



ตัวอย่างการจัดคิวแบบ FCFS เมื่อมี 3 โปรเซส ( A,B,C) ต้องการใช้ CPU





เวลาเฉลี่ยในการรอ = (15+16)/3 = 10.33 วินาที

ตัวอย่างการจัดคิวแบบ RR เมื่อมี 3 โปรเซส (A,B,C) ต้องการใช้ CPU โดยมีเวลาควันตัมเป็น 1 วินาที




เวลาเฉลี่ยในการรอ = (11+1+11)/3 = 7.67 วินาที

 

   1    2   3    4    5     6    7    8   9  10   11   12   13  14   15 16   17  18  19  20  21  22  23  24  25 26

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

ตัวอย่าง
จงหาค่าเฉลี่ยทั้ง 3 วิธี คือ FCFS, SJF และ RR เวลาควอนตัม = 10

 


การจัดคิวแบบหลายระดับ
การจัดคิวดังที่กล่าวมาแล้วทั้งสิ้นเป็นการจัดคิวภายในคิวเพียง 1 คิว เรียกว่าการจัดคิวแบบ 1 ระดับดังรูป



เพื่อให้การจัดคิวเป็นไปอย่างมีประสิทธิภาพมากขึ้น เราจึงจัดให้มีคิวหลาย ๆ คิวแทนที่จะมีเพียงคิวเดียว เรียกว่าเป็นการจัดคิวแบบหลายระดับ

  •  การจัดคิวแบบหลายระดับนั้น แต่ละคิวไม่จำเป็นเป็นต้องเป็นประเภทเดียวกัน
  • การคัดเลือกโปรเซสนั้นจะคัดเลือกจากคิวที่ 1 ก่อนจนกระทั่งโปรเซสภายในคิวที่ 1 ทำงานเสร็จทั้งหมด แล้วจึงคัดเลือกโปรเซสในคิวลำดับถัดไป
  • โปรเซสที่มีความสำคัญมาก มักจะอยู่ในคิวระดับแรก โปรเซสที่มีลำดับความสำคัญน้อยลงไปก็จะอยู่ในคิวระดับหลัง
  • โปรเซสประเภทเดียวกันมักอยู่ในคิวระดับเดียวกัน
 
 
การจัดคิวระยะยาว
การจัดคิวระยะสั้นเป็นการจัดคิวในระดับโปรเซส โดยมีตัวจัดคิวระยะสั้นทำหน้าที่คัดเลือกโปรเซสที่อยู่ในคิวที่มีสถานะพร้อม ส่งเข้าไปอยู่ในสถานะรัน
การจัดคิวระยะยาวเป็นการจัดคิวในระดับงาน ไม่ใช่ระดับโปรเซส
    เมื่อผู้ใช้ส่งงานเข้ามาในระบบ งานเหล่านี้จะไปรออยู่ในคิวงานเมื่อระบบอยู่ในสภาพพร้อมที่จะรับโปรเซสใหม่ได้ เช่น มีหน่วยความจำเหลือมากพอ
    ตัวจัดคิวระยะยาวจะคัดเลือกงานที่อยู่ในคิวงานขึ้นมาพร้อมทั้งสร้างโปรเซสใหม่สำหรับงานนั้น ส่งให้กับตัวจัดคิวระยะสั้นทำงานต่อไป
    ตัวจัดคิวระยะสั้นยังมีหน้าที่ยุติโปรเซสที่จบการทำงานแล้ว
    คิวงานจะต่างกับคิวของโปรเซสเล็กน้อย คือ งานที่ถูกคัดเลือกขึ้นมาและสร้างเป็นโปรเซสใหม่แล้วจะไม่มีการวนกลับมาเข้าคิวใหม่เหมือนกับโปรเซส
    การคัดเลือกงานเพื่อสร้างโปรเซสใหม่ มีวิธีการเหมือนกับการคัดเลือกโปรเซสที่อยู่ในคิว ยกเว้นวิธีแบบ RR ที่ไม่ได้ใช้กับคิวงาน
ระบบหลายโปรเซสเซอร์ (Multi-processor System)
    คอมพิวเตอร์ที่ใช้งานทั่วไปในปัจจุบันจะเป็นประเภท SISD
    ระบบคอมพิวเตอร์ประเภทนี้มีโปรเซสเซอร์อยู่เพียงตัวเดียว
    การทำงานของโปรเซสเซอร์ในระบบนี้จะทำงานได้ทีละ 1 คำสั่งและรับข้อมูลได้ 1 ชุด
    P (Processor) แทนโปรเซสเซอร์  I (Instruction) แทนคำสั่ง  D (Data) แทนข้อมูล และ O (Output) แทนผลลัพธ์

คำสั่งเดี่ยวและหลายชุดข้อมูล
( Single Instruction Multiple Data : SIMD )
    การทำงานของระบบนี้เป็นการทำงานของโปรเซสเซอร์หลายตัวพร้อมกัน หรือที่เรียกว่าทำงานขนานกัน (parallel processing) โปรเซสเซอร์ทุกตัวทำคำสั่งเดียวกันหมด แต่มีข้อมูลเป็นของตนเอง ดังนั้นผลลัพธ์ที่ได้จึงมีหลายชุด

 
    SIMD มีประโยชน์ต่องานทางด้านการคำนวณที่ต้องการคำนวณแบบเดียวกันกับข้อมูลหลาย ๆ ชุดเช่น การบวกเมตริกซ์
เช่น
 
หลายชุดคำสั่งและข้อมูลเดี่ยว
(Multiple Instruction Single Data : MISD )
    การทำงานของระบบนี้เป็นการทำงานของโปรเซสเซอร์หลายตัวพร้อมกัน หรือที่เรียกว่าทำงานขนานกัน (parallel processing)
    โดยโปรเซสเซอร์ทุกตัวจะมีคำสั่งของตนเอง แต่ทุกตัวจะใช้ข้อมูลชุดเดียวกัน
 
    เมื่อโปรเซสเซอร์ตัวแรกทำงานเสร็จ ผลลัพธ์ที่ได้จะเป็นข้อมูลของโปรเซสเซอร์ตัวต่อไป เช่นถ้าในระบบ MISD หาค่าจากสมการนี้ y = 2*X2+4 โดยที่ x มีค่าระหว่าง 1 ถึง 5
จากตัวอย่างพบว่ามี 3 คำสั่ง
หาค่า X ยกกำลัง 2
คูณผลลัพธ์จากข้อแรก ด้วย 2
เพิ่มค่าผลลัพธ์ที่ได้จากข้อ 2 ด้วย 4
    การทำงานของระบบนี้เป็นการทำงานของโปรเซสเซอร์หลายตัวพร้อมกันและโปรเซสเซอร์แต่ละตัวจะมีคำสั่งและข้อมูลเป็นของตนเอง
    ดังนั้นในการทำงานแต่ละโปรเซสเซอร์จะเป็นอิสระจากกัน
ตัวอย่างระบบคอมพิวเตอร์ประเภท MIMD ที่เห็นได้ชัดเจนคือระบบเครือข่ายคอมพิวเตอร์ (Computer Network)
 
อ้างอิง
www.chantra.sru.ac.th
แบบฝึกหัดท้ายบท
1.จงอธิบายข้อดีของรูปแบบการทำงานแบบ SJF
ตอบ SJF จะให้ค่าเฉลี่ยของการคอยได้ต่ำที่สุด เพราะมีการเลื่อนโปรเซสที่มีเวลาใช้ CPU น้อยสุดมาไว้หน้าคิว

2. จงอธิบายข้อดีข้อเสียของรูปแบบการทำงานแบบ RR
ข้อดี การสร้างระบบการทำงานแบวนรอบ เราจะทำคิวที่พร้อมทำงาน (Ready Queue) เป็นแบบมาก่อนได้ก่อนไว้สำหรับเก็บโปรเซสต่างๆ โปรเซสที่เข้ามาใหม่จะถูกนำมาต่อไว้ที่หางของคิว ตัวจัดเวลาจะเลือกเอาโปรเซสที่อยู่ตรงหัวคิวออกมา แล้วกำหนดให้ไทม์เมอร์หยุดการให้เวลาซีพียูหลังจากนั้น 1 ควันตัม แล้วนำโปรเซสออกไปต่อที่หางคิว ถ้าหากว่าโปรแกรมยังไม่สิ้นสุดการทำงาน
ข้อเสีย
เวลาเฉลี่ยของการคอยในกรรมวิธีของวนรอบจะค่อนข้างนาน ให้ลองพิจารณาตัวอย่างของการเอ็กซิคิวต์โปรเซส 3 โปรเซส ดังต่อไปนี้ในแบบวนรอบ โดยที่โปรเซสทั้ง 3 เข้ามาถึงระบบพร้อมๆ กัน

3. จงอธิบายข้อเสียของรูปแบบการทำงานแบบลำดับความสำคัญ
ตอบ ถ้าข้อมูลที่มีความสำคัญน้อยจะได้ทำงานที่หลังซึ่งทำให้เกิดความล้าช้าได้

4. การจัดคิวรูปแบบใดมีการใช้เวลาควันตัม
ตอบ การจัดเวลาแบบวนรอบ (RR : Round – Robin Scheduling)5. Short-term 
5.scheduler ทำหน้าที่อย่างไร
ตอบ จัดลำดับงาน (process) ที่ยูสเซอร์ต้องการใช้งานหลาย ๆ งานพร้อมกันบนเครื่องคอมพิวเตอร์นั้น ให้ CPU สามารทำงานได้อย่างมีประสิทธิภาพ
6. ตัวจัดคิวระยะสั้นกับระยะยาวแตกต่างกันอย่างไร
ตอบ การจัดคิวในระยะสั้นเป็นการจัดคิวในระดับโปรเซสและทำหน้าที่คัดเลือกโปรเซสในสถานะพร้อมและส่งเข้าไปอยู่ในสถานะรัน ส่วนการจัดคิวในระยะยาวจะเป็นการจัดคิวในระดับ "งาน“ ไม่ใช่ระดับ "โปรเซส" เมื่อผู้ใช้ส่งงานเข้ามาในระบบ งานเหล่านี้จะเข้าไปรออยู่ในคิวงานเมื่อระบบอยู่ในสภาพพร้อมที่จะรับโปรเซสใหม่ได้

7. การบวกเมตริกซ์ ใช้รูปแบบ processor แบบใด
ตอบ parallel processing

8. ลักษณะการจัดคิวแบบใดมีค่าเฉลี่ยในการรอน้อยที่สุด
ตอบ การจัดคิวแบบงานสั้นทำก่อน (Short-Job-first : SJF)
9. ระยะเวลาที่โปรเซสทำงานเสร็จมีหลักการคำนวณอย่างไร
ตอบ  กระบวนการจะสิ้นสุดหรือถูกยกเลิก เมื่อทำงานเสร็จในขั้นสุดท้าย แล้วร้องขอให้ระบบปฏิบัติการลบกระบวนการทิ้งไป โดยใช้คำสั่งเรียกระบบ exit ซึ่งกระบวนสามารถส่งข้อมูล (output) กลับไปให้กระบวนการแม่ได้ โดยคำสั่งเรียกระบบ wait กระบวนการหนึ่งอาจยกเลิกกระบวนการอื่นได้ โดยใช้คำสั่งเรียกระบบ เช่น คำสั่งยกเลิก (abort) การใช้คำสั่งนี้โดยปกติ ต้องเป็นกระบวนการแม่ใช้กับกระบวนการลูกเท่านั้น (เพราะกระบวนการแม่ทราบหมายเลขของกระบวนการลูกจากเมื่อตอนที่สร้างกระบวนการลูก)

10. ตัวส่ง Dispatcher ทำหน้าที่อย่างไร
ตอบ  Dispatcher ซึ่งเป็นโมดูลที่ทำหน้าที่ควบคุมการครอบครองเวลา cpu ของ process ฟังก์ชันนี้ประกอบด้วย
• การย้าย Context
• การย้ายไป user mode
• กระโดดไปยังตำแหน่งที่เหมาะสมของโปรแกรม เพื่อที่จะเริ่มรันโปรแกรมนั้นใหม่อีกครั้ง
Dispatcher นี้ควรมีการทำงานที่เร็วที่สุดเท่าที่จะทำได้ เพราะว่ามันจะต้องทำงานทุกครั้งที่มีการย้าย process ซึ่งเวลาที่ถูกใช้ไปกับการทำเช่นนี้เราเรียกว่า Dispatch Latency