Gestió de Processos i Planificació en Sistemes Operatius

Clasificado en Informática

Escrito el en catalán con un tamaño de 5,11 KB

El Concepte de Procés en Sistemes Operatius

El concepte de procés és el punt al voltant dels quals s'han desenvolupat la majoria de sistemes operatius.

Les principals tasques del SO es poden expressar en referència al procés:

  • Entrellaçar l'execució d'un determinat nombre de processos per tal d'optimitzar l'ús de la CPU mentre proporciona un temps de resposta raonable.
  • Proporcionar recursos als processos evitant l'abraçada mortal.
  • Proporcionar suport a les comunicacions entre processos i a la creació de processos d'usuari.

Bloc de Control d'un Procés (PCB)

És l'estructura de dades on es guarda tota la informació d'un procés, dividida en tres grups:

  • Identificació del procés: PID, PPID, UID
  • Informació d'Estat del Processador: Registres d'Usuari, Registres de Control i Estat (PC, PSW, SP)
  • Informació de Control del Procés: Estat del procés, prioritat, esdeveniment d'espera, informació per al planificador, gestió de memòria, propietat i utilització de recursos.

El conjunt de blocs de control de processos defineixen l'estat del sistema operatiu.

Modes d'Execució del Processador

Per protegir el SO d'ingerències per part dels programes d'usuari, s'utilitzen dos modes de funcionament (la majoria de processadors ho permeten):

  • Mode d'Usuari: Mode menys privilegiat, la majoria de programes d'usuari s'executen en aquest mode.
  • Mode de Sistema, de Control o de Nucli: Mode privilegiat, és el que permet modificar les taules de sistema.

Canvis de Mode

Normalment, el registre PSW conté un bit per indicar el mode d'operació.

Una crida a sistema fixa el bit i es passa del mode d'usuari al mode de nucli.

Canvis de Procés vs. Canvi de Context

Canvi de Procés

Sempre que el SO agafa el control cedit pel procés en execució. Pot ser degut a:

  • Interrupció: Externa a la instrucció en execució.
    • Interrupció de Rellotge
    • Interrupció d'E/S
    • Fallada de Memòria: la paraula no és present en memòria principal.
  • Trampa (Trap): Interrupció deguda al propi procés.
    • Exemple: intent d'accés no autoritzat a un fitxer.
    • Depenent de l'error, es canvia de procés o es continua l'execució.
  • Crida del Supervisor: El programa d'usuari requereix l'execució d'una rutina pròpia del sistema operatiu (per exemple, obrir un fitxer). El procés passa a l'estat bloquejat.

Canvi de Context

(Recordar el tractament d'interrupcions)

Tasques Necessàries per a un Canvi de Procés (de PCB#1 a PCB#2)

  1. Salvar el context del processador (PC i altres registres).
  2. Actualitzar el PCB#1: canviar l'estat del procés i la informació comptable.
  3. Transferir PCB#1 a la cua pertinent.
  4. Seleccionar el nou procés (PCB#2) d'acord amb l'algorisme de planificació utilitzat pel sistema operatiu.
  5. Actualitzar PCB#2: modificar l'estat a 'execució'.
  6. Actualitzar les estructures de dades de gestió de memòria.
  7. Restaurar el context del processador d'acord amb PCB#2.

És evident que un canvi de procés requereix més esforç que un canvi de context.

Recursos Reutilitzables en Sèrie

Escassetat de recursos: el nombre de recursos és inferior al nombre de processos que competeixen per ells.

Recurs reutilitzable en sèrie: recurs que només pot ser assignat a un procés en cada instant.

Exemples: impressores, CPU, etc.

Planificació de recursos: el SO ha d'establir una política d'assignació dels recursos reutilitzables en sèrie als processos.

El Planificador del Sistema Operatiu

Element del sistema operatiu que determina a quin procés se li assigna un determinat recurs en cada instant de temps, d'acord amb alguna política.

Si el recurs a assignar és el processador, es distingeixen:

  • Planificador a Llarg Termini

    • Controla el grau de multiprogramació: conjunt de processos residents simultàniament en memòria i executables concurrentment.
    • Selecciona processos de la cua on esperen els que s'han de carregar en memòria.
    • Només s'executa cada vegada que finalitza un procés.
  • Planificador a Curt Termini

    • Selecciona un procés de la cua de preparats i l'assigna a la CPU.
    • S'executa molt sovint: cada canvi de procés.

Processos Lligats a CPU o Lligats a E/S

Un procés lligat a CPU és aquell que inverteix la major part del temps en la realització de càlculs i requereix poques operacions d'E/S.

Un procés lligat a E/S inverteix més temps en operacions d'E/S que en càlculs a la CPU.

Serà funció del planificador a llarg termini seleccionar una combinació adequada d'ambdós tipus de processos.

Entradas relacionadas: