Ang mga Semaphore ay mga kasangkapang pangtransportasyon na ginagamit sa mga sistemang real-time operating (RTOS) upang pangasiwaan ang pag-access sa mga parehong mapagkukunan.Ang mga ito ay tumutulong upang maiwasan ang mga alitan at matiyak ang katapatan ng data kapag ang mga maramihang mga gawain o sinulid ay sabay na nagpapatakbo.

Ano ba ang isang Semaphore?

Ang semaphore ay isang variable o abstraktong data type na nagbibigay ng simple ngunit kapaki-pakinabang na abstraktong para sa pagkontrol ng access sa mga parehong mapagkukunan. Ito ay maaaring i-first na may espesipikong bilang, na kumakatawan sa bilang ng magagamit na mga mapagkukunan.

Mga Uri ng Semaphores

May dalawang pangunahing uri ng semaphores:

  • Pagtuklas sa mga Semaphore: Ito ay sumusubaybay sa bilang ng makukuhang yaman at maaaring inkretado o i-cremented.
  • Binaryong Semaphores: Ang mga ito ay mayroon lamang dalawang estado, 0 at 1, na kumikilos na katulad ng isang kandado o unx.

Pagkakapit ng mga Semaphore sa RTOS

Ang mga Semaphore ay ginagamit upang pagsabayin ang mga gawain sa pamamagitan ng pagkontrol ng access sa pag-access ng mga pinagsaluhang datos o hardware. Kapag ang isang gawain ay nangangailangan ng isang yaman, nagsasagawa ito ng operasyong pang-abangan (o decrement). kung ang semaphore na halaga ay sero, ang mga task block hanggang sa ang yaman ay maging makukuha.

Kapag ang isang gawain ay naglalabas ng isang yaman, ito ay nagsasagawa ng isang hudyat (o increment) na operasyon, maaaring hindi harangan ang iba pang mga atas sa paghihintay.Ang tamang paggamit ng semaphores ay pumipigil sa mga kalagayan ng lahi at mga wilock.

Pinakamabuting Gawain

Upang mabisang magamit ang semaphores sa RTOS, isaalang - alang ang sumusunod:

  • Iharap ang semaphores sa tamang mga bagay.
  • Laging maghintay at magsenyas.
  • Iwasang mag - alaga ng mga semaphore nang mas matagal kaysa sa kinakailangan.
  • Mag - iskedyul ng mga mekanismo upang maiwasan ang mga wildlock.