TruyӅn thông và ÿӗng bӝ 1 Semaphore

Một phần của tài liệu de_cuong_he_thong_nhung (Trang 90 - 94)

5.3.1 Semaphore

Hình 5-5: truy͉n thơng q trình

Semaphores là mӝt cҩu trúc dӳ liӋu ÿѭӧc ÿӏnh nghƭD ÿӇ loҥi trӯ khҧ năng xung ÿӝt trong quá trình chia sҿtài nguyên cӫa các tác vөtrong hoҥt ÿӝng cӫa hӋthӕng.

Semaphores hӛ trӧhai hoҥtÿӝng chínhQKѭsau:

ƒ wait(semaphore): giҧm và khoá cho tӟi khisemaphore ÿѭӧc mӣ

ƒ signal(semaphore): WăQJ và cho phép thêm mӝt luӗng mӟi ÿѭӧc tham gia

hoҥtÿӝng

Trong hoҥt ÿӝng phӕi hӧp cùng vӟi semaphore có mӝt hàng ÿӧi gӗm các tác vө cҫn ÿѭӧc thӵc thi sӁcó mӝt sӕtình huӕng hoҥtÿӝng cѫbҧnQKѭ sau:

ƒ Khi mӝt luӗng (thread) gӑiwait():

x NӃusemaphore ÿѭӧc mӣ thì luӗngÿysӁ ÿѭӧc gia nhұp và tiӃp tөc thӵc thi

x NӃu semaphore ÿDQJ bӏ ÿyQJWKì nhánh ÿy sӁ bӏ khoá và phҧi nҵm

http://www.ebook.edu.vn

This Document is Prepared by Dr. Bui Trung Thanh

9

ƒ signal() sӁmӣsemaphore:

x nӃu mӝt luӗngÿDQJnҵm trong hàngÿӧi và khơng bӏkhố

x nӃu khơng có luӗng nào trong hàng ÿӧi và tín hiӋu signal sӁ ÿѭӧc nhӟ và dành cho luӗng tiӃp theo

Các loҥiSemaphore

Mutex semaphore

9 Cho phép ÿLӅu khiӇn hoҥt ÿӝng truy nhұp ÿѫQ lҿ vào tài nguyên chia sҿ cӫa hӋthӕng.

9 Ĉҧm bҧo loҥi trӯ xung ÿӝt trong hoҥt ÿӝng truy nhұp ÿӗng thӡi cӫa nhiӅu tác vө, và chӍcó mӝt tác vө ÿѭӧc thӵc thi tҥi mӛi thӡiÿiӇm.

Counting semaphore

9 ĈLӅu khiӇn tài nguyên mà có thӇ phөc vө cùng mӝt lúc nhiӅu tác vө hoһc mӝt nguӗn tài nguyên cho phép phөc vө mӝt sӕ nhҩt ÿӏnh các tác vө khơng ÿӗng bӝvà hoҥtÿӝngÿӗng thӡi.

9 NhiӅu luӗng có thӇtruyӅn Semaphore

9 Sӕ Oѭӧng luӗng ÿѭӧc quyӃt ÿӏnh bӣi biӃn ÿӃm N cӫaSemaphore

Thӵc chҩt mutex semaphore là mӝt dҥng ÿһc biӋt cӫa counting semaphore vӟi

biӃn ÿӃm N=1. Thӵc thiSemaphore

http://www.ebook.edu.vn

This Document is Prepared by Dr. Bui Trung Thanh

9 Sӱ dөng Semaphore trong viӋc ÿӗng bӝ hai q trình tҥo và sӱ dөng hҥng mөc thơng qua bӝ ÿӋm trung gian.

Nhұn xét:

9 Semaphores có thӇ ÿѭӧc sӱ dөng ÿӇ giҧi quyӃt bҩt kǤmӝt bài toán hay vҩn ÿӅÿӗng bӝtruyӅn thӕng nào

9 Tuy nhiên chúng có mӝt sӕnhѭӧcÿLӇm

http://www.ebook.edu.vn

This Document is Prepared by Dr. Bui Trung Thanh

9 ÿӝng ÿӗng bӝ nên có thӇ truy nhұp bҩt kǤ ÿkX trong hӋ thӕng o khó kiӇm sốt

o Khơng có sӵ liên kӃt chһt chӁ giӳasemaphore và dӳ liӋu màÿѭӧc nó ÿLӅu khiӇn.

o Ĉѭӧc sӱ dөng ÿӗng thӡi cho cҧ viӋc loҥi trӯ xung ÿӝt (mutual

exclusion) và hoҥtÿӝngÿӗng bӝcho các tác vө(scheduling)

5.3.2 Monitor

Monitor là mӝt ngơn ngӳ lұp trình ÿѭӧc xây dӵng ÿӇ ÿLӅu khiӇn viӋc truy nhұp vào vùng dӳ liӋu chia sҿ trong hoҥtÿӝng cӫa hӋ thӕng. Mã FKѭѫQJ trình ÿӗng bӝ ÿѭӧc bә sung vào trong bӝbiên dӏch và thӵc thi khi chҥyFKѭѫng trình.

9 Monitorlà mӝtmodulÿyQJgói

x Các cҩu trúc dӳliӋѭӧc chia sҿ

x Các thӫtөc hoҥtÿӝng thao tác trên các cҩu trúc dӳliӋu chia sҿ

x Ĉӗng bӝ các luӗng thӵc thiÿӗng thӡi mà có thӇ kích hoҥt các thӫ tөc trong hoҥtÿӝng hӋthӕng

9 Monitor có thӇ bҧo vӋ dӳ liӋu khӓi sӵ truy nhұp khơng có cҩu trúc. Nó ÿҧm

bҧo rҵng các luӗng truy nhұp vào dӳliӋu thông qua các thӫ tөc WѭѫQJ tác theo nhӳng cách hӧp pháp và có kiӇm sốt.

9 Monitorÿҧm bҧo loҥi trӯxungÿӝt

x ChӍ có mӝt luӗng có thӇ thӵc thi bҩt kǤ thӫ tөc nào tҥi mӛi mӝt thӡi ÿLӇm (luӗng trong monitor)

x NӃu có mӝt luӗng ÿDQJ thӵc thi bên trong mӝt monitor nó sӁ khố các luӗng khác muӕn vào, doÿymonitorcNJQJphҧi có mӝt hàngÿӧi.

http://www.ebook.edu.vn

This Document is Prepared by Dr. Bui Trung Thanh

9

Một phần của tài liệu de_cuong_he_thong_nhung (Trang 90 - 94)

Tải bản đầy đủ (PDF)

(119 trang)