Secamehore เป็นเครื่องมือปรับเทียบข้อมูลที่ถูกใช้ในระบบปฏิบัติการจริง (RTOS) เพื่อจัดการเข้าถึงทรัพยากรที่ใช้ร่วมกัน มันช่วยป้องกันความขัดแย้ง และประกันความถูกต้องของข้อมูล เมื่องานหรือเส้นด้ายหลายชิ้นทํางานพร้อมกันพร้อมกัน
เซมาโฟร์คืออะไร?
เซมาโฟร์เป็นตัวแปรหรือชนิดข้อมูลนามธรรม ที่ให้นามธรรมที่เรียบง่ายแต่มีประโยชน์ในการควบคุมการเข้าถึงทรัพยากรที่ใช้ร่วมกัน สามารถเริ่มใช้จํานวนทรัพยากรที่ระบุไว้แทนจํานวนทรัพยากรที่มีอยู่
ชนิดของการแข็งตัว
มีเซมาโฟเรส 2 ประเภทหลัก:
- [FLT: 0] สืบค้นข้อมูล Secmaphores: เหล่านี้ติดตามจํานวนทรัพยากรที่มี และสามารถเพิ่มหรือลดจํานวนได้
- [FLT: 0] Binary Semaphors: เหล่านี้มีเพียง 2 รัฐ 0 และ 1 ทํางานในลักษณะคล้ายคลึงกันกับล็อคหรือใบ้.
การ นํา เซ มาโฟเรส ใน อาร์ โตส
Semaphore ถูกใช้ในการปรับเทียบงานโดยการควบคุมการรับข้อมูลหรือฮาร์ดแวร์ร่วมกัน เมื่องานที่ต้องการทรัพยากร ก็จะทําการรอ (หรือลบ) หากค่า Semaphore เป็นศูนย์ บล็อกงานจะว่างจนกว่าทรัพยากรจะมีการใช้งาน
เมื่อ งาน ปล่อย ทรัพยากร งาน ก็ จะ ทํา การ ดําเนิน งาน (หรือ เพิ่ม ขึ้น) โดย อาจ ไม่ มี การ ขัด ขวาง งาน อื่น ๆ ที่ รอ อยู่.
ฝึกดีที่สุด
เพื่อ จะ ใช้ เซ มา ฟอส ใน อาร์ โตส อย่าง มี ประสิทธิภาพ ขอ พิจารณา ดัง ต่อ ไป นี้:
- เริ่มนับค่าเซมาโฟเรสให้ถูกต้อง
- ใช้การรอและส่งสัญญาณดําเนินการอย่างต่อเนื่อง
- หลีกเลี่ยงการจับเซมาโฟเรส นานกว่าที่จําเป็น
- การจับเวลาเพื่อป้องกันการล็อคตาย