Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1/8
Implantación de Sistemas Operativos
El sistema mantiene una cola con los procesos que están en estado listo. Los
procesos suspendidos se podrían poner todos en otra cola, pero suele ser más
eficiente manejar colas distintas según cuál sea la condición por la cual están
bloqueados. Así, se maneja una cola de procesos para cada dispositivo.
Existen ordenadores que disponen de varios procesadores, por lo que son capaces de
ejecutar al mismo tiempo varias tareas, luego disponen de SO especiales denominados
Sistemas multiprocesador. En los ordenadores convencionales, normalmente solo dispone
de un procesador por lo que en cada momento solo se estará procesando una tarea. No
obstante, es posible crear la ilusión de multiprocesamiento por medio de interrupciones,
cambiando el proceso activo cada cierto tiempo aunque no haya finalizado la tarea en
ejecución.
2/8
Implantación de Sistemas Operativos
3. ALGORITMOS DE PLANIFICACIÓN
La planificación indica al ordenador los procesos que deben ejecutarse y los estados
que deben adoptar.
• Los no apropiativos, son aquellos en los que los procesos que se están ejecutando
sólo suelta el procesador cuando acaba o se bloquea.
3/8
Implantación de Sistemas Operativos
4/8
Implantación de Sistemas Operativos
4. SINCRONIZACIÓN DE PROCESOS
Cuando se ejecutan varios procesos a la vez, es posible que éstos compartan uno o
varios recursos del sistema (monitor, memoria, ...). El objetivo del SO es permitir que
varios procesos compartan recursos sin que se produzcan problemas.
Es necesario que exista una forma de prohibir que en los procesos que compartan
recursos y donde no exista sincronización ente ellos, más de un proceso lea o escriba datos
compartidos a la vez.
5/8
Implantación de Sistemas Operativos
Existen ocasiones en las que los procesos deben sincronizar sus actividades, de
modo que un proceso no puede continuar hasta que otro no haya completado algún tipo de
actividad. Es responsabilidad del sistema operativo proveer mecanismos mediante los
cuáles pueda llevarse a cabo esta sincronización.
A) Espera Activa
- Algoritmo de Variables de Cierre/Espera con mutex: Este algoritmo utiliza un
flag al entrar a la sección crítica se fija si es uno o cero. Si es cero lo pone a uno y
entra en la sección crítica; si es uno espera hasta que valga cero. Antes de salir de la
sección crítica iguala el flag a cero. Este algoritmo sin embargo no resuelve el
problema de la sección crítica porque si hubiera una interrupción justo después de
comprobar el estado del flag y se accediera a la sección crítica antes de cambiar el
flag, otro proceso podría acceder a la sección crítica, cambiar el flag a uno y habrían
dos procesos accediendo a la sección crítica.
- Algoritmo de Alternación Estricta /Alternancia. En este algoritmo dos procesos
comparten una variable Turno, pero en vez de utilizar el mismo código se usa
distinto código para cada proceso. Si uno se bloquea el otro queda esperando;
postergación indefinida.
- Algoritmo de Petterson (o Algoritmo de Dekker). Este algoritmo combina las dos
ideas anteriores. Cuando turno es igual al valor del proceso, éste entra a la sección
crítica; cuando sale pone el valor de otro proceso en turno. Además cada proceso
posee su flag que actualizará periódicamente. Soluciona el problema de la sección
crítica y evita que un proceso quede en espera mientras que otro proceso esté en su
sección no crítica. Para n procesos la idea es más compleja.
B) Espera no Activa
- Semáforos. Es una variable protegida (S) e indica el número de procesos que
pueden acceder. Sólo puede ser modificada por la rutina de inicialización, y por la
entrada y salida en la sección crítica.
6/8
Implantación de Sistemas Operativos
5. BLOQUEOS
La mayoría de los recursos que existen en cualquier ordenador sólo pueden ser
utilizados por un proceso a la vez.
Para que haya bloqueo mutuo, deben darse simultáneamente las siguientes
condiciones:
1. Exclusión mutua. Existe al menos un recuso el cual sólo puede estar siendo
utilizado por un proceso en un instante de tiempo determinado.
2. No apropiación: Los recursos no pueden ser expropiados a los procesos, es decir,
un recurso sólo podrá ser liberado voluntariamente por sus propietarios.
3. Posesión y espera. Existe al menos un proceso que tienen recursos asignados y al
mismo tiempo está esperando poder adquirir otros recursos.
4. Espera circular: Existe un conjunto {P0, P1, ..., Pn} de procesos tales que el
proceso Pi está esperando por un recurso retenido por Pi+1 para 0<= i < n, y Pn esté
esperando recurso retenido por P0.
7/8
Implantación de Sistemas Operativos
8/8