Jump to content

Bounded buffer problem

Википедиа — Чөлөөт нэвтэрхий толь

Bounded buffer problem буюу Producer-consumer problem үйлдвэрлэгч-хэрэглэгчийн бодлого. Энэ бодлогонд хязгаарлалттай тодорхой хэмжээний хайрцагнууд өгөгддөг. Producer(Үйлдвэрлэгч)-ууд нь нэг хайрцгийг авч бүтээгдэхүүнээр дүүргэдэг. Харин Consumer(хэрэглэгч)-ууд нь тэр дүүрсэн хайрцгуудыг авч хэрэглэн хоосолдог байна. Энэ асуудлын хамгийн хүндрэлтэй тал нь Дүүрэн хайрцаг ба хоосон хайрцагнуудын тоог тогтвортой байлгахад оршдог. Буферлэлт Эргэх буфер - Оролт / гаралтын үйлдэл нь тодорхойдавтамжтайгаар ажилладаг бол хос буфер хангалтгүй юм.Иймээс 2-оос олон тооны буфер хэрэгтэй болдог.Эргэх 2-буферт орж буй нэгж буфер бүр нь биеэ даасан буфер юм . Энэ нь гол төлөв хүчин чадалыг энгийн аргаар синхрончлохыг тайлбарлахад хэрэглэгддэг. Одоо үүний ерөнхий бүтэц болон эдгээр системийн хоорондын харилцаа болон ганцаарчилан хэрэгжүүлэлтийн талаар үзье .буфер дэх хоосон болон бүтээгдэхүүнтэй нүднүүдийг тоолох empty, full болон буферт бүтээгдэхүүнийг байрлуулах болон тэндээс авах үйлдлүүдийг зохицуулах (солбицуулах) хоёртын mutex гэсэн гурван семафорыг ашиглана. Үйлдвэрлэгч болон хэрэглэгч процессууд нь тусдаа хуулбар процесс байдлаар ажиллах ба empty, full болон mutex-ээр синхрончлогдох буфер руу болон тэндээс бүтээгдэхүүнийг шилжүүлнэ.Буферт анхны утгыг нь олгох функц мөн хэрэгтэй ба тэр нь солбилцлын mutex объектийг empty, full семафоруудын хамт анхны утгатай болгоно

Bounded Buffer нь ихэнхдээ синхрончилсон график дүрслэлийн үндсэн элемэнт хүчийг тайлбарлахад хэрэглэгдэнэ. Завсрын хадгалагч нөөцийг аль аль нь нэг мэдээлэл бариж байх чадвартай гэж бид авч үзэж байгаа. Харилцан үл зөвшөлцөлийн дохио нь завсрын хадгалагчийн нөөцийг харилцан хасах хандалтийг дэмжиж мөн УТГА 1 руу анхны утгийг олох юм. Хоосон болон дүүрэн дохионууд нь хоосон болон дүүрэн завсрын хадгалагчийн тоог тоолох юм. Хоосон дохио нь УТГА n – ийн анхны утга олох, дүүрэн дохио нь УТГА о-ийн анхны утгийг олох юм. 6.10 дээр үүсгүүрийн (Үйлдвэрлэгчийн) процэссийг харуулсан, 6.11 дээр хэрэглэгчийн процэссийг харуулсан болно. Үүсгүүр (үйлдвэрлэгч) болон хэрэглэгчийн хоорондох тэгш хэмийг анхаарна уу. Бид энэ кодийг шууд орчуулвал үйлдвэрлэгч дүүрэн завсрийн зайг хэрэглэгчид үйлдвэрлэж өгж эсвэл хэрэглэгч хоосон завсрийн зайгүй үйлдвэрлэгчид үйлдвэрлэж өгөхийг хэлнэ.