Care este diferența dintre un mutex și o semfaforă?

excludere reciprocă (mutex, mutex) - un obiect de sincronizare, care este setat în stare semnal special atunci când nu este implicat în nici un flux. Doar un singur fir deține obiect la un moment dat, de aici numele de astfel de obiecte (din limba engleză reciproc acces exclusiv - acces exclusiv reciproc) - accesul simultan la o resursă partajată este exclusă. După toate acțiunile necesare, mutex-ul este lansat, oferind accesul altor fire la resursele partajate. Obiectul poate sprijini de captare recursiv a doua oară, în același flux, creșterea contra, fără a bloca fluxul, apoi necesitând eliberare repetată. Aceasta este, de exemplu, mutex în Win32 și KMUTEX în kernel-ul Windows. Cu toate acestea, există câteva implementări care nu suportă acest lucru și conduc la blocarea fluxului reciproc atunci când încearcă să capteze recursiv. Acesta este FAST_MUTEX în kernel-ul Windows și în secțiunea critică din Win32.

Semaphorele sunt resurse disponibile care pot fi achiziționate de mai multe fire în același timp, până când grupul de resurse este gol. Apoi firele suplimentare trebuie să aștepte până când resursele necesare vor fi disponibile din nou. Semaphorele sunt foarte eficiente deoarece permit accesul simultan la resurse. Un semafor este o extensie logică a unui mutex - semaforul cu contorul 1 este echivalent cu un mutex, dar contorul poate fi mai mult de 1.

50. Ce este inversarea prioritară?

inversiune prioritară - o situație în care, ca urmare a sincronizării reciproce, managementul nu primește o ramura de execuție, care ar trebui să fie obținute din considerente prioritare, iar cealaltă prioritate, mai mici.

Mecanismele care generează acest fenomen pot fi diverse (numărarea semafoarelor).

51. În ce planuri de planificare a sarcinii apare inversarea prioritară?

Priorități fixe - prioritatea este atribuită sarcinii atunci când este creată și nu se schimbă în timpul vieții. Această schemă cu diverse adăugări este utilizată în majoritatea sistemelor în timp real. Schemele de proiectare RTOS necesită deseori ca prioritatea fiecărei sarcini să fie unică, adesea RTOS are un număr mare de priorități (de obicei 255 sau mai mult).

Articole similare