Процессуудын хамтран ажиллагаа<br />Лекц 8<br />
Процессуудын харилцан ажиллагаа<br />Процессууд харилцан ажиллах тохиолдол:<br />- Нэг процессоос нөгөө рүү мэдээлэл дамжу...
Нэг процессоос нөгөө рүү мэдээлэл дамжуулах:<br />Передача может осуществляться несколькими способами:<br />- Distributed ...
.<br />
Уралдах төлөв<br />Хэдэн процесс зэрэг өгөгдөл унших болох бичих (санах ойд эсвэл файлд).<br />in – дарагийн чөлөөтэй сегм...
Дараалуулан event-үүдийг бичвэл:<br />Процесс А in (7-той тэнцүү) хувьсагчийг уншин өөрийн next_free_slot хувьсагчид хадга...
Критик хэсэг<br />Критик хэсэг – distributed өгөгдөлд хандах программын хэсэг.<br />Уралдахыг тойрох ба процессийн идэвхтэ...
Идэвхтэй хүлээлтийг арилгах<br />Тасалдалтыг хориглох:<br />Процесс критик хэсэгт ороход бүх тасалдалтыг хориглох.<br />Ду...
Хатуу дараалах<br />Дутагдалтай тал:<br />Блоклогдсон процесс хувьсагч өөрчлөгдсөн эсэхийг шалгах циклд үргэлж байх. <br /...
Процессийн харилцан хамаарал <br />2 харилцан хамаарал:<br />sleep – системийн request ба үр дүнд нь нэг процесс өөр проце...
Дүүргэгдсэн буфер<br />Буфер дүүрэн байхад бичихгүйн тулд countхувьсагч оруулан буферийн элементийг тоолно<br />
Идэвхжүүлэх дохио алга болоход 2 процесс 2-уулаа хүлээлгийн горимд орж болно.<br />Ийм тохиолдлын алгоритм:<br />Процесс В...
Семафор <br />Семафоры – ирээдүйд хэрэглэхээр set дохио тоолох хувьсагч.<br />downба up (sleep ба wakeup-ийн аналог). <br ...
Семафор ашиглан дүүргэгдсэн буферийг шийдэх<br />3 семафор авна:<br />full – дүүргэгдсэн сегментийн тоо (эхэндээ= 0)<br />...
Орол/гаралтын төхөөрөмжид семафор ашиглах:<br />Оролт/гаралтын төхөөрөмжид семафорыг 0-ээр тавина. Удирдах процессачаалагд...
Процессууд бие биенээ блоклох<br />Процессууд харилцан блоклох– нэгресурсэд олон процесс хандах.<br />Ресурсачаалах, ачаал...
Графаар шалгах<br />харилцан блоклолт үүсэх эсэхийг шалгахад хялбар. Цикл байгаа бол - харилцан блоклолт<br />Жишээ:<br />...
Циклэн алгоритм:<br />3 процесс A, B, C<br />3 ресурс R, S, T<br />Системпроцесс B-г блоклоно:<br />
Upcoming SlideShare
Loading in …5
×

Lecture8

