SlideShare une entreprise Scribd logo
1  sur  18
Процессуудын хамтран ажиллагаа Лекц 8
Процессуудын харилцан ажиллагаа Процессууд харилцан ажиллах тохиолдол: - Нэг процессоос нөгөө рүү мэдээлэл дамжуулах - Процессуудын хяналт (жишээ нь: нэг ресурс рүү уралдах) - Процессуудын харилцан зөвшилцөл (жишээ нь: нэг процесс өгөгдөл өгөхөд, нөгөө нь хэвлэх). Сүүлийн 2 урсгалд ч хамаарна
Нэг процессоос нөгөө рүү мэдээлэл дамжуулах: Передача может осуществляться несколькими способами: - Distributed санах ой - Суваг (), нэг процесс бичиж нөгөө нь уншдаг псевдофайл - Сокет – процессууд нэг мэт ажиллахыг зөвшөөрдөг орчинг нууцалсан цөм дэмждэг механизм ,[object Object], Далдлагдсан процедурыг дуудахдаа А дроцесс В процесс дахь процедурыг дуудаж үр дүнг эргүүлэн авчболно
.
Уралдах төлөв Хэдэн процесс зэрэг өгөгдөл унших болох бичих (санах ойд эсвэл файлд). in – дарагийн чөлөөтэй сегментийг заах хувьсагч out – дараагийн файлын нэрийг заагч хувьсагч
Дараалуулан event-үүдийг бичвэл: Процесс А in (7-той тэнцүү) хувьсагчийг уншин өөрийн next_free_slot хувьсагчид хадгална. Таймерын тасалдалт ажиллан процессор процесс В-г хүлээнэ. Процесс В in (7 -той тэнцүү) хувьсагчийг уншин өөрийн next_free_slot хувьсагчид хадгална. Процесс В файлын нэрийг сегмент 7-д хадгална. Процесс В next_free_slot хувьсагчийг нэгээр  (next_free_slot+1) ихэсгэн in-г 8 болгоно. Удирдлага процесс А-д очин зогссон газраам эхэлнэ. Процесс А файлын нэрийг сегменте 7-д хадгалж процесса Вдэх файлын нэрийг устгана. Процесс А next_free_slot хувьсагчийг нэгээр ихнсгэн на (next_free_slot+1), in-г 8болгоно. Процесс Вдэх файл хэвлэгдэхгүй.
Критик хэсэг Критик хэсэг – distributed өгөгдөлд хандах программын хэсэг. Уралдахыг тойрох ба процессийн идэвхтэй ажиллагаа: - 2 процесс нэг зэрэг критик хэсэгт байх ёсгүй. - Критик хэмгийн гадна байх процесс бусад процессийг блоклож болох. - Процесс үргэлж хүлээн критик хэсэгт орохгүй байх
Идэвхтэй хүлээлтийг арилгах Тасалдалтыг хориглох: Процесс критик хэсэгт ороход бүх тасалдалтыг хориглох. Дутагдалтай тал нь процессод сбой гарахад тасалдалтыг хоргилосноо арилгаж чадахгүй Блоклох хувьсагч: Блоклох хувьсагч гэдэг  ойлголт оруулах 1 – өөр  процессресурс ашиглаж  байгаа ба 2-р процесс хүлээх  горимд шилжиж байгаа (блоклогдсон) хувьсагчийн  утга 0 болтол байх.
Хатуу дараалах Дутагдалтай тал: Блоклогдсон процесс хувьсагч өөрчлөгдсөн эсэхийг шалгах циклд үргэлж байх.  Критик мужийн гадна байгаа процесс өөр процессийг блоклож чадахгүй. Идэвхтэй хүлээлттэй өөр алгоримт байж болно (алгоритм Петерсон, команд TSL)
Процессийн харилцан хамаарал  2 харилцан хамаарал: sleep – системийн request ба үр дүнд нь нэг процесс өөр процесс түүнийг зөвшөөрөх хүртэл блоклогдоно. wakeup - системийн request  үр дүнд нь блоклогдсон процесс зөвшөөрөгдөнө Идэвхтэй хүлээлт байхгүй
Дүүргэгдсэн буфер Буфер дүүрэн байхад бичихгүйн тулд countхувьсагч оруулан буферийн элементийг тоолно
Идэвхжүүлэх дохио алга болоход 2 процесс 2-уулаа хүлээлгийн горимд орж болно. Ийм тохиолдлын алгоритм: Процесс В, count=0 уншина (блоклогдож амжаагүй) Төлөвлөгч процесс А-д удирдлага өгнө Процесс Аwakeup хүртэлх гүйцэтгэгдэн процесс В блокийг арилгахыг оролдоно (гэхдээ блок арилахгүй wakeup хоосон ажиллана) Төлөвлөгч процесс Б-д удирдлага өгнө Блоклогдсон тул блок арилгах лохио дахин хүлээн авахгүй Процесс А буфер дүүргэн блок арилгах ч блок арилгах дохио хүлээн авахгүй
Семафор  Семафоры – ирээдүйд хэрэглэхээр set дохио тоолох хувьсагч. downба up (sleep ба wakeup-ийн аналог).  Процесс блоклохын өмнө down семафорыг шалган 0-тэй тэнцүү бол процессийг блоклоно. Хэрэв үгүй бол процесс идэвхтэй байж семафорыг 1-ээр багасгана.  upсемафорын утгыг 1-ээр нэмж эсвэл хүлээгэнд байгаа процессийг блоклоно.. down семафорын утгыг 1-ээр багасгаж эсвэл семафор =0 бол процессийг блоклоно,  down ба up-г гүйцэтгэж байхад процесс блоклогдохгүй тул OS бүр тасалдалтыг хориглож болно
Семафор ашиглан дүүргэгдсэн буферийг шийдэх 3 семафор авна: full – дүүргэгдсэн сегментийн тоо (эхэндээ= 0) empty – хоосон сегментийн тоо (эхэндээ= сегментийн  тоо) mutex – нэг зэрэг буферт 2 процесс хандахыг үгйүсгэх (эхэндээ= 1) Мьютекссемафорын хялбарчлан ресурсэд хандах хандалтыг удирдана. Ресурс блоклогдсоэ эхэсхийг заана.
Орол/гаралтын төхөөрөмжид семафор ашиглах: Оролт/гаралтын төхөөрөмжид семафорыг 0-ээр тавина. Удирдах процессачаалагдсаны дараа down хийгдэн процессийг блоклоно. Удирдах процессийг идэвхжүүлэх хэрэгтэй болоход up гүйцэтгэнэ.
Процессууд бие биенээ блоклох Процессууд харилцан блоклох– нэгресурсэд олон процесс хандах. Ресурсачаалах, ачаалахахгүй , аппаратын программын. ачаалах ресурс – процессоос авч болох ресурс (жишээ нь: санах ой). ачаалахахгүй ресурс - процессоос өгөгдлийн алдагдалгүй авч болохгүй  ресурс (жишээ нь : принтер). харилцан блоклох проблем : ачаалахахгүй ресурсэд гарна Процессууд харилцан блоклохнөхцөл: Харилцан үгүйсгэх- аль нэг моментод ресурсйг нэг л процесс ашигалана эсвэл сул байна. Саатуулах болон хүлээх нөхцөл- ресурм саатуулж байгаа процесс шинэ ресурс шаардах Хүчээр ресурс чөлөөлөх нөхцөл байхгүй. Циклэн хүлээлтийн нөхцөл – процессууд  тойроод дараалан гүйцэтгэгдэх
Графаар шалгах харилцан блоклолт үүсэх эсэхийг шалгахад хялбар. Цикл байгаа бол - харилцан блоклолт Жишээ: 3 процесс A, B, C 3 ресурс R, S, T
Циклэн алгоритм: 3 процесс A, B, C 3 ресурс R, S, T Системпроцесс B-г блоклоно:

