SO 1 Introduccion
Proceso
Es un programa en ejecución.
Cada proceso tiene un espacio de direcciones.
Contiene programa ejecutable, datos y pila.
También conjunto de registros (en CPU),
contador de programa, apuntador de pila y todo
lo necesario.
SO – DUOC RENCA
SO: Procesos
Los SO tienen una tabla de procesos (arreglo)
Ejemplo: Un proceso llamado shell, lee
comandos desde teclado.
Los procesospueden crear procesos hijos,
lo cual creará un “árbol de procesos”
Los procesos relacionados (objetivo
común), se pueden comunicar.
SO – DUOC RENCA
SO: Procesos
SO – DUOC RENCA
SO: Procesos
Cada proceso además tiene:
PID:
UID:
GID:
Identificador de proceso
Identificador del usuario dueño
Identificador del grupo de usuarios
Cada proceso puede enviar “señales”
El kernel le puede enviar señalesa los
procesos.
SO – DUOC RENCA
SO: Procesos
Llamadas al sistema
Permiten solicitar algún servicio.
Más memoria (o liberar memoria no usada),
esperar a que un proceso hijo termine, y para
sobrescribir el programa actual del proceso
con un programa diferente.
SO – DUOC RENCA
SO: Procesos
El sistema asigna un UID a cada persona
autorizada para usar el sistema.
Cada proceso que se crea tieneel UID de la
persona que lo ejecutó.
Un proceso hijo tiene el mismo UID que su
padre.
Los usuarios pertenecen a un grupo, cada uno
tiene un GID.
SO – DUOC RENCA
SO: Procesos
Interbloqueo
Existen ocasiones en que dos o más
procesos se bloquean mutuamente, creando
un estancamiento.
estancamiento
SO – DUOC RENCA
SO: Procesos
Es un problema que afecta a procesos
concurrentes (usan recursos enel sistema).
Los procesos solicitan recursos y los liberan
cuando ya no los necesitan.
Un recurso puede estar disponible o asignado
a algún proceso (libre u ocupado).
SO – DUOC RENCA
SO: Procesos
Ejemplares: Son la cantidad de “copias” de un mismo
tipo de recurso (ej. varias impresoras).
Si un proceso solicita un recurso, se le concede
cualquier ejemplar disponible.
Si un proceso solicita unrecurso (sin ejemplares
disponibles) queda bloqueado, esperando que se le
asigne un ejemplar.
SO – DUOC RENCA
SO: Procesos
Problema:
Varios procesos bloqueados, esperan un
recurso retenido por otro proceso.
Ningún proceso puede avanzar.
Interbloqueo, bloqueo mutuo, abrazo mortal
(deadlock).
SO – DUOC RENCA
SO: Procesos
El interbloqueo no es responsabilidad de las
aplicaciones, sino delsistema de gestión.
Ejemplo: Los procesos A y B se pueden
interbloquear, aunque están creados correctamente.
SO – DUOC RENCA
SO: Procesos
El interbloqueo se da si:
1) Exclusión mutua:
mutua Los recursos no pueden
compartirse. Ej: 1 CPU
2) Retención y espera:
espera Un proceso retiene uno o
varios recursos, y además, espera por otros
recursos (asignados a otros procesos).
3) No expropiación:expropiación Un recurso sólo puede
liberarse por quien lo retiene (voluntariamente).
3A
SO – DUOC RENCA
SO: Procesos
4) Espera circular:
circular Varios procesos en espera
{P0,P1,...Px} en la que todo P(i) espera por un
recurso retenido por P(i+1); y P(x) espera por un
recurso retenido por P(0).
SO – DUOC RENCA
SO: Procesos
Problema basado en los “filósofos comilones”
SO – DUOC RENCA
SO:Procesos
Tratamiento del interbloqueo
1) Garantizar que no ocurran interbloqueos.
Prevención y evitación: El sistema está
diseñado para prevenir las 4 condiciones y así
tratar de no caer bloqueo.
2) Permitir los interbloqueos y recuperarse cuando
ocurran (sistema de recuperación).
3) No tratar el problema.
SO – DUOC RENCA
SO: Procesos
Prevención del interbloqueo
Para tratar de evitar elinterbloqueo, existe el
algoritmo del banquero.
Busca una secuencia de los procesos para ir
liberando recursos y así tratar de evitar el
interbloqueo.
SO – DUOC RENCA
SO: Procesos
Sistema de recuperación
después de un interbloqueo
Se puede:
1) Recuperación manual
2) Recuperación automática
SO – DUOC RENCA
SO: Procesos
1) Forma manual:
Se le avisa al administrador (decisión)
2) Forma automática...
Regístrate para leer el documento completo.