Gestió de Processos i Estructures Clau en Sistemes Operatius

Clasificado en Informática

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

Estructures de Dades per al Control de Recursos

Per controlar els processos i administrar els recursos, el sistema operatiu utilitza diverses taules d’informació per a cada entitat gestionada.

Taules d'Informació per a la Gestió d'Entitats

  • Taules de memòria:
    • Assignació de memòria principal (real) a processos.
    • Assignació de memòria secundària (virtual) a processos.
    • Informació de protecció de segments.
    • Informació de gestió de memòria virtual.
  • Taules d’E/S:
    • Estat de les operacions.
    • Posició de memòria utilitzada, etc.
  • Taules de fitxers:
    • Existència de fitxers.
    • Posició dins la memòria secundària.
    • Estat, etc.
  • Taules de processos:
    • Referències a Imatges de procés.

La Imatge de Procés: Components i Ubicació

La Imatge de Procés conté tota la informació necessària per a l'execució d'un programa:

  • Dades d’usuari: Part modificable (dades del programa d’usuari, pila d’usuari, etc.).
  • Programa d’usuari: El codi del programa a executar.
  • Pila del sistema: Utilitzada per guardar paràmetres i adreces de retorn durant les crides al sistema.
  • Bloc de control de procés (PCB): Informació de control necessària pel Sistema Operatiu (SO).

La imatge del procés es guarda en memòria secundària. Mentre una petita part roman en memòria principal per a tasques d’administració, per executar el procés, tota la imatge es carrega en memòria principal.

Bloc de Control de Procés (PCB)

El 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 principals:

  1. Identificació del procés

    • PID (Process ID)
    • PPID (Parent Process ID)
    • UID (User ID)
  2. Informació d’estat del processador

    • Registres d’usuari.
    • Registres de control i estat (PC, PSW, SP).
  3. Informació de control del procés

    • Informació d’estat: estat del procés, prioritat, esdeveniment d’espera, informació pel planificador.
    • Gestió de memòria.
    • Propietat i utilització de recursos.

El conjunt de blocs de control de processos defineix l’estat actual del sistema operatiu.

Control de Processos: Modes d'Execució

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 (Kernel): Mode privilegiat. És el que permet modificar les taules de sistema.

Canvis de Mode

Normalment, el registre PSW (Program Status Word) conté un bit per indicar el mode d’operació. Una cridada a sistema fixa el bit i es passa del mode d’usuari al mode de nucli.

Creació de Processos: Passos Essencials

Exemple d’ús de les estructures de dades del SO durant la creació d'un nou procés:

  1. Assignar un identificador únic al nou procés i afegir l’entrada corresponent a la taula de processos.
  2. Assignar espai per al procés (imatge de procés): Determinar l’espai de programa, dades, PCB, etc. Els valors poden ser per defecte o d’acord amb la petició de l’usuari, i poden modificar-se posteriorment.
  3. Inicialitzar el PCB: Determinar identificadors, informació d’estat i apuntadors. Valors per defecte o heretats del procés pare.
  4. Establir enllaços apropiats: Per exemple, dins les cues de processos.
  5. Actualitzar altra informació: Per exemple, la informació de tipus comptable.

Canvi de Procés vs. Canvi de Context

Un canvi de procés es produeix sempre que el SO agafa el control cedit pel procés en execució.

Triggers d'un Canvi de Procés

  • Interrupció: Externa a la instrucció en execució.
    • Interrupció de rellotge.
    • Interrupció d’E/S.
    • Falla de memòria (la paraula no és present en memòria principal).
  • Cep (Trap): Interrupció deguda al propi procés (p. ex., intent d’accés no autoritzat a un fitxer). Depenent de l’error, es canvia de procés o es continua l’execució.
  • Cridada del supervisor (System Call): El programa d’usuari requereix l’execució d’una rutina pròpia del sistema operatiu (p. ex., obrir un fitxer). En aquest cas, el procés passa a l’estat bloquejat.

El Canvi de Context fa referència a les tasques de salvaguarda i restauració dels registres del processador.

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 simple canvi de context.

Entradas relacionadas: