Gestió de Processos en Sistemes Operatius

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en catalán con un tamaño de 4,76 KB

Concepte de Procés en Sistemes Operatius

El concepte de procés és fonamental en el desenvolupament de la majoria de sistemes operatius. Les tasques principals d'un Sistema Operatiu (SO) es poden descriure en relació amb els processos:

  • Entrelligar l'execució de diversos processos per optimitzar l'ús de la CPU i proporcionar un temps de resposta raonable.
  • Assignar recursos als processos evitant bloquejos mutus (deadlocks).
  • Donar suport a la comunicació entre processos i a la creació de processos d'usuari.

Definicions de Procés

Un procés es pot definir de diverses maneres:

  • Un programa en execució. Un programa és un conjunt d'instruccions emmagatzemades en disc (entitat passiva), mentre que un procés és una entitat activa amb instruccions i altres recursos (PC, pila, memòria, etc.). Diferents processos poden executar el mateix programa.
  • La unitat de treball del SO, entesa com un conjunt de processos (processos del sistema i processos d'usuari).
  • Qualsevol de les activitats desenvolupades per la CPU.

Execució Seqüencial i Concurrent

  • Execució seqüencial: Les instruccions d'un procés s'executen una darrere l'altra.
  • Execució concurrent: Diversos processos s'executen simultàniament. Això pot ser:
    • Concurrència real: Cada procés s'executa en un processador diferent.
    • Concurrència virtual: Un processador reparteix el temps d'execució entre diversos processos segons un algorisme de planificació.

Estats d'un Procés

El model més senzill d'estats d'un procés inclou:

  • Execució: El procés té un processador assignat i executa instruccions. Només un procés per processador pot estar en aquest estat.
  • Preparat: El procés no té processador assignat i està esperant. Més d'un procés pot estar en aquesta situació.
  • Bloquejat: El procés no pot executar-se perquè espera algun esdeveniment (per exemple, la finalització d'una operació d'E/S o la comunicació amb un altre procés).
  • Nou: El procés s'ha creat però encara no ha estat admès pel sistema.
  • Acabat: El procés s'ha eliminat de la llista de processos executables.

Creació d'un Procés

Crear un procés implica afegir un nou procés al sistema. Les operacions necessàries són:

  • Construir les estructures de dades per a la seva gestió.
  • Determinar l'espai d'adreces que utilitzarà.

Un procés es pot crear quan:

  • S'activa un treball per lots.
  • Un usuari es connecta (log on).
  • És necessari per oferir un servei (per exemple, impressió).
  • Un procés d'usuari requereix la creació de processos fills (spawning).

Finalització d'un Procés

Finalitzar un procés implica eliminar-lo del sistema. Les fases són:

  • El procés acaba (o és forçat a acabar) i deixa de ser elegible per a l'execució.
  • S'esborren definitivament les estructures de dades.

Motius de finalització:

  • El programa acaba normalment.
  • Temps d'execució excessiu.
  • Memòria no disponible.
  • Violació dels límits de memòria.
  • Error de protecció.
  • Error aritmètic.
  • Temps d'espera excessiu.
  • Fallada d'E/S.
  • Instrucció no vàlida.
  • Instrucció privilegiada.
  • Procés pare acabat.
  • Petició del procés pare.

Transicions entre Estats

Les transicions possibles entre els estats d'un procés són:

  • Nul → Nou: Es crea un nou procés per executar un programa.
  • Nou → Preparat: El sistema accepta el nou procés.
  • Preparat → Execució: El procés és seleccionat i se li assigna un processador.
  • Execució → Acabat: El procés s'elimina del sistema (perquè ha acabat o s'ha avortat).
  • Execució → Preparat: S'ha exhaurit el temps d'execució, entra un procés de major prioritat o el procés cedeix voluntàriament el control del processador.
  • Execució → Bloquejat: El procés necessita esperar un esdeveniment per continuar (cridada al sistema, E/S, etc.).
  • Bloquejat → Preparat: L'esdeveniment que el procés esperava s'ha produït.
  • Preparat → Acabat: Un altre procés força la finalització (per exemple, el procés pare decideix finalitzar un fill).
  • Bloquejat → Acabat: Igual que la transició anterior.

Entradas relacionadas: