Què és el punt mort en el sistema operatiu: Algorisme de condicions i detecció

Proveu El Nostre Instrument Per Eliminar Problemes





L’objectiu principal d’un sistema operatiu és proporcionar una comunicació adequada entre recursos de maquinari i programari i també proporcionar serveis comuns als programes. Quan un procés del sistema operatiu vol accedir a qualsevol recurs, primer envia una sol·licitud al recurs concret al qual vol accedir, després l’utilitza i, finalment, l’allibera després d’utilitzar-lo. Si suposem que molts processos intenten accedir a un recurs al mateix temps, es fa difícil proporcionar un recurs a tots els processos alhora en tal situació. Sorgeix el concepte de punt mort. Per tant, aquest article descriu com es produeix el punt mort i com superar aquesta situació de bloqueig.

Què és el punt mort del sistema operatiu?

Definició: El bloqueig mort és una situació en què dos o més processadors esperen que es produeixi algun esdeveniment, però aquests esdeveniments que no succeeixen són una condició de bloqueig i es diu que els processadors estan en un estat de bloqueig. Per exemple, suposem un escenari en temps real, on hi ha dos cotxes A & B, conduïts per dos conductors individuals en una sola direcció. Ara es dóna la situació en què el conductor del cotxe A diu que avançar cap al nord és una direcció correcta, mentre que el conductor del cotxe B diu que anar en direcció sud és correcte. Però cap dels dos es mou cap enrere per permetre que un altre cotxe avanci, aquesta condició es diu condició de bloqueig.




Exemple de cotxe

exemple de cotxe

Per a una millor comprensió, considerem un altre exemple on hi ha dos recursos R1, R2 i dos processos P1 i P2, on R1 s’assigna a P1 i R2 s’assigna a P2. Ara bé, si P1 vol accedir a R2, com ja sabem, R2 és propietat de P2 i ara P2 vol accedir a R1, que és P1 només s’executa quan s’accedeix a R2, també P2 només s’executa quan s’accedeix a R1. és un estat de bloqueig.



Processador-Exemple

processador-exemple

Condicions de bloqueig

A continuació es detallen les quatre condicions importants de bloqueig si totes les condicions es produeixen simultàniament, hi ha certes possibilitats que es produeixi el bloqueig.

Exclusió mútua

Significa que qualsevol recurs que estem utilitzant ha de ser utilitzat de manera mútuament excloent. Quan només un procés utilitza un recurs alhora. Per exemple, el procés d'impressió continua i, de sobte, un altre procés intenta interrompre el procés d'impressió. Per tant, aquí, en situació d'exclusió mútua, només després de completar la tasca d'impressió, només es processarà la següent tasca. L’exclusió mútua es pot eliminar compartint recursos simultàniament, cosa que no és possible pràcticament.

Exclusió mútua

Exclusió mútua

Sense preferència

D'acord amb preventiva basats en algorismes, si hi ha una tasca prioritària que intenta interrompre la tasca actual. L’algorisme preventiu que conté la tasca actual i, en primer lloc, executa la tasca prioritària i torna a la seva primera tasca. Una situació explicada segons l'exemple anterior en què un procés manté el recurs mentre s'executa, és a dir, P1 pot alliberar R1 només després de l'execució, de manera similar P2 allibera R2 només després de l'execució. Si no hi ha cap preferència, es pot produir un impàs.


Exemple sense prevenció

no-preemption-example

Espera i espera

Un procés conté alguns recursos i espera recursos addicionals, però aquests recursos són adquirits per algun altre procés. A partir de l’exemple anterior, P1 manté R1 i espera R2, on R2 l’adquireix P2, i P2 manté R2 i espera R1, on R1 l’adquireix P1, es pot produir un bloqueig en el sistema.

Mantenir i esperar-Exemple

mantenir-i-esperar-exemple

Espera circular

Es diu que un conjunt de processos estan en un punt mort si un procés espera un recurs que s’assigna a un altre procés i aquest procés espera un recurs, és similar a l’exemple explicat anteriorment, on es troba en forma de bucle. On P1 espera R2 i R2 s’assigna per P2 i P2 espera R1 i R1 assignats per P1, que és un formulari d’espera circular si aquesta condició compleix el punt mort.

Circular-Espera-Exemple

circular-wait-example

Algorisme de detecció de bloqueig

Els casos en què assignem recursos a processos i el sistema operatiu torna a comprovar si s’ha produït un bloqueig al sistema o si no s’utilitzen 2 algorismes principals de detecció de bloqueig.

  • Instància única
  • Múltiples instàncies de tipus de recurs

