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
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
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
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.

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
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-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 únic-instància1
Exemple 2: S'ha produït un impasse perquè hi ha un flux continu de cicle de P1 a P4.

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.

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
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?'.