สัญญาณกับ Mutex
เนื้อหา
ความแตกต่างระหว่างเซมาฟอร์และ mutex คือเซมาฟอร์นั้นเป็นกลไกการส่งสัญญาณในขณะที่ mutex เป็นกลไกการล็อค
ระบบปฏิบัติการเป็นแนวคิดที่สำคัญที่สุดในวิทยาการคอมพิวเตอร์ในระบบปฏิบัติการแนวคิดหลักที่สองคือเซมาฟอร์และ mutex มีความแตกต่างอย่างมากระหว่างสัญญาณและ mutex ถ้าเราพูดถึงความแตกต่างหลักแล้วความแตกต่างที่สำคัญระหว่างสัญญาณและ mutex คือสัญญาณที่เป็นกลไกการส่งสัญญาณในขณะที่ mutex เป็นกลไกการล็อค
ความแตกต่างระหว่างสัญญาณและ mutex มาในกระบวนการ สัญญาณดำเนินการรอ () และการดำเนินงานสัญญาณ () ฟังก์ชั่นนี้มีหน้าที่รับผิดชอบในการรู้ว่าพวกเขาได้รับหรือพวกเขาได้ปล่อยทรัพยากร ในทางตรงกันข้ามถ้าเราพูดถึง mutex, mutex เป็นกลไกการล็อค
สัญญาณเป็นตัวแปรจำนวนเต็ม S; สัญญาณเป็นกลไกการส่งสัญญาณ ในระบบปฏิบัติการไม่จำเป็นต้องมีเครื่องมือการซิงโครไนซ์และเครื่องมือในระบบปฏิบัติการนั้นรู้จักกันในนามเซมาฟอร์ มีสองหน้าที่หลักของสัญญาณที่รอ () สัญญาณ () ค่าสัญญาณมีการเปลี่ยนแปลงด้วยสองฟังก์ชั่นที่รอ () และสัญญาณ () เมื่อกระบวนการใช้ทรัพยากรสัญญาณจะรอ () และเมื่อกระบวนการใช้ทรัพยากรและทรัพยากรนั้นว่างจากนั้นสัญญาณจะให้สัญญาณ () ฟังก์ชั่นเหล่านี้ที่รอ () และสัญญาณ () เหล่านี้จะใช้เพราะกระบวนการเดียวเท่านั้นที่สามารถใช้ทรัพยากรได้ในครั้งเดียว ไม่สามารถมอบทรัพยากรหนึ่งรายการให้กับสองกระบวนการ สัญญาณมีสองประเภทในระบบปฏิบัติการที่เป็นสัญญาณสัญญาณแบบไบนารีและการนับสัญญาณ ในการนับเซมาฟอร์การนับค่าเริ่มต้นคือจำนวนของทรัพยากรที่มีอยู่ เมื่อกระบวนการใช้ทรัพยากรมันจะรอ () และต้องรอทรัพยากรนั้น การนับค่าสัญญาณจะลดลงทีละคน เมื่อกระบวนการใช้ทรัพยากรมันจะปล่อยทรัพยากรนั้นและปล่อยสัญญาณ () เพื่อที่จะต้องว่างสำหรับกระบวนการอื่น เมื่อจำนวนทรัพยากรเป็น 0 หมายความว่าไม่มีทรัพยากรสำหรับกระบวนการที่กำลังจะมาถึง มีสองค่าในเซมาฟอร์ไบนารีที่เป็น 0 และ 1 เมื่อกระบวนการใช้ค่าทรัพยากรของเซมาฟอร์ไบนารีมาจาก 1 ถึง 0 และเมื่อทรัพยากรได้ใช้ทรัพยากรแล้วค่าของเซมาฟอร์ไบนารีเป็น 1 ถึง 0
Mutex ยังเป็นที่รู้จักกันในนามวัตถุแยกกัน เรารู้ว่ามีเพียงกระบวนการเดียวเท่านั้นที่สามารถใช้ทรัพยากรได้ในคราวเดียว นี่คือเหตุผลที่มีระบบการล็อกและระบบการล็อคนั้นเรียกว่า mutex การล็อก Mutex ถูกกำหนดให้กับกระบวนการเมื่อกระบวนการนั้นกำลังใช้ทรัพยากร วัตถุ Mutex มีชื่อและ ID ที่ไม่ซ้ำกัน ในโปรแกรมเมื่อใดก็ตามที่มีความต้องการ mutex lock ระบบจะเรียก mutex lock ตามชื่อและ ID หากเราเห็นรหัสของ mutex เราจะมีความเข้าใจที่ชัดเจนเกี่ยวกับการนำไปใช้และการใช้ mutex lock
สารบัญ: ความแตกต่างระหว่างสัญญาณและ Mutex
- แผนภูมิเปรียบเทียบ
- สัญญาณ
- mutex
- ข้อสรุป
- วิดีโออธิบาย
แผนภูมิเปรียบเทียบ
รากฐาน | สัญญาณ | mutex |
ความหมาย | สัญญาณเป็นกลไกการส่งสัญญาณ | mutex เป็นกลไกการล็อค |
ราคา | สัญญาณเป็นจำนวนเต็ม | mutex เป็นวัตถุ |
การทำงาน | การทำงานของเซมาฟอร์รอ () และสัญญาณ () | การดำเนินการของ mutex เป็นการล็อคและปลดล็อค |
ประเภท | สัญญาณสองประเภทคือการนับสัญญาณและสัญญาณสัญญาณแบบไบนารี | ไม่มีการล็อค mutex |
สัญญาณ
สัญญาณเป็นตัวแปรจำนวนเต็ม S; สัญญาณเป็นกลไกการส่งสัญญาณ ในระบบปฏิบัติการไม่จำเป็นต้องมีเครื่องมือการซิงโครไนซ์และเครื่องมือในระบบปฏิบัติการนั้นรู้จักกันในนามเซมาฟอร์ มีสองหน้าที่หลักของสัญญาณที่รอ () สัญญาณ () ค่าสัญญาณมีการเปลี่ยนแปลงด้วยสองฟังก์ชั่นที่รอ () และสัญญาณ () เมื่อกระบวนการใช้ทรัพยากรสัญญาณจะรอ () และเมื่อกระบวนการใช้ทรัพยากรและทรัพยากรนั้นว่างจากนั้นสัญญาณจะให้สัญญาณ () ฟังก์ชั่นเหล่านี้คือการรอ () และสัญญาณ () ซึ่งใช้เพราะกระบวนการเดียวเท่านั้นที่สามารถใช้ทรัพยากรได้ในคราวเดียว
ไม่สามารถมอบทรัพยากรหนึ่งรายการให้กับสองกระบวนการ สัญญาณมีสองประเภทในระบบปฏิบัติการที่เป็นสัญญาณสัญญาณแบบไบนารีและการนับสัญญาณ ในการนับเซมาฟอร์ค่าเริ่มต้นคือจำนวนของทรัพยากรที่มีอยู่ เมื่อกระบวนการใช้ทรัพยากรมันจะรอ () และต้องรอทรัพยากรนั้น การนับค่าสัญญาณจะลดลงทีละคน เมื่อกระบวนการใช้ทรัพยากรมันจะปล่อยทรัพยากรนั้นและปล่อยสัญญาณ () เพื่อที่จะต้องว่างสำหรับกระบวนการอื่น เมื่อจำนวนทรัพยากรเป็น 0 หมายความว่าไม่มีทรัพยากรสำหรับกระบวนการที่กำลังจะมาถึง มีสองค่าในเซมาฟอร์ไบนารีที่เป็น 0 และ 1 เมื่อกระบวนการใช้ค่าทรัพยากรของเซมาฟอร์ไบนารีมาจาก 1 ถึง 0 และเมื่อทรัพยากรได้ใช้ทรัพยากรแล้วค่าของเซมาฟอร์ไบนารีเป็น 1 ถึง 0
mutex
Mutex ยังเป็นที่รู้จักกันในนามวัตถุแยกกัน เรารู้ว่ามีเพียงกระบวนการเดียวเท่านั้นที่สามารถใช้ทรัพยากรได้ในคราวเดียว นี่คือเหตุผลที่มีระบบการล็อกและระบบการล็อคนั้นเรียกว่า mutex การล็อก Mutex ถูกกำหนดให้กับกระบวนการเมื่อกระบวนการนั้นกำลังใช้ทรัพยากร วัตถุ Mutex มีชื่อและ ID ที่ไม่ซ้ำกัน ในโปรแกรมเมื่อใดก็ตามที่มีความต้องการ mutex lock ระบบจะเรียก mutex lock ตามชื่อและ ID หากเราเห็นรหัสของ mutex เราจะมีความเข้าใจที่ชัดเจนเกี่ยวกับการนำไปใช้และการใช้ mutex lock
ความแตกต่างที่สำคัญ
- สัญญาณเป็นกลไกการส่งสัญญาณในขณะที่ Mutex เป็นล็อค
- สัญญาณเป็นจำนวนเต็มในขณะที่ Mutex เป็นวัตถุ
- การดำเนินการของสัญญาณรอสัญญาณ () และสัญญาณ () ในขณะที่การดำเนินงานของ mutex ล็อคและปลดล็อค
- สัญญาณสองประเภทคือการนับสัญญาณและสัญญาณสัญญาณไบนารีในขณะที่ไม่มีประเภทของ mutex
ข้อสรุป
ในบทความข้างต้นเราเห็นความแตกต่างที่ชัดเจนระหว่างสัญญาณและ mutex กับการใช้งานที่เหมาะสม