สัญญาณกับ Mutex

ผู้เขียน: Laura McKinney
วันที่สร้าง: 4 เมษายน 2021
วันที่อัปเดต: 10 พฤษภาคม 2024
Anonim
What is difference between Semaphore and Mutex
วิดีโอ: What is difference between Semaphore and 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

ความแตกต่างที่สำคัญ

  1. สัญญาณเป็นกลไกการส่งสัญญาณในขณะที่ Mutex เป็นล็อค
  2. สัญญาณเป็นจำนวนเต็มในขณะที่ Mutex เป็นวัตถุ
  3. การดำเนินการของสัญญาณรอสัญญาณ () และสัญญาณ () ในขณะที่การดำเนินงานของ mutex ล็อคและปลดล็อค
  4. สัญญาณสองประเภทคือการนับสัญญาณและสัญญาณสัญญาณไบนารีในขณะที่ไม่มีประเภทของ mutex

ข้อสรุป

ในบทความข้างต้นเราเห็นความแตกต่างที่ชัดเจนระหว่างสัญญาณและ mutex กับการใช้งานที่เหมาะสม

วิดีโออธิบาย