36
Unidad 2 – Gestión de Procesos Sistemas Operativos

Unidad 2 – Gestión de Procesos Sistemas Operativos

Embed Size (px)

Citation preview

Page 1: Unidad 2 – Gestión de Procesos Sistemas Operativos

Unidad 2 – Gestión de Procesos

Sistemas Operativos

Page 2: Unidad 2 – Gestión de Procesos Sistemas Operativos

Agenda

Concepto de Proceso

Planificación de Procesos

Operaciones entre Procesos

Comunicación interprocesos

Page 3: Unidad 2 – Gestión de Procesos Sistemas Operativos

Concepto de Proceso

Page 4: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

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

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

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

Estructura del Proceso

Pila

memoria

datos

texto

Proceso en memoria

Page 10: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

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

Bloque de control de proceso

Page 14: Unidad 2 – Gestión de Procesos Sistemas Operativos

Agenda

Concepto de Proceso

Planificación de Procesos

Operaciones entre Procesos

Comunicación interprocesos

Page 15: Unidad 2 – Gestión de Procesos Sistemas Operativos

Planificación de Procesos

Page 16: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

Diagrama de colas

Page 19: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

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

Agenda

Concepto de Proceso

Planificación de Procesos

Operaciones entre Procesos

Comunicación interprocesos

Page 23: Unidad 2 – Gestión de Procesos Sistemas Operativos

Operaciones entre procesos

Page 24: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

Agenda

Concepto de Proceso

Planificación de Procesos

Operaciones entre Procesos

Comunicación interprocesos

Page 27: Unidad 2 – Gestión de Procesos Sistemas Operativos

Comunicación interprocesos

Page 28: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

Comunicación interprocesos

Page 31: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

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

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

Hebras

Page 35: Unidad 2 – Gestión de Procesos Sistemas Operativos

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

Preguntas?