Talaan ng mga Nilalaman:
- Kahulugan - Ano ang kahulugan ng Algorithm ng Dekker?
- Ipinapaliwanag ng Techopedia ang Algorithm ni Dekker
Kahulugan - Ano ang kahulugan ng Algorithm ng Dekker?
Ang algorithm ng Dekker ay ang unang kilalang algorithm na malulutas ang problema sa pagbubukod ng isa sa magkakasabay na programa. Ito ay kredito sa Th. Si J. Dekker, isang Dutch matematiko na lumikha ng algorithm para sa isa pang konteksto. Ang algorithm ng Dekker ay ginagamit sa proseso ng pag-pila, at pinapayagan ang dalawang magkakaibang mga thread upang ibahagi ang parehong solong gamit na mapagkukunan nang walang salungatan sa pamamagitan ng paggamit ng ibinahaging memorya para sa komunikasyon.
Ipinapaliwanag ng Techopedia ang Algorithm ni Dekker
Pinapayagan lamang ng algorithm ng Dekker ang isang solong proseso na gumamit ng isang mapagkukunan kung ang dalawang mga proseso ay sinusubukan na gamitin ito nang sabay. Ang highlight ng algorithm ay kung paano malulutas nito ang problemang ito. Nagtagumpay ito na mapigilan ang salungatan sa pamamagitan ng pagpapatupad ng pagsasama sa isa't isa, nangangahulugan na isang proseso lamang ang maaaring gumamit ng mapagkukunan nang sabay-sabay at maghihintay kung ang isa pang proseso ay gumagamit nito. Nakamit ito sa paggamit ng dalawang "mga watawat" at isang "token". Ipinapahiwatig ng mga watawat kung nais ng isang proseso na pumasok sa kritikal na seksyon (CS) o hindi; ang halaga ng 1 ay nangangahulugang TRUE na ang proseso ay nais na ipasok ang CS, habang 0, o FALSE, ay nangangahulugang kabaligtaran. Ang token, na maaari ring magkaroon ng isang halaga ng 1 o 0, ay nagpapahiwatig ng priyoridad kapag ang parehong mga proseso ay itinakda ang kanilang mga bandila sa TUNAY.
Ang algorithm na ito ay maaaring matagumpay na ipatupad ang pagsasama ng isa't isa ngunit patuloy na susubukan kung magagamit ang kritikal na seksyon at samakatuwid ay nasasayang ang mahalagang oras ng processor. Lumilikha ito ng problema na kilala bilang pag-synchronise ng lockstep, kung saan ang bawat thread ay maaaring magpatupad lamang sa mahigpit na pag-synchronize. Hindi rin ito mapapalawak dahil sinusuportahan lamang nito ang isang maximum ng dalawang proseso para sa pagbubukod ng isa't isa.
