GESTION DE PROCESOS
SISTEMAS OPERATIVOS
INTRODUCCION
•En un computador se ejecutan los programas, y cada
programa es divido en procesos que se cargan en
memoria y se ejecutan uno tras otro. El sistema
operativo es el encargado de hacerlo todo, la carga
de los procesos en memoria y la ejecución de dichos
procesos, pues para que se ejecute un programa es
necesario que el microprocesador ejecute los
procesos de ese programa.
CONCEPTOS
• Los procesos son un mecanismo esencial para definir y gestionar la ejecución
concurrente de los programas bajo control de un sistema operativo.
• Es una instancia de un programa en ejecución.
• Proceso es una actividad de cierto tiempo.
Interrupción es la indicación al sistema de que hay otra actividad pendiente y
cambio de contexto consiste en que el procesador atendiendo una interrupción
decide en función de unos criterios preestablecidos cambiar de proceso.
CREACION IMPLICITA Y EXPLICITA
• División implícita.- Se usa para explotar los beneficios de concurrencia entre
diferentes aplicaciones. La división implícita en tareas significa que los procesos
son definidos por el sistema.
• División explicita.- Es usada por los programadores para definir explícitamente
cada proceso y algunos de sus atributos con el fin de mejorar su rendimiento.
• Ganancia de velocidad.
• Multiplexación de dispositivos de E/S.
• Multiprocesamiento.
• Computación distribuida con múltiples sesiones de red.
RELACIONES ENTRE PROCESOS
• Competición.- En un sistema multitarea todos los procesos concurrentes
compiten unos con otros por la asignación de los recursos del sistema.
• Cooperación.- Los procesos que provienen de una sola aplicación cooperan entre
sí. La cooperación es habitual entre los procesos creados como resultado de una
división explícita en tareas.
HEBRAS O SUBPROCESOS
• Una hebra es un proceso ligero con un estado reducido que comparten recursos
del proceso que provienen tales como memoria y archivos. Las hebras asumen el
papel de los procesos como unidad planificable.
• Los procesos son estáticos, y solo las hebras pueden ser planificadas para
ejecución. Típicamente, cada hebra representa un flujo separado de control
PROCESOS DESDE LA PERSPECTIVA DEL PROGRAMADOR
•RECOGER (recoger los números a sumar puede ser a través
del teclado o disco),
•GUARDAR (Almacenar los números a sumar y la respuesta
en disco),
•CALCULAR (realizar la suma uso del procesador),
•IMPRIMIR (impresión del resultado puede ser en pantalla o
impresora).
TABLAS DE LOS PROCESOS
ESTADOS DE LOS PROCESOS
CONMUTACIÓN DE PROCESOS
PLANIFICACION
• El planificador es el módulo del sistema operativo que realiza la función de
seleccionar el proceso en un estado y pasarlo a otro estado de ejecución.
• Justicia o Imparcialidad
• Maximizar la Producción
• Minimizar el Tiempo de Respuesta
• Evitar el Aplazamiento Indefinido
• El sistema debe ser predecible
TIPOS DE PLANIFICADORES
ALGORITMOS DE PLANIFICACIÓN:
• FCFS (FIRST-COME, FIRST-SERVED)
• SRTN (SHORTEST REMAINING TIME NEXT)
• Reparto del tiempo RR. (ROUND ROBIN)
• Prioridades ED ( EVENT DRIVEN)
• MLQ
TIEMPOS
• Utilización del Procesador.- Es el tiempo que el procesador se mantiene
trabajando.
• Productividad.- Es la cantidad de trabajo que el procesador completa en una
unidad de tiempo.
• Tiempo de Espera.- Es el tiempo que transcurre mientras el proceso espera en la
cola de procesos listos. E(x) = R(x) – x- d
• Tiempo de Retorno.- Es la suma de los tiempos de espera, de ejecución y el
tiempo que el proceso efectúa las operaciones de E/S.
• El Tiempo de Respuesta.- Es el tiempo transcurrido desde la presentación de una
solicitud hasta que se produce la primera respuesta.