Download - 4. procesos
![Page 1: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/1.jpg)
UniversidadVeracruzanaProcesos
Ricardo Carrera Hernández
![Page 2: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/2.jpg)
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
![Page 3: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/3.jpg)
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
![Page 4: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/4.jpg)
UniversidadVeracruzana
4
Proceso
EstadoEntrada SalidaPrograma
![Page 5: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/5.jpg)
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!
![Page 6: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/6.jpg)
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!
![Page 7: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/7.jpg)
UniversidadVeracruzana
7
Estados de un proceso
En ejecución
Listo Bloqueado
DespacharBloqueado
Despertar
Expiración de tiempo
DormidoDespierto
Despierto
eeeh… mamá está
en estado…
![Page 8: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/8.jpg)
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
![Page 9: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/9.jpg)
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
![Page 10: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/10.jpg)
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!
![Page 11: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/11.jpg)
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
![Page 12: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/12.jpg)
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
![Page 13: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/13.jpg)
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.
![Page 14: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/14.jpg)
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…
![Page 15: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/15.jpg)
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.
![Page 16: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/16.jpg)
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.
![Page 17: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/17.jpg)
UniversidadVeracruzana
17
Investigación
¿Qué son los hilos del núcleo?
Individual. Al menos una cuartilla.
![Page 18: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/18.jpg)
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.
![Page 19: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/19.jpg)
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
![Page 20: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/20.jpg)
UniversidadVeracruzana
20
Investigación
Qué es la concurrencia Qué es el paralelismo Diferencias entre concurrencia y paralelismo
o Individual.o Al menos una cuartilla.
![Page 21: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/21.jpg)
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.
![Page 22: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/22.jpg)
UniversidadVeracruzana
22
Nuevo
ejecución
Terminado
Bloqueado
Listo
Admitir
Activar ejecución
Tiempo terminado
Ocurrió evento
Esperar evento
![Page 23: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/23.jpg)
UniversidadVeracruzana
23
Planificación
![Page 24: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/24.jpg)
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.
![Page 25: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/25.jpg)
UniversidadVeracruzana
25
![Page 26: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/26.jpg)
UniversidadVeracruzana
26
Tareas pendientes
T1 T2 T3 … Tn
Procesos activos
P1
P2
P3
Pn…
Planificador a largo plazo
![Page 27: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/27.jpg)
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
![Page 28: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/28.jpg)
UniversidadVeracruzana
28
Cola de procesos listos
P5 P4 P3 P2 P1
Despachador
CPU
Planificador a corto plazo, o despachador
![Page 29: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/29.jpg)
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.
![Page 30: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/30.jpg)
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.
![Page 31: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/31.jpg)
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.
![Page 32: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/32.jpg)
UniversidadVeracruzana
32
Investigación
jajajajajajajajajajajajajajajajajajajaja
![Page 33: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/33.jpg)
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
![Page 34: 4. procesos](https://reader034.vdocumento.com/reader034/viewer/2022051400/557b4e9dd8b42a014a8b5182/html5/thumbnails/34.jpg)
UniversidadVeracruzana
34
Adios!!