Professional Documents
Culture Documents
UNDEC
Procesos
Proceso: Concepto
Abstraccin de un programa en ejecucin.
Es dependiente del
soporte de hardware
Cambio de Contexto
Salvar el contexto implica resguardar el PC y otros Registros
3761
sh
4519
sort
THREADS HILOS: Concepto
Un hilo es una abstraccin de un procesador (Program
counter, registros de trabajo y pila de ejecucin)
Ejemplos de utilizacin
Un proceso servidor que utiliza una hebra para
atender a cada peticin de cliente
Un procesador de texto, con una hebra para el
despliegue grfico, otra para atencin del teclado y
otra para correccin ortogrfica.
Un juego de aviones, cada elemento del juego
(aviones, naves, etc...) pueden ser un hilo de
ejecucin
Estados y contexto de un hilo
Cada thread tiene recursos propios:
Una pila, un estado y una copia del contenido de los registros
Las colas de listos y bloqueados contienen threads en
vez de procesos
Un hilo no puede estar suspendido (se suspende el
proceso completo con todos sus hilos)
DE MEDIANO PLAZO:
Decide a que procesos se le otorga memoria
principal para poder ejecutar
DE CORTO PLAZO:
Decide que proceso, de los que ya estn listos es al
que le toca ahora estar utilizar la CPU
Niveles de Planificacin
Niveles de Planificacin
(...)
(...)
Proceso m
Proceso n
Planificacin Planificacin
de Mediano de Corto Plazo
Plazo
El SWAPPING
Para ejecutar los procesos deben estar total o
parcialmente en memoria principal
Maximizar la Produccin:
El sistema debe de finalizar el mayor numero de
procesos en por unidad de tiempo.
Planificacin no apropiativa
No se puede retirar el proceso/hilo de la CPU, este la
libera voluntariamente al bloquearse o finalizar
Casos 1 y 4
Polticas de Planificacin
Despachador (Dispatcher)
SRTF (Shortest
SJF (Shortest Job First)
Remaining Time First)
Prioridades Prioridades
(estticas y dinmicas) (estticas y dinmicas)
F.C.F.S. o FIFO
Es muy simple, los procesos reciben su turno conforme
llegan, tipo FIFO.
Muy sensible al orden de llegada de los procesos/hilos
TRESP2 = (4 + 8 + 12 + 20) / 4 = 11
Planificacin por Prioridades
Los procesos de mayor prioridad se ejecutan primero.
PRIORIDAD DE EJECUCION:
Se sabe que a mayor TimeSlice mayor Prioridad ya que
el proceso es interrumpido menos frecuentemente
permitiendole terminar antes que al resto.
Comunicacin entre Procesos o
IPC
Los problemas relacionados con la comunicacin
entre Procesos, ya sea en el proceso de pasar
informacin a otro, o que 2 procesos no se estorben
al realizar acciones cruciales o ya sea en la forma
que se ordenan los procesos para realizar una tarea
Condiciones de competencia
Qu son?
Condiciones de Competencia
.
.
Proceso
A 4 abc
5 prog . c
out = 4
6 prog .
n
7 in = 4
Proceso .
B .
Lo que necesitamos es
EXCLUSION MUTUA
1. Dos Procesos NO pueden estar al mismo
tiempo en sus regiones criticas
2. NO pueden hacerse suposiciones sobre las
velocidades, ni el nro. de CPUs
3. Ningn proceso que se este ejecutando afuera
de su regin crtica puede bloquear a otros
procesos
4. Ningn proceso deber tener que esperar de
manera indefinida para entrar en su regin
crtica
Extraido de SO Modernos de A. Tanembaum
Exclusin mutua con espera
activa
Inhabilitacin de interrupciones
La solucin mas sencilla es que cada proceso
inhabilite todas las interrupciones despus de
ingresar en su regin crtica.
Una vez que un proceso haya inhabilitado las
interrupciones, podr examinar y actualizar la
memoria compartida sin temor.
Desventaja: no es prudente conferir a los procesos
la capacidad de inhabilitar todas las
interrupciones, ya que alguno puede
deshabilitarlas y nunca activarlas de nuevo
Variables de bloqueo
Solucin de software, se usa una variable compartida
(de bloqueo) que inicialmente esta en 0 (cero)
Cuando un proceso intenta entrar en su regin
crtica, primero prueba el bloqueo. Mismo defecto
que el problema del spooler
Alternancia estricta
Utiliza una variable turno que esta inicialmente en 0
(cero), cuando un proceso esta por entrar en su regin
crtica, verifica turno, si esta en cero, entra y cambia
turno a 1, si luego otro proceso quiere entrar y turno=1
entonces da vueltas en un ciclo corto, probando
continuamente, esto se denomina espera activa
Activar y desactivar
El problema del productor-consumidor (problema del buffer
acotado)
Semforos
Operaciones down y up.
Verificar el valor, modificarlo y desactivarse es una
accin atmica, es decir indivisible
Mutexes
Mutex es una variable que puede tener 2
estados: bloqueado y desbloqueado