Accesul monopolului - o enciclopedie largă de petrol și gaze, articol, pagina 2

Accesul la monopol

Apoi, accesul este solicitat de procesul de scriere. Cererea este respinsă, deoarece procesele de scriere necesită acces exclusiv. iar procesul de scriere este suspendat. Deși există cel puțin un proces activ de citire în baza de date, accesul la restul cititorilor este permis și toate vin și vin. Dacă, de exemplu, un nou proces de citire cere acces la fiecare 2 secunde și este nevoie de 5 secunde pentru a se baza, procesul de scriere nu va ajunge niciodată în baza de date. [16]







Apare atunci când în grupul procesului toată lumea primește acces exclusiv la o anumită resursă și fiecare are nevoie de o altă resursă aparținând unui alt proces din grup. Toate procesele sunt blocate și nimeni nu va mai putea câștiga din nou. [17]

Lucrarea de imprimare trimisă la imprimantă intră în coadă și este în ea până când imprimanta finalizează ieșirea din toate lucrările anterioare. Dacă imprimanta se află pe desktop și aveți acces exclusiv la aceasta, tipărirea începe de obicei în câteva secunde. Dar dacă o imprimantă servește unui număr mare de utilizatori, este nevoie de mult timp să așteptați. [19]

Operația de salvare a macrocomandei modificate în timp ce este executată de un alt utilizator poate duce la erori de execuție. Pentru a evita acest lucru, este recomandat ca, înainte de a deschide macro-ul, să deschideți o bază de date pentru acces exclusiv. [20]

Secțiunea este accesată printr-un pointer de secțiune care poate fi folosit într-un operator special pe baza de date (a se vedea secțiunea Când indicatorul de secțiune constă doar dintr-un nume de bază de date, înseamnă acces exclusiv la întreaga bază de date.

DBMS ar trebui să permită două sau mai multe programe să acceseze și să corecteze datele în paralel. Pentru a exclude interacțiunile nedorite între programele paralele, ar trebui să fie posibilă și monopolizarea accesului la baza de date. [22]







Software-ul domeniului comun al memoriei externe pe NDM și NML vă permite să organizați o anumită ordine de lucru cu un set de date pentru dispozitivele comune. Utilizatorul are posibilitatea de a rezerva în mod logic NML și NML pentru o perioadă stabilită prin intermediul macro-urilor de rezervă și al dispozitivului, ceea ce face accesul exclusiv la unitatea specificată de la calculatorul corespunzător. [23]

În acest model, operația de sincronizare este împărțită în două operații diferite. Pentru a citi sau a scrie într-o variabilă partajată, procesorul (adică, software-ul) trebuie să efectueze mai întâi o operație pe o sincronizare Acqui re variabilă pentru a obține acces exclusiv la datele partajate comune. Apoi, procesorul execută operația de eliberare de pe variabila de sincronizare pentru a arăta că și-a finalizat activitatea. Operațiunea relativă nu necesită finalizarea înregistrărilor neterminate, dar nu poate fi terminată până când toate înregistrările anterioare nu sunt finalizate. Mai mult, noile operațiuni de memorie pot începe imediat. [24]

Problema este că cache-ul funcționează pe blocuri de 32 sau 64 octeți. De obicei, cuvintele care înconjoară cuvântul de blocare sunt necesare de CPU, care deține cuvântul. Deoarece comanda TSL este o înregistrare (deoarece modifică cuvântul de blocare), are nevoie de acces exclusiv la blocul de cache care conține cuvântul de blocare. Astfel, fiecare comandă TSL marchează blocul de blocare a cache-ului ca nevalid și primește o copie privată, exclusivă pentru CPU solicitant. Odată ce proprietarul blocării schimbă cuvântul adiacent blocării, blocul de cache se mută în mașina lui. Ca urmare, întregul bloc cache-ul care conține cuvântul de blocare, se legăna în mod constant de transfer înainte și înapoi de la CPU reținea blocarea, la procesorul central, încercând să-l. Toate acestea creează trafic destul de semnificativ și complet inutil. [25]

Acest lucru se poate face dacă solicitantul efectuează mai întâi o operație simplă de citire pentru a se asigura că mutexul este liber. Asigurați-vă că este liber, CPU-ul execută comanda TSL pentru ao capta. Ca rezultat, majoritatea operațiunilor de votare sunt operații de citire și nu operații de scriere. Când se citește mutexul, proprietarul efectuează o operație de scriere, care necesită acces exclusiv. Cu toate acestea, toate celelalte copii ale acestui bloc de cache sunt declarate nevalide. [28]

Pagini: 1 2

Distribuiți acest link:






Articole similare

Trimiteți-le prietenilor: