Gestion de Procesos
Gestion de Procesos
Gestion de Procesos
SISTEMAS OPERATIVOS
Presentado por: Robert Mcnish Osorio.
Julio Cesar Zuluaga Uribe.
SISTEMAS OPERATIVOS
GESTIÓN DE PROCESOS
Hemos de tener en cuenta que en el ordenador 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.
El microprocesador no hace las cosas por si solo, es el sistema operativo el que determina que
proceso se debe ejecutar y cuanto tiempo debe estar ejecutándose, a todo esto se le
denomina gestión de procesos.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Procesos de Sistema.
Durante el proceso de arranque del computador, el sistema operativo, una vez cargado,
pone en ejecución un conjunto de procesos que realizan funciones vitales dentro del
sistema. Estos procesos reciben el nombre de procesos de sistema.
SISTEMAS OPERATIVOS
Estados de un Proceso
En el estado en ejecución solo puede haber un proceso, sin embargo, varios pueden estar
listos o bloqueados.
Los procesos no pueden pasar por ellos mismos de listos a ejecución, es el S.O. el que
decide cuando se pasa de listo a ejecutado.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Bloque De Control De Procesos
SISTEMAS OPERATIVOS
• Estado del proceso: El estado puede ser nuevo, en ejecución, en espera, etc.
• Información de gestión de memoria: Incluye información acerca del valor de los registros
base y limites, las tablas de paginación o tablas de segmentos, dependiendo del mecanismo de
gestión de memoria.
• Información del estado de E/S: Esta información incluye, solicitudes pendientes de E/S,
dispositivos de E/S asignados al proceso, etc.
SISTEMAS OPERATIVOS
HEBRAS (Hilos)
Los hilos son procesos ligeros que se componen de registros, un espacio de pila y un contador
de programa.
Los hilos comparten su código ejecutable, su pila y los recursos que utiliza. Con el uso de hilos
deja de ser necesaria la costosa conmutación de contexto de uno a otro
proceso.
Los hilos son especiales para realizar procesamiento paralelo, pero esto incurre en algunos
problemas como la consistencia de datos, para lo que se usan distintos mecanismos para
solucionarlos como secciones críticas y cerraduras.
Los hilos pueden estar a nivel del núcleo del sistema operativo o a nivel de usuario.
SISTEMAS OPERATIVOS
Planificación de Procesos
SISTEMAS OPERATIVOS
Con la planificación se pretende:
•Se pretende poder discriminar procesos de tal manera que se permita dar mayor prioridad a
aquellos procesos que tengan asignados recursos claves.
SISTEMAS OPERATIVOS
Se puede planificar a tres niveles distintos
SISTEMAS OPERATIVOS
Criterios de Planificación
•Utilización de la C.P.U: Queremos que la C.P.U. se mantenga tan ocupada como sea posible.
•Rendimiento: Una medida del trabajo es el número de procesos que se completa por unidad
de tiempo.
•El tiempo de Respuesta: El tiempo transcurrido desde la presentación de una solicitud hasta
que se produce la primera respuesta.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Colas De Planificación
A medida que los procesos entran al sistema se colocan en una cola de trabajos que contiene
todos los procesos del sistema.
Los procesos que residen en memoria principal y están preparados y en espera de ejecución se
encuentran en la cola de procesos preparados (lista enlazada, contiene un puntero al primer y
último PCB de la lista).
Cada PCB incluye un campo de puntero que apunta al siguiente PCB de la cola de procesos
preparados.
El sistema también incluye otras colas como son las colas de dispositivos.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Planificadores
Durante el tiempo de vida, los procesos se mueven entre las diferentes colas de planificación.
El SO como parte de la planificación debe seleccionar un proceso que se encuentran en las
colas. Este proceso se lo realiza a través de un Planificador.
En un sistema de procesamiento por lotes, se envía más procesos de los que se puede ejecutar
de forma inmediata. Estos procesos se guardan en dispositivos de almacenamiento masivo,
donde se mantiene para su posterior ejecución.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Planificación De Procesos
•Planificador a mediano plazo: Decide si se añade al número de procesos que están total o
parcialmente en memoria principal.
•Planificadores a corto plazo (Planificador de CPU): Decide cuál de los procesos disponibles
ejecutará el procesador.
SISTEMAS OPERATIVOS
Cambio de Contexto
Cuando se produce una interrupción el sistema tiene que guardar el contexto actual del
proceso que se esta ejecutado en la CPU, de modo que se pueda restaurar dicho contexto
cuando su procesamiento concluya, suspendiendo el proceso y reanudándolo después.
El tiempo dedicado al cambio de contexto es tiempo desperdiciado. El tiempo empleado para
el cambio de contexto depende fundamentalmente del soporte hardware.
SISTEMAS OPERATIVOS
Operaciones Básicas con Procesos
•Crearlo: Darle un nombre o identificador, meterlo en la lista de procesos listos, asignarle una
prioridad, crear el PCB y darle los recursos que necesite, etc..
•Destruir un proceso: Liberándose todos los recursos que tenía asignado el proceso. La
prioridad del proceso sería la prioridad en el PCB.
•Bloquear un proceso: Pasar de estado activo a bloqueado debido a que tiene que esperar a
que suceda un evento.
•Activar un proceso: Cuando termina un evento por el que está esperando un proceso y se
encontrase este bloqueado, entonces pasa este a listo.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
Comunicación Interprocesos
Los procesos pueden ser:
•Procesos independientes: Si no puede afectar o verse afectado por los restantes procesos del
sistema.
Hay varias razones para proporcionar un entorno que permita la cooperación entre procesos:
* Modularidad. * Conveniencia.
SISTEMAS OPERATIVOS
Sistemas de memoria Compartida
La comunicación interprocesos que emplea memoria compartida requiere que los procesos
que se estén comunicando establezcan una región de memoria compartida. El SO evita que
otro proceso pueda ingresar a direcciones de memoria de otro proceso, por cual los procesos
cooperativos deben eliminar esta restricción.
SISTEMAS OPERATIVOS
Nombrado
En todos los casos el sistema operativo o el subsistema de comunicación entre procesos (IPC)
deben asegurar la consistencia y la correctitud de los mensajes. Para esto se pueden
implementar sumas de verificación (checksum) o similares.
SISTEMAS OPERATIVOS
Sincronización
Como ejemplo, supongamos que tenemos 3 procesos concurrentes que quieren modificar un
mismo archivo. Si los 3 acceden a este al mismo tiempo el archivo quedará con valores
incorrectos. Para resolver problemas como este se ideó la sección crítica, que es el segmento
de código que accede a los recursos. Sólo puede haber una sección crítica en ejecución por
vez, así nos aseguramos que los datos quedan consistentes.
SISTEMAS OPERATIVOS
Almacenamiento en búfer
Los mensajes intercambiados por los procesos que se están comunicando residen en una cola
temporal, tales colas se pueden implementar de tres maneras:
•Capacidad Cero: La longitud máxima es de cero; por lo cual no hay ningún mensaje
esperando en el enlace.
•Capacidad Limitada: Tiene una longitud finita n; por lo cual hay n mensajes esperando.
•Capacidad ilimitada: La longitud es infinita, por lo cual puede haber infinitos mensajes
esperando en la cola.
SISTEMAS OPERATIVOS
COMUNICACIÓN ENTRE PROCESOS Y OPERACIONES
SISTEMAS OPERATIVOS
Los procesos pueden estar ejecutándose en una o más computadoras conectadas a una red.
Las técnicas de IPC están divididas dentro de métodos para: paso de mensajes, sincronización,
memoria compartida y llamadas de procedimientos remotos (RPC). El método de IPC usado
puede variar dependiendo del ancho de banda y latencia (el tiempo desde el pedido de
información y el comienzo del envío de la misma) de la comunicación entre procesos, y del
tipo de datos que están siendo comunicados.
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS