Аюултай хэсэг

Чөлөөт нэвтэрхий толь — Википедиагаас
Jump to navigation Jump to search

Аюултай хэсэг (англ. Critical section) N тооны {P0, P1 .... Pn-1} процессуудаас бүрдэх системийг авч үзэе. Процесс бүр нь кодын сегменттэй байх ба үүнийг critical section гэж нэрлэдэг, Critical section дах процесс нь нийтлэг хувьсагчуудыг өөрчлөх, хүснэгтийг шинэчлэх, файл бичих зэрэг байж болно. тухайн системийн чухал онцлог нь нэг процессыг өөрийн critical Section-д гүйцэтгэж байхад Critical section нь өөр ямар нэг процессыг давхар гүйцэтгэдэггүй. Critical section-ы бодлого нь процессуудыг хамт боловсруулж болох протоколыг боловсруулах явдал юм. Процесс бүр нь өөрийн Critical section-д нэвтрэхдээ зөвшөөрөл хүсэх ёстой байдаг. Уг хүсэлтийг хэрэгжүүлэх кодын хэсэг нь entry section юм. Critical section нь exit section-ыг давхар ажиллуулж байдаг. Үлдэгдэл код нь remainder section юм. Энгийн процесс PI-ийн ерөнхий бүтэцийг Зураг 6.1 дээр харуулав. Кодын чухал хэсгүүдийг тодруулсан ба entry section болон exit section-ыг хайрцагт хийж хүрээлсэн байна. Бүлэг 6. Процессийн синхрончлолт

Critical section бодлогын шийдэл нь дараах 3 шаардлагыг хангаж байх ёстой. 1. Давхардалт байхгүй байх- Хэрэв Рi процесс нь өөрийн Critical section-д хэрэгжиж байвао бусад процессууд нь өөрийн өөрсдийн Critical section-доо ажиллаж болохгүй. 2. Явц – Хэрэв өөрийн Critical section-д процесс хэрэгжээгүй байвал зарим нэг процессууд нь өөр өөрсдийн Critical section-д орж болох ба зөвхөн тэдгээр процессууд нь л хэрэгжихгүй, зөвхөн өөр өөрсдийн Critical section-д орно. 3. Хязгаартай хүлээлт: тоон хязгаар эсвэл лимит байвал бусад процесууд нь өөрийн critical section-д орох хүсэл гаргасны дараа хүсэлтийг баталгаажуулсны дараа critical section-д орохыг зөвшөөрдөг. Бид процесс бүр нь 0 биш хурдаар биелэгдэж байгаа гэж таамаглаж байна. Гэсэн хэдий ч бид n процессуудын харьцангуй хурдад төвлөрсөн тодорхой таамаглал гаргаж чадахгүй байна. Олон кернел загвартай процессууд нь үйлдлийн системд идэвхтэй байдаг. Үйлдлийн системийн хэрэгжүүлсэн код нь хэд хэдэн боломжит нөхцөл бүхий субьект байдаг. Кернел өгөгдлийн бүтцийг авч үзвэл тухайн системд байгаа бүхий нээлттэй файлуудын жагсаалт гарч ирнэ. Энэхүү жагсаалт нь шинэ файл нээгдэхэд эсвэл хаагдахад өөрчлөгдөж байх ёстой. Хэрэв хоёр процессууд нь хоёулаа нээлттэй файлууд байвал уг жагсаалтанд тус тусдаа өөрчлөлт хийнэ. Бусад кернел өгөгдлийн бүтцүүдэд санах ойн хуваарилалт болон процессын жагсаалт хуваарилалт зэрэг үйлдлүүдийг хийх боломжтой байдаг.