Contenu connexe

En vedette

Presentation1
Presentation1Presentation1
Presentation1sri64
 
Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015
Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015
Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015Beth Frisby
 
Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)
Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)
Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)anan anan
 
Resume.EzraWarren
Resume.EzraWarrenResume.EzraWarren
Resume.EzraWarrenEzra Warren
 
Lecture 1
Lecture 1Lecture 1
Lecture 1Muuluu
 
τα μέρη του θεάτρου
τα μέρη του θεάτρουτα μέρη του θεάτρου
τα μέρη του θεάτρουStella Sigourtsidou
 
Focused approach to antenatal care - First trimester screening
Focused approach to antenatal care - First trimester screeningFocused approach to antenatal care - First trimester screening
Focused approach to antenatal care - First trimester screeningBharti Gahtori
 

En vedette (10)

Presentation1
Presentation1Presentation1
Presentation1
 
Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015
Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015
Tracking the Birth Pains 9 Shocking Examples of Persecution in 2015
 
1997 Mai Abitur
1997 Mai Abitur1997 Mai Abitur
1997 Mai Abitur
 
Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)
Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)
Malpositionandmalpresentations 100515015735-phpapp01 (1) (1)
 
certificado_KMcUPRk
certificado_KMcUPRkcertificado_KMcUPRk
certificado_KMcUPRk
 
