Таньд хэрэг болох:
ШУ-ын Үйлдлийн системийн лаб3
Үнэ:
1000 төг / 1100 нэгж
Хэл:
Монгол
Үзсэн:
1589
Хэмжээ:
16.38 KB
Ангилал:
Хичээл
Нийтэлсэн:
Үйлдвэрлэгч - хэрэглэгчийн асуудал
Pthreads –ийн семафор Pthreads –д нэртэй болон нэргүй гэсэн хоёр төрлийн семафор байдаг.
Энэ ажил дээр нэргүй семафорыг хэрэглэнэ. Семафорыг яаж үүсгэхийг доорх кодоор харуулсан байна:
sem_init() нь семафорыг үүсгэж, түүнд анхны утга олгоно. Уг функцэд гурван параметр дамжуулна
1. Семафорын заагч
2. Хуваан эзэмшилтийн зэргийг заах флаг
3. Семафорын анхны утга
Энэ лаборатори дээр empty болон full – ыг стандарт семафороор, mutex – ийг солбилцлын түгжээгээр дүрслэж үзүүлсэн. Үйлдвэрлэгч болон хэрэглэгч процессууд нь тусдаа хуулбар процесс байдлаар ажиллах ба empty, full болон mutex-ээр синхрончлогдох буфер руу болон тэндээс бүтээгдэхүүнийг шилжүүлнэ. Буфер нь buffer_item төрлийн (typedef – ийг ашиглан зарлана) тогтмол урттай хүснэгт хэлбэртэй байдаг толгой файлд зарлаж өгч болно:
Буферийг үйлдвэрлэгчийн болон хэрэглэгчийн хуулбар процессоос харгалзан дуудагдах insert_item() болон remove_item() хоѐр функцийг ашиглан удирдана.
main() функц нь буферт анхны утга олгож, үйлдвэрлэгч ба хэрэглэгчийн тусдаа хуулбар процессуудыг үүсгэнэ. Үйлдвэрлэгч ба хэрэглэгч хуулбар процессыг үүсгэснийхээ дараа main() функц хэсэг зуур унтах ба сэрснийхээ дараа программыг төгсгөнө. main() функц нь командын мөрнөөс гурван параметр хүлээн авна:
Дэлгэрэнгүй
Үйлдвэрлэгч - хэрэглэгчийн асуудал
Pthreads –ийн семафор Pthreads –д нэртэй болон нэргүй гэсэн хоёр төрлийн семафор байдаг.
Энэ ажил дээр нэргүй семафорыг хэрэглэнэ. Семафорыг яаж үүсгэхийг доорх кодоор харуулсан байна:
sem_init() нь семафорыг үүсгэж, түүнд анхны утга олгоно. Уг функцэд гурван параметр дамжуулна
1. Семафорын заагч
2. Хуваан эзэмшилтийн зэргийг заах флаг
3. Семафорын анхны утга
Энэ лаборатори дээр empty болон full – ыг стандарт семафороор, mutex – ийг солбилцлын түгжээгээр дүрслэж үзүүлсэн. Үйлдвэрлэгч болон хэрэглэгч процессууд нь тусдаа хуулбар процесс байдлаар ажиллах ба empty, full болон mutex-ээр синхрончлогдох буфер руу болон тэндээс бүтээгдэхүүнийг шилжүүлнэ. Буфер нь buffer_item төрлийн (typedef – ийг ашиглан зарлана) тогтмол урттай хүснэгт хэлбэртэй байдаг толгой файлд зарлаж өгч болно:
Буферийг үйлдвэрлэгчийн болон хэрэглэгчийн хуулбар процессоос харгалзан дуудагдах insert_item() болон remove_item() хоѐр функцийг ашиглан удирдана.
main() функц нь буферт анхны утга олгож, үйлдвэрлэгч ба хэрэглэгчийн тусдаа хуулбар процессуудыг үүсгэнэ. Үйлдвэрлэгч ба хэрэглэгч хуулбар процессыг үүсгэснийхээ дараа main() функц хэсэг зуур унтах ба сэрснийхээ дараа программыг төгсгөнө. main() функц нь командын мөрнөөс гурван параметр хүлээн авна:
--> |