ความแตกต่างระหว่างการหยุดชะงักและความอดอยากในระบบปฏิบัติการ

ผู้เขียน: Laura McKinney
วันที่สร้าง: 3 เมษายน 2021
วันที่อัปเดต: 23 เมษายน 2024
Anonim
What is INCIDENT RESPONSE TEAM? What does INCIDENT RESPONSE TEAM mean?
วิดีโอ: What is INCIDENT RESPONSE TEAM? What does INCIDENT RESPONSE TEAM mean?

เนื้อหา


ทั้ง Deadlock และ Starvation เป็นเงื่อนไขที่กระบวนการที่ร้องขอทรัพยากรล่าช้าไปเป็นเวลานาน แม้ว่าการหยุดชะงักและความอดอยากทั้งสองจะแตกต่างกันในหลาย ๆ ด้าน การหยุดชะงัก เป็นเงื่อนไขที่ไม่มีกระบวนการดำเนินการสำหรับการดำเนินการและแต่ละรอทรัพยากรที่ได้รับจากกระบวนการอื่น ๆ ในทางกลับกันใน ความอดอยากกระบวนการที่มีลำดับความสำคัญสูงจะใช้ทรัพยากรอย่างต่อเนื่องเพื่อป้องกันกระบวนการที่มีลำดับความสำคัญต่ำเพื่อรับทรัพยากร ให้เราคุยความแตกต่างเพิ่มเติมระหว่างการหยุดชะงักและความอดอยากด้วยความช่วยเหลือของแผนภูมิเปรียบเทียบที่แสดงด้านล่าง

  1. แผนภูมิเปรียบเทียบ
  2. คำนิยาม
  3. ความแตกต่างที่สำคัญ
  4. ข้อสรุป

แผนภูมิเปรียบเทียบ

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


คำจำกัดความของ Deadlock

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

การหยุดชะงักเป็นปัญหาที่พบบ่อยในระบบปฏิบัติการหลายตัวระบบกระจายและในระบบประมวลผลแบบขนาน มีสี่เงื่อนไขที่จะต้องเกิดขึ้นพร้อมกันเพื่อยกระดับเงื่อนไขการหยุดชะงักซึ่ง ได้แก่ การกีดกันซึ่งกันและกันการพักและรอการพักล่วงหน้าไม่มีการจองล่วงหน้าและการรอแบบวน

  • การยกเว้นซึ่งกันและกัน: กระบวนการเดียวในแต่ละครั้งสามารถใช้ทรัพยากรได้หากกระบวนการอื่นร้องขอทรัพยากรเดียวกันต้องรอจนกว่ากระบวนการที่ใช้ทรัพยากรจะเผยแพร่
  • กดค้างไว้: กระบวนการจะต้องถือครองทรัพยากรและรอที่จะได้รับทรัพยากรอื่นที่จัดขึ้นโดยกระบวนการอื่น ๆ
  • ไม่มีการจองล่วงหน้า: กระบวนการที่ถือครองทรัพยากรไม่สามารถจองล่วงหน้าได้ กระบวนการที่ถือครองทรัพยากรต้องปล่อยทรัพยากรโดยสมัครใจเมื่อมันเสร็จสิ้นภารกิจแล้ว
  • รอเป็นวงกลม: กระบวนการนี้จะต้องรอทรัพยากรในลักษณะเป็นวงกลม สมมติว่าเรามีสามกระบวนการ {P0, P1, P2} P0 ต้องรอทรัพยากรที่ถือโดย P1; P1 ต้องรอรับทรัพยากรที่จัดขึ้นโดยกระบวนการ P2 และ P2 ต้องรอรับกระบวนการที่จัดขึ้นโดย P0

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


คำจำกัดความของความอดอยาก

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

ปัญหาความอดอยากมักเกิดขึ้นใน อัลกอริทึมการตั้งเวลาลำดับความสำคัญ. ในอัลกอริทึมการจัดตารางความสำคัญกระบวนการที่มีลำดับความสำคัญสูงกว่าจะถูกจัดสรรทรัพยากรเสมอป้องกันกระบวนการลำดับความสำคัญที่ต่ำกว่าจากการรับทรัพยากรที่ร้องขอ

ริ้วรอยก่อนวัย สามารถแก้ปัญหาความอดอยากได้ อายุจะค่อยๆเพิ่มลำดับความสำคัญของกระบวนการที่รอมานานสำหรับทรัพยากร การกำหนดอายุจะป้องกันกระบวนการที่มีลำดับความสำคัญต่ำเพื่อรอทรัพยากรอย่างไม่มีกำหนด

  1. ในการหยุดชะงักไม่มีกระบวนการใดดำเนินการเพื่อดำเนินการแต่ละกระบวนการถูกบล็อกรอทรัพยากรที่ได้มาจากกระบวนการอื่น ในทางตรงข้ามความอดอยากเป็นเงื่อนไขที่กระบวนการที่มีลำดับความสำคัญสูงกว่าได้รับอนุญาตให้ได้รับทรัพยากรอย่างต่อเนื่องโดยการป้องกันไม่ให้กระบวนการระดับความสำคัญต่ำได้รับทรัพยากร
  2. การหยุดชะงักเกิดขึ้นเมื่อสี่เงื่อนไข การยกเว้นซึ่งกันและกันถือและรอไม่มีการจองล่วงหน้าและการรอแบบวน เกิดขึ้นพร้อมกัน อย่างไรก็ตามความอดอยากเกิดขึ้นเมื่อกระบวนการ มีการบังคับใช้ลำดับความสำคัญ ในขณะที่จัดสรรทรัพยากรหรือมีการจัดการทรัพยากรที่ไม่สามารถควบคุมได้ในระบบ
  3. การหยุดชะงักมักจะถูกเรียกโดยใช้ชื่อ รอเป็นวงกลม ในขณะที่ความอดอยากที่เรียกว่า ล็อคอยู่.
  4. ใน Deadlock ทรัพยากรถูกบล็อกโดยกระบวนการในขณะที่ความอดอยากกระบวนการจะถูกใช้อย่างต่อเนื่องโดยกระบวนการที่มีลำดับความสำคัญสูง
  5. การหยุดชะงักสามารถป้องกันได้โดยการหลีกเลี่ยงเงื่อนไขเช่นการกีดกันซึ่งกันและกันการพักไว้และรอและการรอคอยเป็นวงกลมและโดยการอนุญาตให้กระบวนการจองล่วงหน้าที่ถือครองทรัพยากรเป็นเวลานาน ในอีกทางหนึ่งความอดอยากสามารถป้องกันได้ด้วย ริ้วรอย.

สรุป:

ทั้ง Deadlock และ Starvation ทำให้กระบวนการดำเนินการล่าช้าโดยการปิดกั้น ในอีกด้านหนึ่งที่การหยุดชะงักสามารถทำให้กระบวนการอดอยากและในอีกทางหนึ่งการอดอาหารสามารถทำให้กระบวนการหยุดชะงักได้