Administrador de Procesos
Sistemas Operativos
Lic. Violeta del Rocío Becerra Velázquez
Febrero de 2012.
Multitarea
La multitarea se basa en:
Paralelismo real entre E/S y
procesador.
Alternancia en los procesos de fases
de E/S y de procesamiento.
Memoria
principal
capaz
de
almacenar varios procesos.
2
Ejemplo de Ejecución en un Sistema
Multitarea
Proceso AProceso B
Proceso C
Procesamiento
Entrada/Salida
Listo
SO
Procesador
Tiempo
3
Cambio de Contexto
4
Información del Proceso
Estado del procesador: (conformado
por todos sus registros)
5
Registros generales.
Contador de programa.
Puntero de pila.
Registro o registros de estado.
Registros especiales
Información del Proceso
Imagen de Memoriadel Proceso
Esta formada por los espacios de memoria
que está autorizado a utilizar.
6
Información del Proceso
Información del BCP
Información de Identificación: esta identifica
al usuario y al proceso.
Estado del procesador: contiene los valores
iniciales del estado del procesador.
Información de control del proceso.
•
•
•
•
•
7
Información de planificación yestado.
Descripción de segmentos de memoria asignados.
Recursos asignados.
Punteros.
Comunicación entre procesos.
Tabla de Procesos
8
Tipos de Planificación
9
Objetivos de Planificación
10
Procesos Ligeros
Un hilo es una secuencia de instrucciones
relacionadas que se ejecuta de forma
independiente a otras secuencias.
Todos los programas tienen al menos un
hiloprincipal
Inicializa el programa y comienza la ejecución
de las instrucciones iniciales.
Puede crear otros hilos que ejecuten varias
tareas o puede hacer todo el trabajo el solo
11
Procesos Ligeros o Threads
12
Procesos Ligeros o Threads
•Un hilo es una unidad básica de
utilización del CPU; que consiste de:
Contador de programa
Conjunto de registros
Espacio de stack
13Procesos Ligeros o Threads
•Un hilo comparte con sus hilos pares:
Sección de código
Sección de datos
Recursos del sistema operativo
En conjunto se les conoce como tarea
•Un proceso tradicional o pesado, es
igual a una tarea con un hilo.
14
Estados del Proceso Ligero
15
Estados del Proceso Ligero
En una tarea donde hay múltiples hilos,
mientras
un
hilo
servidorestá
bloqueado y esperando, otro hilo en la
misma tarea puede ejecutarse.
Cooperación de múltiples hilos en la misma
tarea aumenta la tasa de trabajos por unidad
tiempo y mejora el rendimiento.
Aplicaciones que requieren compartir un buffer
común
(productor-consumidor)
sacan
provecho de la utilización de hilos.
16
Dividiendo una aplicación
Un proceso puede dividirse enmúltiples
hilos
Mejor uso de los recursos de hardware
Es necesario entender
Diseño y estructura de la aplicación.
La interface de programación con hilos.
El compilador y el ambiente de ejecución de la
aplicación.
Las plataformas destino donde la aplicación se
va a ejecutar.
17
Uso intensivo de CPU
Un trabajo en un núcleo
10 segundos
Tiempo de retorno
=10 segs
En elCPU
1 trabajo en 10 segundos
Tasa = 1 / 10 = 0.1
18
Uso intensivo de CPU
Dos trabajos en un núcleo
10 segundos
10 segundos
Tiempo de retorno P0 =20 segs
Tiempo de retorno P1 =20 segs
En el CPU
2 trabajos en 20 segundos
Tasa = 2 / 20 = 0.1
19
Uso intensivo de CPU
Dos trabajos en un núcleo
10 segundos
El tiempo de retorno de los
procesos puede variar
•Prioridades•Políticas de planificación
10 segundos
En el CPU
Tiempo de retorno
P0 =15 segs
Tiempo de retorno
P1=19 segs
2 trabajos en 20 segundos
20
Tasa = 2 / 20 = 0.1
La tasa de trabajos se
mantiene igual
Uso intensivo de CPU
Un trabajo en dos núcleos
10 segundos
No hay mejora en el
tiempo de retorno ni la
tasa de trabajos
Tiempo de retorno
=10 segs
Nucleo 0...
Regístrate para leer el documento completo.