Capitulo 5
17:27
| Publicado por
Delthax
|
Administración de Procesos
Para administrar los procesos hay dos puntos muy importantes:
· Planificación del procesador
· Problemas de concurrencia
PLANIFICACION DEL PROCESADOR
Hay técnicas que se usan para decidir el tiempo de ejecución y cuanto se le asignan cada proceso de sistema como se había visto en capítulos anteriores para eso existen niveles y a continuación se describirán:
· Alto: descarta procesos que no son capaces de ejecutarse debido a los recursos existentes.
· Intermedio: descarta procesos que ayuden a lograr metas de rendimiento
· Bajo: decide a que proceso le toca ejecutarse
OBJETIVOS DE LOS PROCESOS
Justicia o Imparcialidad: Todos los procesos son tratados de la misma forma.
Maximizar la Producción: Debe finalizar el mayor manejo de procesos por unidad de tiempo.
Minimizar el Tiempo de Respuesta: Cada usuario ó proceso debe observar que el sistema le responda consistentemente a sus requerimientos.
Evitar Aplazamiento Indefinido: Los procesos deben terminar en un plazo finito de tiempo.
El Sistema Debe de Ser Predecible: Ante cargas ligeras debe responder rápido y antes las pesadas debe ir degradándolas paulatinamente.
hacer clic en la imagen para agrandar
CARACTERISTICAS
Cantidad de Entrada/Salida: Existen procesos que realizan una gran cantidad de operaciones de entrada y salida
Cantidad de Uso de CPU: Existen procesos que usan intensivamente la unidad central de procesamiento.
Procesos de Lote o Interactivos: Un proceso de lote es más eficiente en cuanto a la lectura de datos, ya que generalmente lo hace de archivos, mientras que un programa interactivo espera mucho tiempo por las respuestas de los usuarios.
Procesos en Tiempo Real: Si los procesos deben dar respuesta en tiempo real se requiere que tengan prioridad para los turnos de ejecución.
Longevidad de los Procesos: Existen procesos que tipicamente requeriran varias horas para finalizar su labor, mientras que existen otros que solonecesitan algunos segundos.
PLANIFICACION
Apropiativa : Una vez que a un proceso le toca su turno de ejecución ya no se le puede ser suspendido, ya no se le puede arrebatar el cpu.
No Apropiativa : Existe un reloj que lanza interrupciones periódicas en las cuales el planificador toma el control y decide si el mismo proceso seguirá ejecutándose o se le sedera el turno a otro proceso.
ASIGNACIÓN DEL TURNO DE EJECUCIÓN
Por prioridad: El de mayor prioridad se ejecuta primero. Si hay procesos con igual prioridad se ejecuta en orden de llegada.
Trabajo más corto primero: Difícil de llevar a cabo, necesita estimación de cuanto tiempo necesitara el proceso para terminar.
Primero en llegar, primero en ejecutarse: Los procesos que llegan reciben su turno conforme llegan.
Round Robin: Consiste en darle a cada proceso un intervalo de tiempo de ejecución y cada vez que se vence ese intervalo se copia el contesto de este, en el lugar seguro y se le pasa el turno a otro.
Tiempo restante más corto: Parecido al “trabajo mas corto primero” pero aquí se calcula en todo momento cuando el tiempo restante para terminar a los procesos.
Tasa de respuesta más alta: castiga o premia uno o más atributos de los procesos. Se puede combinar con Round Robin. No hay aplazamiento indefinido, es justo. UNIX usa Round Robin + Prioridad(tasa de respuesta má alta).
Por política: Se establece un reglamento específico que el planificador debe obedecer,no es justo.
PROBLEMAS DE CONCURRENCIA
Concurrencia: dos o más entidades llegan a un sitio al mismo tiempo.
Condiciones de carrera o competencia: dos o más procesos quieren tener un mismo recurso. Se usan locks para que un proceso no pueda ejecutarse mientras otro este ejecutándose.
Test and set lock: revisa si el recurso está ocupado (0,1), en cuanto se checa el recurso, el proceso se apropia de él.
Aplazamiento indefinido: consiste en el hecho de que uno o varios procesos nunca reciban el suficiente tiempo de ejecución para terminar su tarea.
Condición de espera circular: dos o más procesos forman una cadena de espera que los involucra a todos. Si se respeta la exclusión mutua esta condición nunca acaba.
DEADLOCK
Para que se genere deadlock debe haber:
· Hold and Wait
· Circular Wait
· Mutual Exclusion
· No preemption
El deadlock está en el sistema, pero no involucra a todos los procesos no pierde toda la productividad.
En el deadlock, si se quiere quitar el hod & wait, ciruclar wait, no preemption y mutal exclusion genera información inconsistente y tiempo perdido
Hay ciertos algoritmos que previenen el deadlock que son los siguientes:
· Asignación lineal de recursos: se etiquen números a los recursos. Los procesos sólo pueden solicitar recursos de manera ascendente o descendente. No evita el hold & wait evita circular.
· Asignar todo o nada: desperdicia recursos, se preasignan todos los recursos al proceso.
· Algoritmo del banquero: se dan ecursos cuando al menos un proceso va a acabar con lo que tiene o lo que sobra de los recursos. Evita saturación.
Hacer clic en la imagen para agrandar
Fernando Montoro Fierro Sistemas Operativos 2011 UPAEP. Con la tecnología de Blogger.