Instància única

Una única instància és una situació en què un sistema té instàncies úniques de tots els recursos. També es coneix com algoritme d'espera de gràfics o gràfic d'assignació de recursos. El gràfic d'assignació de recursos consisteix en un conjunt de processos i un conjunt de recursos que es representen com a dos vèrtexs diferents. Els recursos del gràfic d'assignació de recursos es modifiquen i es representen com a forma d'espera del gràfic. Quan l'espera de forma de gràfic només té processos que es representen com a vèrtexs, tal com es mostra a continuació,

  • Gràfic d'assignació de recursos: els processos P1, P2, P3 i els recursos R1, R2, R3 es representen al gràfic d'assignació de recursos.
  • Espereu el gràfic: només s’esmenten els processos P1, P2, P3 a l’espera del gràfic.
  • Si hi ha una condició de cicle, que si hi ha un flux continu d'un procés en una direcció, significa que la condició de cicle surt i esperar que el gràfic estigui en un punt mort.

Exemple 1: L'exemple següent mostra que no hi ha estat de bloqueig perquè no s'observa cap flux continu a l'espera del gràfic.

Exemple d

exemple únic-instància1

Exemple 2: S'ha produït un impasse perquè hi ha un flux continu de cicle de P1 a P4.

Instància única: exemple2

exemple únic-instància2

Si el bloqueig es produeix amb molta freqüència al sistema, l'algorisme de detecció s'utilitza amb freqüència. Si s’utilitza més l’algorisme de detecció, hi haurà més despeses generals i més temps de càlcul. Per tant, per superar-ho, invocem l'algoritme després, donant un temps igual, així es fa servir el pes del gràfic per detectar el punt mort.

Múltiples instàncies de tipus de recurs

Diverses instàncies del tipus de recurs són situacions en què un sistema té diverses instàncies de tots els recursos, també es coneix com a algorisme de banquers. Segons l'algorisme de Bankers, tan bon punt el procés obté tots els recursos necessaris, allibera els seus recursos.

Considerem el següent exemple, suposem que hi ha 3 processos P0, P1, P2 i tipus de recurs A, B, C on A es pot trobar CPU , B pot ser impressora i C pot ser el teclat. Els dígits '0' de la columna representen la disponibilitat de recursos.

Cas (i): Suposem que si considerem que la sol·licitud de condició és “000”, la condició que es troba a P0 i P2, hauríem de comprovar quina sol·licitud es compleix, els processos P0 alliberen els processos després d’haver estat assignats, i després els processos P2 següents s’alliberen després d’assignar-se. Així, en una seqüència, un per un procés allibera P0, P2, P3, P1, P4 en una seqüència. Finalment, obtenim recursos disponibles com P7, P2, P6. La seqüència disponible és una condició on no hi ha estancament.

Bankers-Algorithm-Example1

banquers-algorisme-exemple1

Cases (ii): Suposem que si P2 és 001 en lloc de 000, apliqueu ara l'algoritme del banquer per comprovar si hi ha un punt mort, on l'únic P0 s'executa entre els cinc processos. Per tant, P1, P2, P3, P4 es troben en estat de bloqueig excepte P0.

Banquers-Exemple2

banquers-exemple2

Aplicacions de Deadlock

Les aplicacions de bloqueig es poden explicar amb un exemple en temps real de resultats d’exàmens en línia, on diversos estudiants intenten accedir al seu lloc web de la universitat en el moment de la publicació. Es pot observar que, de vegades, la pàgina web no es carrega alhora a diversos usuaris, això és una condició de bloqueig. Això es pot superar mitjançant qualsevol dels algorismes.

Avantatges

Els avantatges del bloqueig són

  • No s’observa cap preferència preventiva en evitar el punt mort
  • Cap demora en el procés

Desavantatges

L’inconvenient del bloqueig és

  • El recurs que s’ha d’utilitzar s’ha de conèixer per endavant
  • Bloqueig del procés durant molt de temps
  • Les pèrdues de prelació s’hereten.

Aquest article fa una visió general de com es produeix el punt mort quan hi ha dos o més processos i les tres condicions que són la causa que es produeixi un punt mort, i els dos tipus d’algorismes, és a dir, l’algorisme de compartició de recursos que detecta que existeix un condició d’impàs i l'algorisme dels banquers, que és l'algorisme d'evitar el punt mort. Aquí teniu la pregunta 'Què passa si s'ignora el punt mort?'.