Mutex i semafor

Anonim

Mutex vs Semaphore

Mutex se koristi za osiguranje serijskog pristupa dijelovima kodova ponovnog ulaska, koji se ne može izvršiti paralelno s više od jedne niti. Mutex osigurava da samo jedan kod može pristupiti kontroliranom odjeljku odjednom. Da bi pristupili, drugi kodovi su spremni pričekati da se izlazi prvi kôd. Možete ga smatrati ključom u sobi. Osoba koja ima pristup tom ključu prvi put ide prvo. Do trenutka kad se osoba vrati, nitko drugi ne može pristupiti toj sobi.

Semaphore istovremeno omogućuje pristup zajedničkom resursu s brojem korisnika. Kako se broj korisnika koji pristupaju resursu povećava, smanjuje se broj semafora. Nakon što korisnici počnu objavljivati ​​resurse, broj semafora počinje ponovno povećavati. Koristi se za aplikacije koje zahtijevaju sinkronizaciju. Broj istovremenih korisnika ograničen je na temelju granice semafora. Semafori se mogu smatrati hrpa sličnih tipki sličnih brave u jednoj sobi, ali ti su ključevi ograničeni brojem. Osobe koje imaju te ključeve mogu dijeliti sobu.

Razlike između mutexa i semafora:

1. Mutex se koristi za uzajamno isključivanje dok semafor pronalazi korisnost u oba slučaja

obavijesti i uzajamna isključenja.

2. Mutex pruža serijski pristup zajedničkim resursima, dok semafor postavlja ograničenje

broj istovremenih pristupa.

3. Mutex radi s jednom niti na vrijeme, dok semafor upravlja više niti

zajedno.

4. Mutex ima pojam vlasnika gdje proces može zaključati samo mutex

ponovo ga otvorite. Niti jedan od drugih procesa ne može to učiniti. Ali u slučaju semafora, takve

ograničenja ne postoje.

5. Muteeks je mehanizam za zaključavanje dok je semafor signalizacijski mehanizam

poštujući usklađivanje pristupa resursu.

Sažetak:

1. Semantički i teorijski, i mutex i semafor su isti. Može biti

provodi se koristeći drugu, ali praktički su oboje različiti.

2. Mutex nije ništa drugo nego semafora s brojem vrijednosti jednakom jednom.

3. Mutex je semafora s dodatnim značajkama kao što su vlasništvo i prioritetna inverzija

zaštita.

4. Semaphor je apstraktna vrsta podataka koja kontrolira pristup zajedničkom resursu

više procesa u paralelnom programskom okruženju.

5. Semaphore pronalazi svoju upotrebu u mnogim operativnim sustavima kao sinkronizacija primitivna.

6. I mutex i semafor su resursi jezgre koji se koriste u svrhu

sinkronizacija.