การสลับการทำงานของซีพียู (Context Switch)
การสลับการทำงานของซีพียู (Context Switch) หมายถึง การที่ CPU สลับไปประมวลผลโปรเซส
(process) อื่นโดยจะทำการบันทึก (save) สถานะของโปรเซสปัจจุบันเอาไว้ จากนั้นจะเรียก (load) สถานะที่ถูกบันทึกไว้กลับขึ้นมาประมวลผลต่ออีกครั้งเมื่อย้อนกลับมาทำงานเดิม เมื่อโปรเซสเซอร์ (processor) ประมวลผลโปรเซสเสร็จก็จะสลับไปยังโปรเซสอื่นถัดไปที่อยู่ในคิว (Queue)
ระหว่างที่ CPU สลับการประมวลผลนั้น (switch) CPU จะว่าง ไม่มีการทำงาน ซึ่งเวลาระหว่างนี้จะสูญ
เปล่า เวลาที่ใช้ในการสลับจะเปลี่ยนไปตามเครื่อง ซึ่งขึ้นอยู่กับความเร็วของหน่วยความจำจำนวน รีจีสเตอร์ (Register) ที่ถูกคัดลอก (copy) และคำสั่งพิเศษที่มีอยู่ในระบบ
ดังนั้นการสลับการทำงาน (context switch) จึงขึ้นอยู่การสนับสนุน (support) ของฮาร์ดแวร์ด้วยเช่น โปรเซสเซอร์บางตัวมีรีจีสเตอร์อยู่หลายชุดก็จะเปลี่ยนตัวชี้ (pointer) ไปยังชุดของรีจีสเตอร์แต่หากมีจำนวน โปรเซสมากกว่า ชุดของรีจีสเตอร์ ระบบจะคัดลอกข้อมูลระหว่างรีจีสเตอร์กับหน่วยความจำ
การสลับการทำงานนี้จะเข้ามาแก้ปัญหาคอขวดของระบบ (performance bottleneck) ซึ่งการใช้
context switch กลายเป็นสิ่งที่เพิ่มประสิทธิภาพให้กับระบบ เกิดเป็นโครงสร้างใหม่ที่เรียกว่าเธรด (threads) ที่ใช้เพื่อหลีกเลี่ยงปัญหาคอขวด
· การสร้างและจบการทำงานของโปรเซส
การทำงานของโปรเซส (Operations on Processes)
โปรเซสสามารถทำงานภายในระบบไปได้พร้อม ๆกัน โดยจะต้องมีโปรเซสหนึ่งถูกสร้าง และมีอีกโปรเซสหนึ่งถูกลบออกจากระบบ ซึ่งการสร้งโปรเซสนั้น (Process creation) จะมีโปรเซสแม่ (parent) โปรเซสลูก (child) โดยจะเป็นโครงสร้างแบบต้นไม้ (tree of processes) ส่วนการจบการทำงานของโปรเซส (Process termination) จะจบการทำงานเมื่อโปรเซสถูกประมวลผลคำสั่งเสร็จสิ้น หรือเมื่อโปรเซสแม่จบการทำงานก็จะส่งผลให้โปรเซสลูกจบการทำงานด้วย หรือบางครั้งโปรเซสลูกใช้เวลาหรือทรัพยากรมากไปก็จะส่งผลให้จบการทำงานโดยการจัดการของ OS
การสร้างโปรเซส (Process Creation)
- เมื่อมีงานเข้ามาในระบบ (Submission of a batch job)
- เมื่อผู้ใช้ล๊อกออนเข้าสู่ระบบ (User logs on)
- เมื่อมีการเรียกใช้หรือจัดเตรียมบริการต่าง ๆ ของระบบ เช่น มีคำสั่งพิมพ์งานออกทางเครื่องพิมพ์ (printing)
- เมื่อโปรเซสถูกสร้างโดยโปรเซสอื่น (Process creates another process)