Please enable JavaScript.
Coggle requires JavaScript to display documents.
การประสานเวลาของโพรเซส - Coggle Diagram
การประสานเวลาของโพรเซส
การประสานเวลาของโพรเซส
โดยทั่วไปทุกโพรเซสต้องการให้มีการประมวลผลอย่างเป็นอิสระ เสมือนมีโพรเซสเดียวที่กำลังทำงานอยู่ ลักษณะความเป็นอิสระนี้เรียกว่า Asynchronous ซึ่งในความเป็นจริงมีหลายโพรเซสเกิดขึ้นในเวลาเดียวกัน และอาจมีความจำเป็นต้องการใช้ทรัพยากรที่มีอยู่อย่างจำกัดพร้อมกัน
ปัญหาภาวะพร้อมกัน
ในระบบที่มีการทำงานบนซีพียูเดียว หรือทำงานบนซีพียูหลายตัว บางครั้งมีความจำเป็นที่ต้องใช้ทรัพยากรร่วมกัน และเป็นทรัพยากรที่ไม่สามารถทำงานพร้อมกันได้จะเรียกทรัพยากรเหล่านี้ว่า ทรัพยากรที่ไม่สามารถใช้ร่วมกันได้(Non-dedicated resources) ดังนั้น ในขณะที่โพรเซสหนึ่งกำลังใช้ทรัพยากรอยู่ โพรเซสอื่นจะไม่สามารถเข้ามาใช้ทรัพยากรนั้น ๆ ได้
สภาวะการแย่งชิง
โพรเซสที่ใช้ตัวแปรตัวหนึ่งในหน่วยความจำร่วมกันทั้งสองโพรเซส การแก้ไขข้อมูลตัวแปรนั้นพบว่า ลำดับของการแก้ไขก่อนหรือหลังมีความสำคัญต่อค่าของข้อมูลตัวนั้น ทำให้โพรเซสสองโพรเซสที่ต้องการใช้ทรัพยากรที่แชร์ไว้พร้อมกันในเวลาเดียวกัน ทำให้ผลลัพธ์อาจจะเกิดการผิดพลาดขึ้นได้ ดังนั้นเพื่อป้องกันการเกิดเงื่อนไขการแย่งชิงขึ้น ระบบต้องแน่ใจว่าในเวลาใด ๆ จะมีเพียงโพรเซสเดียวเท่านั้นที่กำลังเข้าจัดการข้อมูลตัวแปร X โดยต้องอาศัยกลไกบางอย่างในการประสานโพรเซสอย่างได้จังหวะกันจึงสามารถรับประกันความถูกต้องได้
-
-
-
-
การติดตายและอดตาย
การสร้างเซมาฟอร์ด้วยการให้โพรเซสที่รอการทำงานไปอยู่ในคิว อาจส่งผลให้เกิดเหตุการณ์ที่ 2 โพรเซสหรือมากกว่านั้นรอแบบไม่มีที่สิ้นสุด เนื่องจากโพรเซสไปรอการทำงานของโพรเซสที่ยังรอการทำงานด้วยเช่นกัน ลักษณะเช่นนี้เรียกว่าการติดตาย (Deadlock)
-