การเข้าจังหวะของโปรเซส (Process Synchronization)

การเข้าจังหวะของโปรเซส (Process Synchronization)

ในการใช้ทรัพยากรโดยเฉพาะอย่างยิ่งข้อมูลอาจก่อให้เกิดปัญหาที่ทำให้การทำงานไม่ถูกต้อง
ตัวอย่าง
เริ่มต้นค่า X = 10
โปรเซสที่ 1 มีการเพิ่มค่า X จากเดิม 10
โปรเซสที่ 2 มีการลบค่า X ลง 10
ผลจากการทำงานจะเป็นดังนี้  (10+10-10) = 10



























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

การป้องกันโปรเซสอื่น ๆ เข้ามาใช้ทรัพยากรซึ่งมีโปรเซสหนึ่งครอบครองอยู่แล้วเรียกว่า การไม่เกิดร่วม (Mutual exclusion)
ในช่วงเวลาที่โปรเซสเข้าไปครอบครองทรัพยากรแบบการไม่เกิดร่วมนี้เรียกว่า โปรเซสนั้นอยู่ในย่านวิกฤต (Critical region หรือ Critical Section)



ความคิดเห็น