Unidad 2 – Gestión de Procesos Sistemas Operativos.
-
Upload
samuel-jimenez-gallego -
Category
Documents
-
view
231 -
download
0
Transcript of Unidad 2 – Gestión de Procesos Sistemas Operativos.
![Page 1: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/1.jpg)
Unidad 2 – Gestión de Procesos
Sistemas Operativos
![Page 2: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/2.jpg)
Agenda
Concepto de Proceso
Planificación de Procesos
Operaciones entre Procesos
Comunicación interprocesos
![Page 3: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/3.jpg)
Concepto de Proceso
![Page 4: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/4.jpg)
Puede pensarse como un programa en ejecución
Necesita recursos para llevar a cabo su tarea
Los sistemas constan de una colección de procesos
Los procesos del SO ejecutan código del sistema
Los procesos del usuario ejecutan código de usuario
Todos estos procesos pueden ejecutarse en forma
concurrente
Proceso
![Page 5: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/5.jpg)
El SO es el responsable de la creación y
eliminación de procesos del sistema y de usuario
Planifica los procesos y provee de mecanismos
para la sincronización, comunicación e
interbloqueos en los procesos
Proceso
![Page 6: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/6.jpg)
Los primeros sistemas informáticos permitían
ejectuar un programa a la vez
Este programa tenía control total sobre el
Sistema y los recursos
Actualmente, se pueden cargar varios programas
en memoria y se ejecutan concurrentemente
Esto, requiere mayor control y aislamiento
Proceso
![Page 7: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/7.jpg)
El proceso son todas las actividades de la CPU
Desde los trabajos de los sistemas de
procesamiento por lotes
Hasta los programas ejecutados en un Sistema
de tiempo compartido
Trabajo y proceso se usan indistintamente
Estructura del Proceso
![Page 8: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/8.jpg)
Un proceso no es solo código de un programa
Incluye la actividad actual representada por un
contador de programa y los contenidos de los
registros del procesador
Incluye también la pila del proceso (con datos
temporales)
Incluye sección de datos (variables globales)
Memoria (memoria asignada dinámicamente)
Estructura del Proceso
![Page 9: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/9.jpg)
Estructura del Proceso
Pila
memoria
datos
texto
Proceso en memoria
![Page 10: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/10.jpg)
Un programa, por sí mismo, no es un proceso
Un proceso es una entidad activa, con un CP y
conjunto de recursos asociados
Un programa se convierte en proceso cuando se
carga en memoria
Puede haber dos procesos asociados a un mismo
programa
Un proceso puede crear varios procesos a medida
que se ejecuta
Estructura del Proceso
![Page 11: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/11.jpg)
A medida que se ejecuta, cambia de estado
Estado del Proceso
Diagrama de estados de un proceso
![Page 12: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/12.jpg)
Para el SO un proceso es un bloque de control de
proceso (PCB)
Un PCB contiene muchos elementos de información: Estado del proceso
Contador de Programa (PC)
Registros de la CPU
Información de planificación de la CPU
Información de gestión de memoria
Información contable
Información del estado de E/S
Bloque de control de proceso
![Page 13: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/13.jpg)
Bloque de control de proceso
![Page 14: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/14.jpg)
Agenda
Concepto de Proceso
Planificación de Procesos
Operaciones entre Procesos
Comunicación interprocesos
![Page 15: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/15.jpg)
Planificación de Procesos
![Page 16: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/16.jpg)
El objetivo de la multiprogramación es tener en
ejecución varios procesos al mismo tiempo
El planificador de procesos selecciona un
proceso disponible para ejecutar el programa en la
CPU
En sistemas de un solo procesador, si hay
muchos procesos que quieren ejecutarse deberán
ser asignados
Planificación de Procesos
![Page 17: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/17.jpg)
A medida que los procesos entran en el Sistema,
se colocan en una cola de trabajos
Existen varias colas Cola de Procesos preparados
Cola de dispositivo (cada dispositivo tiene una)
Colas de planificación
![Page 18: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/18.jpg)
Diagrama de colas
![Page 19: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/19.jpg)
Los procesos se mueven entras las distintas colas de
planificación
Los procesos se guardan en cola en un dispositivo de
almacenamiento masivo
El planificador de largo plazo selecciona procesos de
esta cola y los carga en memoria
El planificador a corto plazo o de la CPU selecciona
procesos de entre los procesos que ya están
preparados para su ejecución
Planificadores
![Page 20: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/20.jpg)
La diferencia radica en la frecuencia de ejecución
El planificador a corto plazo se ejecuta
frecuentemente
El planificador a largo plazo se ejecuta menos
frecuentemente, hasta minutos pueden pasar.
El de largo plazo controla la multiprogramación
(número de procesos en memoria)
Planificadores
![Page 21: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/21.jpg)
Los procesos se describen como limitados por la
E/S o limitados por la CPU
Es importante que el planificador a largo plazo
seleccione una adecuada mezcla de procesos
Generalmente el planificador de largo plazo no
se usa en los sistemas actuales
Intercambio se llama al esquema que se adiciona
un planificador a medio plazo
Planificadores
![Page 22: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/22.jpg)
Agenda
Concepto de Proceso
Planificación de Procesos
Operaciones entre Procesos
Comunicación interprocesos
![Page 23: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/23.jpg)
Operaciones entre procesos
![Page 24: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/24.jpg)
Los sistemas deben proporcionar un mecanismo
para la creación y terminación de procesos
Un proceso puede crear varios procesos nuevos,
dando lugar a un árbol de procesos
Los procesos se identifican por medio de un pid
Un proceso hijo puede obtener recursos de su
padre
Operaciones entre procesos
![Page 25: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/25.jpg)
Cuando un proceso crea otro proceso nuevo,
existen dos posibilidades en términos de ejecución:1. El padre continua ejecutándose concurrentemente con su
hijo
2. El padre espera hasta que alguno o todos sus hijos han
terminado de ejecutarse
También existen dos posibilidades en función del
espacio de direcciones del nuevo proceso:1. El proceso hijo es un duplicado del padre
2. El proceso hijo carga un nuevo programa
Operaciones entre procesos
![Page 26: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/26.jpg)
Agenda
Concepto de Proceso
Planificación de Procesos
Operaciones entre Procesos
Comunicación interprocesos
![Page 27: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/27.jpg)
Comunicación interprocesos
![Page 28: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/28.jpg)
Los procesos pueden ser:1. Independientes
2. Cooperativos
Independiente cuando no puede afectar o verse
afectado por otro proceso
Cooperativos cuando puede afectar o verse
afectado por los demás procesos
Comunicación interprocesos
![Page 29: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/29.jpg)
La cooperación entre procesos requiere
mecanismos de comunicación interprocesos
Existen dos modelos de comunicación
interprocesos:1. Memoria compartida
2. Paso de mensajes
Comunicación interprocesos
![Page 30: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/30.jpg)
Comunicación interprocesos
![Page 31: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/31.jpg)
Memoria compartida Se requiere que se establezca una region de memoria
compartida
El SO intenta evitar que un proceso acceda a datos de
otro
En memoria compartida no participa el SO
Problema del productor – consumidor para mostrar la
memoria compartida
Comunicación interprocesos
![Page 32: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/32.jpg)
Paso de mensajes No comparten memoria
Los procesos pueden no estar en la misma máquina
Proporciona dos operaciones: send y receive
Los mensajes pueden ser de tamaño fijo
Debe existir un enlace de comunicaciones entre emisor y
receptor
Formas de implementar un enlace:
• Comunicación directa o indirecta
• Comunicación síncrona o asíncrona
• Almacenamiento en búfer explícito o automático
Comunicación interprocesos
![Page 33: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/33.jpg)
Una hebra es una unidad básica de utilización de la
CPU
Esta formada por ID, un CP, conjuntos de registros
y una pila
Comparten con otras hebras la sección de código,
la sección de datos y otros recursos del SO
Varias hebras más tareas a la vez
Ejemplo: servidor web que recibe multiples pedidos
Hebras
![Page 34: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/34.jpg)
Hebras
![Page 35: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/35.jpg)
Hebras - Ventajas
CAPACIDAD DE RESPUESTA
Continúa ejecutándose incluso si una parte del
programa está bloqueado
Incrementa la capacidad de
respuesta
Ej. Explorador web
COMPARTICIÓN DE RECURSOS
Las hebras comparten memoria y recursos del
proceso
La ventaja de compartir código y
datos es que puede tener varias hebras de
actividad diferentes dentro del mismo
espacio de direcciones
ECONOMÍA
Más económico crear y realizar cambios de context entre hebras
Por ej. En Solaris es 30 veces más lento
crear un proceso que una hebra
USO SOBRE ARQ.
MULTIPROC.
Ventajas en configuraciones
multihebras
Las hebras se ejecutan en paralelo en
diferentes procesadores
Incrementan el grado de concurrencia
![Page 36: Unidad 2 – Gestión de Procesos Sistemas Operativos.](https://reader035.fdocumento.com/reader035/viewer/2022062808/5665b4bc1a28abb57c939e8f/html5/thumbnails/36.jpg)
Preguntas?