不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 操作系統(tǒng)基礎(chǔ)知識 > 計算機操作系統(tǒng)和尚打水問題

計算機操作系統(tǒng)和尚打水問題

時間: 佳洲1085 分享

計算機操作系統(tǒng)和尚打水問題

  計算機操作系統(tǒng)有一個很有趣的問題相信大家都碰到過,那就是和尚打水問題,下面由學(xué)習(xí)啦小編整理了計算機操作系統(tǒng)的和尚打水問題的相關(guān)知識,希望對你有幫助。

  計算機操作系統(tǒng)的和尚打水問題描述

  某寺廟,有小和尚和老和尚若干,有一個水缸,由小和尚提水入缸供老和尚飲用.水缸可以容納10桶水,水取自同一口井中,由于水井口窄,每次只能容納一個水桶取水.水桶總數(shù)為3個.每次入水、取水僅為一桶,且不可同時進行.試給出有關(guān)取水、入水的算法描述.

  計算機操作系統(tǒng)的和尚打水問題解決方法

  Var mutex1, mutex2, empty, full, count: semaphore;

  mutex1:=1; mutex2:=1;

  empty:=10; full:=0; count:=3;

  process 小和尚:

  begin

  repeat

  wait(empty);

  wait(count);

  wait(mutex1);

  從井中取水;

  signal(mutex1);

  wait(mutex2);

  送水入水缸;

  signal(mutex2);

  signal(count);

  signal(full);

  until false;

  end

  process 老和尚:

  begin

  repeat

  wait(full);

  wait(count);

  wait(mutex2);

  從缸中取水;

  signal(mutex2);

  signal(empty);

  signal(count);

  until false;

  end

3633733