938 views
861 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
938
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Lecture8

  1. 1. Процессуудын хамтран ажиллагаа<br />Лекц 8<br />
  2. 2. Процессуудын харилцан ажиллагаа<br />Процессууд харилцан ажиллах тохиолдол:<br />- Нэг процессоос нөгөө рүү мэдээлэл дамжуулах<br />- Процессуудын хяналт (жишээ нь: нэг ресурс рүү уралдах)<br />- Процессуудын харилцан зөвшилцөл (жишээ нь: нэг процесс өгөгдөл өгөхөд, нөгөө нь хэвлэх).<br />Сүүлийн 2 урсгалд ч хамаарна<br />
  3. 3. Нэг процессоос нөгөө рүү мэдээлэл дамжуулах:<br />Передача может осуществляться несколькими способами:<br />- Distributed санах ой<br />- Суваг (), нэг процесс бичиж нөгөө нь уншдаг псевдофайл<br />- Сокет – процессууд нэг мэт ажиллахыг зөвшөөрдөг орчинг нууцалсан цөм дэмждэг механизм<br /><ul><li>Mail box(Windows), нэг чиглэлт түгээх систем</li></ul> Далдлагдсан процедурыг дуудахдаа А дроцесс В процесс дахь процедурыг дуудаж үр дүнг эргүүлэн авчболно<br />
  4. 4. .<br />
  5. 5. Уралдах төлөв<br />Хэдэн процесс зэрэг өгөгдөл унших болох бичих (санах ойд эсвэл файлд).<br />in – дарагийн чөлөөтэй сегментийг заах хувьсагч<br />out – дараагийн файлын нэрийг заагч хувьсагч<br />
  6. 6. Дараалуулан event-үүдийг бичвэл:<br />Процесс А in (7-той тэнцүү) хувьсагчийг уншин өөрийн next_free_slot хувьсагчид хадгална.<br />Таймерын тасалдалт ажиллан процессор процесс В-г хүлээнэ.<br />Процесс В in (7 -той тэнцүү) хувьсагчийг уншин өөрийн next_free_slot хувьсагчид хадгална.<br />Процесс В файлын нэрийг сегмент 7-д хадгална.<br />Процесс В next_free_slot хувьсагчийг нэгээр (next_free_slot+1) ихэсгэн in-г 8 болгоно.<br />Удирдлага процесс А-д очин зогссон газраам эхэлнэ.<br />Процесс А файлын нэрийг сегменте 7-д хадгалж процесса Вдэх файлын нэрийг устгана.<br />Процесс А next_free_slot хувьсагчийг нэгээр ихнсгэн на (next_free_slot+1), in-г 8болгоно.<br />Процесс Вдэх файл хэвлэгдэхгүй. <br />
  7. 7. Критик хэсэг<br />Критик хэсэг – distributed өгөгдөлд хандах программын хэсэг.<br />Уралдахыг тойрох ба процессийн идэвхтэй ажиллагаа:<br />- 2 процесс нэг зэрэг критик хэсэгт байх ёсгүй.<br />- Критик хэмгийн гадна байх процесс бусад процессийг блоклож болох.<br />- Процесс үргэлж хүлээн критик хэсэгт орохгүй байх<br />
  8. 8. Идэвхтэй хүлээлтийг арилгах<br />Тасалдалтыг хориглох:<br />Процесс критик хэсэгт ороход бүх тасалдалтыг хориглох.<br />Дутагдалтай тал нь процессод сбой гарахад тасалдалтыг хоргилосноо арилгаж чадахгүй<br />Блоклох хувьсагч:<br />Блоклох хувьсагч гэдэг <br />ойлголт оруулах 1 – өөр <br />процессресурс ашиглаж <br />байгаа ба 2-р процесс хүлээх<br /> горимд шилжиж байгаа<br />(блоклогдсон) хувьсагчийн <br />утга 0 болтол байх.<br />
  9. 9. Хатуу дараалах<br />Дутагдалтай тал:<br />Блоклогдсон процесс хувьсагч өөрчлөгдсөн эсэхийг шалгах циклд үргэлж байх. <br />Критик мужийн гадна байгаа процесс өөр процессийг блоклож чадахгүй.<br />Идэвхтэй хүлээлттэй өөр алгоримт байж болно (алгоритм Петерсон, команд TSL)<br />
  10. 10. Процессийн харилцан хамаарал <br />2 харилцан хамаарал:<br />sleep – системийн request ба үр дүнд нь нэг процесс өөр процесс түүнийг зөвшөөрөх хүртэл блоклогдоно.<br />wakeup - системийн request үр дүнд нь блоклогдсон процесс зөвшөөрөгдөнө<br />Идэвхтэй хүлээлт байхгүй<br />
  11. 11. Дүүргэгдсэн буфер<br />Буфер дүүрэн байхад бичихгүйн тулд countхувьсагч оруулан буферийн элементийг тоолно<br />
  12. 12. Идэвхжүүлэх дохио алга болоход 2 процесс 2-уулаа хүлээлгийн горимд орж болно.<br />Ийм тохиолдлын алгоритм:<br />Процесс В, count=0 уншина (блоклогдож амжаагүй)<br />Төлөвлөгч процесс А-д удирдлага өгнө<br />Процесс Аwakeup хүртэлх гүйцэтгэгдэн процесс В блокийг арилгахыг оролдоно (гэхдээ блок арилахгүй wakeup хоосон ажиллана)<br />Төлөвлөгч процесс Б-д удирдлага өгнө<br />Блоклогдсон тул блок арилгах лохио дахин хүлээн авахгүй<br />Процесс А буфер дүүргэн блок арилгах ч блок арилгах дохио хүлээн авахгүй<br />
  13. 13. Семафор <br />Семафоры – ирээдүйд хэрэглэхээр set дохио тоолох хувьсагч.<br />downба up (sleep ба wakeup-ийн аналог). <br />Процесс блоклохын өмнө down семафорыг шалган 0-тэй тэнцүү бол процессийг блоклоно. Хэрэв үгүй бол процесс идэвхтэй байж семафорыг 1-ээр багасгана. <br />upсемафорын утгыг 1-ээр нэмж эсвэл хүлээгэнд байгаа процессийг блоклоно..<br />down семафорын утгыг 1-ээр багасгаж эсвэл семафор =0 бол процессийг блоклоно, <br />down ба up-г гүйцэтгэж байхад процесс блоклогдохгүй тул OS бүр тасалдалтыг хориглож болно<br />
  14. 14. Семафор ашиглан дүүргэгдсэн буферийг шийдэх<br />3 семафор авна:<br />full – дүүргэгдсэн сегментийн тоо (эхэндээ= 0)<br />empty – хоосон сегментийн тоо (эхэндээ= сегментийн тоо)<br />mutex – нэг зэрэг буферт 2 процесс хандахыг үгйүсгэх (эхэндээ= 1)<br />Мьютекссемафорын хялбарчлан ресурсэд хандах хандалтыг удирдана. Ресурс блоклогдсоэ эхэсхийг заана.<br />
  15. 15. Орол/гаралтын төхөөрөмжид семафор ашиглах:<br />Оролт/гаралтын төхөөрөмжид семафорыг 0-ээр тавина. Удирдах процессачаалагдсаны дараа down хийгдэн процессийг блоклоно. Удирдах процессийг идэвхжүүлэх хэрэгтэй болоход up гүйцэтгэнэ.<br />
  16. 16. Процессууд бие биенээ блоклох<br />Процессууд харилцан блоклох– нэгресурсэд олон процесс хандах.<br />Ресурсачаалах, ачаалахахгүй , аппаратын программын.<br />ачаалах ресурс – процессоос авч болох ресурс (жишээ нь: санах ой).<br />ачаалахахгүй ресурс - процессоос өгөгдлийн алдагдалгүй авч болохгүй ресурс (жишээ нь : принтер).<br />харилцан блоклох проблем : ачаалахахгүй ресурсэд гарна<br />Процессууд харилцан блоклохнөхцөл:<br />Харилцан үгүйсгэх- аль нэг моментод ресурсйг нэг л процесс ашигалана эсвэл сул байна.<br />Саатуулах болон хүлээх нөхцөл- ресурм саатуулж байгаа процесс шинэ ресурс шаардах<br />Хүчээр ресурс чөлөөлөх нөхцөл байхгүй.<br />Циклэн хүлээлтийн нөхцөл – процессууд тойроод дараалан гүйцэтгэгдэх<br />
  17. 17. Графаар шалгах<br />харилцан блоклолт үүсэх эсэхийг шалгахад хялбар. Цикл байгаа бол - харилцан блоклолт<br />Жишээ:<br />3 процесс A, B, C<br />3 ресурс R, S, T<br />
  18. 18. Циклэн алгоритм:<br />3 процесс A, B, C<br />3 ресурс R, S, T<br />Системпроцесс B-г блоклоно:<br />

×