Upload
rcarrerah
View
162
Download
9
Embed Size (px)
DESCRIPTION
Procesos en un sistema operativo.
Citation preview
UniversidadVeracruzanaProcesos
Ricardo Carrera Hernández
UniversidadVeracruzana
2
Conceptualmente, cada proceso tiene su propia CPU
En la realidad, la CPU conmuta de un proceso a otro
Este modelo se le conoce como multiprogramación
UniversidadVeracruzana
3
A
B
C
D
Conmutación de proceso
Un contador de programa
A B C D
Cuatro contadores de programa
A
B
CD
Tiempo
(a) (b) (c)
(a) Multiprogramación de cuatro programas. (b) Modelo conceptual de cuatro procesos secuenciales independientes. (c) Sólo hay un programa activo a la vez
UniversidadVeracruzana
4
Proceso
EstadoEntrada SalidaPrograma
UniversidadVeracruzana
5
Creación de un proceso
1. El arranque del sistema
2. La ejecución, desde un proceso, de una llamada
al sistema para creación de procesos
3. Una petición de usuario para crear un proceso
4. El inicio de un trabajo por lotes
¡Feliz cumpleaños
proceso!
UniversidadVeracruzana
6
Terminación de un proceso
1. Salida normal (voluntaria)
2. Salida por error (voluntaria)
3. Error fatal (involuntaria)
4. Eliminado por otro proceso (involuntaria)
¡Goodbye!
UniversidadVeracruzana
7
Estados de un proceso
En ejecución
Listo Bloqueado
DespacharBloqueado
Despertar
Expiración de tiempo
DormidoDespierto
Despierto
eeeh… mamá está
en estado…
UniversidadVeracruzana
8
Transiciones de estado de los procesos
Paso de un proceso de un estado a otro
Despacho es la asignación del CPU al primer proceso de la lista de listo, actividad realizada por el Despachador
despachar(nombre_del_proceso): listo en_ejecución
UniversidadVeracruzana
9
Para evitar que un proceso monopolice al CPU, el Sistema Operativo utiliza un
reloj de interrupción
Establece el tiempo de uso del CPU, si se agota, se le retira al proceso devolviendo el control al Sistema Operativo
El Sistema Operativo asignará la CPU al proceso que se en encuentre al principio
de la lista de Listos
UniversidadVeracruzana
10
despachar(nombre_del_proceso): listo en_ejecución
Tiempo_expirado(nombre_del_proceso): en_ejecución listo
Transiciones de estado presentes
¡yo si me lo despacho!
UniversidadVeracruzana
11
Si un proceso inicia una operación de E/S, libera voluntariamente al CPU, el proceso se bloquea a si mismo
bloquear(nombre_del_proceso): en_ejecución bloqueado
Cuando se completa la operación de E/S, el proceso pasa de bloqueado a listo
despertar(nombre_del_proceso): bloqueado listo
UniversidadVeracruzana
12
despachar(nombre_del_proceso): listo en_ejecución
tiempo_expirado(nombre_del_proceso): en_ejecución listo
bloquear(nombre_del_proceso): en_ejecución bloqueado
despertar(nombre_del_proceso): bloqueado listo
Cuatro posibles transiciones
UniversidadVeracruzana
13
Investigación por parejas
Imprimir o fotocopiar las hojas correspondientes a los estados de los procesos de los libros de:1. Stallings2. Silbertschatz3. Carretero4. Tanenbaum
Subraya las palabras clave y escribe un artículo de al menos 10 cuartillas dónde describas con tus palabras los modelos de los cuatro autores. Debes incluir los diagramas necesarios para tus explicaciones. Se expondrá en clase el artículo escrito.
UniversidadVeracruzana
14
El PCB. Process Control Block
Estado actual del proceso
Identificador único de proceso
Apuntador al padre del proceso
Apuntadores a los hijos del proceso
Prioridad del proceso
Apuntadores a zonas de memoria
del procesoApuntadores a
recursos asignados al proceso
Área de salvaguarda de los
registros
El procesador en que se está ejecutando
el proceso
… es que a veces soy olvidadizo…
UniversidadVeracruzana
15
Investigación por parejas
¿Cuál es el papel del Núcleo (Kernel) en un Sistema Operativo referente a los
procesos?
Escribir el artículo de al menos 3 cuartillas y entregarlo impreso. Se presentará en
clase en un tiempo máximo de diez minutos.
UniversidadVeracruzana
16
Procesos ligeros
A los procesos ligeros se les conoce como hilos o threads.
Son objetos dinámicos dónde se ejecutan secuencias de instrucciones y
comparten entre sí recursos del proceso como el espacio de direcciones.
Herramienta para trabajar en una arquitectura multiprocesador.
El proceso se convierte en una entidad compuesta por recursos y
por hilos.
UniversidadVeracruzana
17
Investigación
¿Qué son los hilos del núcleo?
Individual. Al menos una cuartilla.
UniversidadVeracruzana
18
Procesos ligeros
Un proceso ligero es un hilo del usuario sostenido por el núcleo.
Un proceso se compone de varios procesos ligeros, cada
uno apoyado en un hilo del núcleo.
Son visibles para el núcleo y éste se encarga de despacharlos y
alojarlos en procesadores libres.
De esta forma, se traduce la concurrencia de una aplicación en paralelismo
real.
UniversidadVeracruzana
19
Hilos
Proceso dentro de proceso
¿Razón para tener estos miniprocesos?
En muchas aplicaciones se desarrollan varias actividades a la vez
En vez de pensar en interrupciones, temporizadores y
conmutaciones de contexto, pensemos en procesos
paralelos
No es greña…
son finos
hilos…
Los hilos son útiles en sistemas con varios CPU, donde es
posible el verdadero paralelismo
UniversidadVeracruzana
20
Investigación
Qué es la concurrencia Qué es el paralelismo Diferencias entre concurrencia y paralelismo
o Individual.o Al menos una cuartilla.
UniversidadVeracruzana
21
Tipos de procesos
Procesos largos
Aquellos que por mucho tiempo han estado listos o en ejecución.
Procesos cortos
Aquellos que, ya sea que en este momento estén en una ráfaga limitada por E/S y requieran atención ocasional del procesador, o tienden a estar bloqueados esperando a eventos.
UniversidadVeracruzana
22
Nuevo
ejecución
Terminado
Bloqueado
Listo
Admitir
Activar ejecución
Tiempo terminado
Ocurrió evento
Esperar evento
UniversidadVeracruzana
23
Planificación
UniversidadVeracruzana
24
Planificación de procesos
Es la manera en que el Sistema Operativo determina el orden de asignación de uso del procesador a los procesos que lo vayan solicitando.
Aplica políticas de uso para que el tiempo de asignación no sea excesivo respecto al uso esperado del sistema.
UniversidadVeracruzana
25
UniversidadVeracruzana
26
Tareas pendientes
T1 T2 T3 … Tn
Procesos activos
P1
P2
P3
Pn…
Planificador a largo plazo
UniversidadVeracruzana
27
Procesos en intercambio (swap)
Cola de procesos listos
Cola de entrada/salida
CPU
E/S
Planificador a mediano plazo, o agendador
Regreso de intercambio
Envío a intercambio
Solicitud de E/S
E/S completada
Inicio
Fin
UniversidadVeracruzana
28
Cola de procesos listos
P5 P4 P3 P2 P1
Despachador
CPU
Planificador a corto plazo, o despachador
UniversidadVeracruzana
29
Planificador a largo plazo
Se encarga de admitir un nuevo proceso: transición de Nuevo a Listo.
Planificador a mediano plazo
Maneja la activación y bloqueo de un proceso relacionado con eventos. Transiciones entre En ejecución y bloqueado y entre Bloqueado a Listo.
Planificador a corto plazo
Decide entre los procesos que están listos para ejecutarse y determina cuál de ellos activar. Detiene aquellos que exceden su tiempo de procesador.
UniversidadVeracruzana
30Objetivos de la planificación
Ser justo Debe tratarse de igual manera a todos los procesos que compartan características y nunca postergar indefinidamente a uno de ellos.
Maximizar el
rendimiento
Dar servicio a la mayor parte de procesos por unidad de tiempo.
Ser predecible
Un mismo trabajo debe tomar aproximadamente la misma cantidad de tiempo en completarse independientemente de la carga del sistema.
Minimizar la
sobrecarga
El tiempo que el algoritmo pierda en burocracia debe mantenerse al mínimo, dado que éste es tiempo de procesamiento útil perdido.
Equilibrar el uso de recursos
Favorecer a los procesos que empleen recursos subutilizados, penalizar a los que peleen por un recurso sobreutilizado causando contención en el sistema.
UniversidadVeracruzana
31Objetivos de la planificación
Evitar la postergación
indefinida
Aumentar la prioridad de los procesos más viejos, para favorecer que alcancen a obtener algún recurso por el cual estén esperando.
Favorecer el uso
esperado del sistema
En un sistema con usuarios interactivos, maximizar la prioridad de los procesos que sirvan a solicitudes iniciadas por éste (aún a cambio de penalizar a los procesos de sistema).
Dar preferencia a los procesos que podrían
causar bloqueo
Si un proceso de baja prioridad está empleando un recurso del sistema por el cual más procesos están esperando, favorecer que éste termine de emplearlo más rápido.
Favorecer a los procesos con un comportamiento
estable
Si un proceso causa muchas demoras, se le puede penalizar porque degrada el rendimiento global del sistema.
Degradarse suavemente
Si bien el nivel ideal de utilización del procesador es al 100%, es imposible mantenerse siempre a este nivel. Un algoritmo puede buscar responder con la menor penalización a los procesos preexistentes al momento de exceder este umbral.
UniversidadVeracruzana
32
Investigación
jajajajajajajajajajajajajajajajajajajaja
UniversidadVeracruzana
33
1. Medida de la respuesta de procesos.
2. Algoritmos de planificación de procesos
1. Primero en llegar, primero en ser
atendido (FCFS)
2. Ronda (Round Robin)
3. El proceso más corto a continuación
(SPN)
4. Ronda egoísta (SRR)
5. Retroalimentación multinivel (FB)
6. Lotería
UniversidadVeracruzana
34
Adios!!