Kas ir semafors mehānisms?

C

cosmos4k

Guest
Kas ir semafors mehānisms?

Es gribu zināt sīkāk
PLZ palīdzēt

 
Kad datastructure tiek dalīta starp daudziem procesiem, nejauša maiņa apstrādāt datus ar citiem, bet citu procesu izmanto to varētu korupcijas datus.Semafors ir tikai bloķēšanas mehānisms, tā izmanto bloķēta kodu ot samazināšanās counter un redzēt, ja skaitītājs ir mazāks vai vienāds ar 0.Ja tā ir, semafors ir slēgts ar kādu citu procesu, citādi jūsu process got semafors.Izmantojiet datastructure ar to saistīto & atbrīvot semafors ar palielināšanai skaitītājs.OS plānotājs kas rūpēsies par izdošanu semafors uz nākamo gaidīšanas process, kad jūs atbrīvo to.Plašāku lasījums atsaukties uz kādu OS grāmatas, kaut arī nelielām teksti ir, tie noteikti dod jums dažas labas ziņas par tiem.

Srinu

 
Parasti semafors var grafiks vairāku uzdevumu apstrādi.To galvenokārt izmanto divos veidos: sinhronizāciju un Mutex.

 
tad Kas starpību starp semafors un karogu.visas lietas, izmantojot semafors var b izdarīt, izmantojot karogu.

Vai karogs ir ieviesta RTOS vai OS kā semafors ar dažām asi iezīmēts noteikumi (kā norādīts tās izgudrotājs), izmantojot to, un funkcijas OS sniedz.?
shreshtha

 
Semafors ir aizsargāts mainīgs (vai abstrakts datu tips) un ir klasiskā metode, kas ierobežo piekļuvi koplietojamo resursu (piemēram, glabāšana), ar vairāku pārstrādes vidē.Viņi bija izgudroja Dijkstra, un pirmais, ko izmanto operētājsistēmu.

Semaphores var būt tikai piekļūt, izmantojot šādas darbības:p (Optiskais telegrāfs-s)
(
kamēr (-s == 0); / * jāgaida līdz s> 0 * /
s = s-1;
)

V (Optiskais telegrāfs-s)
(
s = s 1;
)

Init (Optiskais telegrāfs s, Integer v)
(
s = v;
)
P un V kandidēt holandiešu "Proberen", lai pārbaudītu, un "Verhogen", līdz pieauguma.Semafors vērtība ir vienību skaits resurss, kas ir bezmaksas.(Ja ir tikai viens resurss, "bināro semafors" ar 0 vērtību vai 1 tiek izmantots jāgaida.) P darbība aizņemts-(vai varbūt neguļ), līdz resurss ir pieejams pēc kā nekavējoties norāda vienu.V tiek apgriezti, tā vienkārši padara resurss jauna pieejamas pēc tam, kad process ir pabeigts, izmantojot to.Init lieto tikai, lai inicializētu semafors pirms lūgumiem.P un V darbības ir nedalāmas, kas nozīmē, ka katrs darbību nevar izpildīt vairākas reizes vienlaicīgi.Process, kas vēlas veikt darbību, kas jau ir izpildīts citā procesā, ir jāgaida, lai to pabeigtu pirmās.

V darbība ir dažreiz pazīstamas kā "up", un P darbību, kā "leju".

Lai izvairītos no aizņemts-gaida, semafors var būt saistīts rindā procesu (parasti FIFO).Ja process veic P darbība semafors, kas ir nulles vērtību, process tiek pievienota semafors's rindā.Kad cits process pieaugumu semafors, veicot V operāciju, un ir procesiem rindā, viena no tām ir izņemts no rindas un atsāk izpildi.ceru, ka tas palīdzēja

Helios
h ** p: / / hi.raj.tripod.com

 

Welcome to EDABoard.com

Sponsor

Back
Top