Ashley Resume
Ashley ResumeAshley Resume
Ashley Resume
 
Resume.EzraWarren
Resume.EzraWarrenResume.EzraWarren
Resume.EzraWarren
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
τα μέρη του θεάτρου
τα μέρη του θεάτρουτα μέρη του θεάτρου
τα μέρη του θεάτρου
 
Focused approach to antenatal care - First trimester screening
Focused approach to antenatal care - First trimester screeningFocused approach to antenatal care - First trimester screening
Focused approach to antenatal care - First trimester screening
 

Plus de Muuluu

Lecture 2
Lecture 2Lecture 2
Lecture 2Muuluu
 
Lecture 5
Lecture 5Lecture 5
Lecture 5Muuluu
 
Lecture 3
Lecture 3Lecture 3
Lecture 3Muuluu
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэцMuuluu
 
Basic software
Basic software Basic software
Basic software Muuluu
 
Wide area networks
Wide area networksWide area networks
Wide area networksMuuluu
 
NAT and PAT
NAT and PATNAT and PAT
NAT and PATMuuluu
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocolMuuluu
 
Firewall
FirewallFirewall
FirewallMuuluu
 
User practical
User practicalUser practical
User practicalMuuluu
 
Active directory
Active directoryActive directory
Active directoryMuuluu
 
Hardware
HardwareHardware
HardwareMuuluu
 
windows server 2003
 windows server 2003 windows server 2003
windows server 2003Muuluu
 
Процессорын архитектур
Процессорын архитектурПроцессорын архитектур
Процессорын архитектурMuuluu
 
6 network devices
6 network devices6 network devices
6 network devicesMuuluu
 
Бие даалт
Бие даалтБие даалт
Бие даалтMuuluu
 
Лекц 15
Лекц 15Лекц 15
Лекц 15Muuluu
 
Лекц 14
Лекц 14Лекц 14
Лекц 14Muuluu
 
Лекц 16
Лекц 16Лекц 16
Лекц 16Muuluu
 
Лекц 15
Лекц 15Лекц 15
Лекц 15Muuluu
 

Plus de Muuluu (20)

Lecture 2
Lecture 2Lecture 2
Lecture 2
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
Өгөгдлийн бүтэц
Өгөгдлийн бүтэцӨгөгдлийн бүтэц
Өгөгдлийн бүтэц
 
Basic software
Basic software Basic software
Basic software
 
Wide area networks
Wide area networksWide area networks
Wide area networks
 
NAT and PAT
NAT and PATNAT and PAT
NAT and PAT
 
Spanning tree protocol
Spanning tree protocolSpanning tree protocol
Spanning tree protocol
 
Firewall
FirewallFirewall
Firewall
 
User practical
User practicalUser practical
User practical
 
Active directory
Active directoryActive directory
Active directory
 
Hardware
HardwareHardware
Hardware
 
windows server 2003
 windows server 2003 windows server 2003
windows server 2003
 
Процессорын архитектур
Процессорын архитектурПроцессорын архитектур
Процессорын архитектур
 
6 network devices
6 network devices6 network devices
6 network devices
 
Бие даалт
Бие даалтБие даалт
Бие даалт
 
Лекц 15
Лекц 15Лекц 15
Лекц 15
 
Лекц 14
Лекц 14Лекц 14
Лекц 14
 
Лекц 16
Лекц 16Лекц 16
Лекц 16
 
Лекц 15
Лекц 15Лекц 15
Лекц 15
 

Lecture8

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