45
{ PROCESOS I Sistemas Operativos II Prof. Pablo Macón http://soii-its.blogspot.com/

Procesos y Planificación - Sistemas Operativos

Embed Size (px)

DESCRIPTION

Procesos y Planificación - Sistemas Operativos

Citation preview

Page 1: Procesos y Planificación - Sistemas Operativos

{

PROCESOS I Sistemas Operativos II

Prof. Pablo Macón

http://soii-its.blogspot.com/

Page 2: Procesos y Planificación - Sistemas Operativos

Para entender qué es un proceso y tratar de dar una definición, veamos primero esta alegoría:

Procesos

Page 3: Procesos y Planificación - Sistemas Operativos

Un “científico computacional” se propone a cocinar una torta

Tiene la receta, los ingredientes y una cocina apta para la tarea

Procesos

Page 4: Procesos y Planificación - Sistemas Operativos

Cocinero Procesador

Receta Programa (algoritmo)

Ingredientes Datos de entrada

Procesos

Page 5: Procesos y Planificación - Sistemas Operativos

El proceso será la actividad de preparar la torta en sí, eso quiere decir que el cocinero vaya siguiendo los pasos de la receta, agregando los ingredientes y poniendo la torta en el horno

Procesos

Page 6: Procesos y Planificación - Sistemas Operativos

En un momento dado, aún no habiendo terminado de cocinar, se acerca la hija del cocinero llorando porque se cortó un dedo.

Procesos

Page 7: Procesos y Planificación - Sistemas Operativos

Antes de ir a curarla, el cocinero (que además es un científico computacional) anota el punto de la receta donde estaba (se guarda el estado el proceso)

Procesos

Page 8: Procesos y Planificación - Sistemas Operativos

Podemos decir que el procesador conmuta de un proceso a otro de mayor prioridad

Procesos

Page 9: Procesos y Planificación - Sistemas Operativos

Luego de terminar de atender a su hijita, lee de la memoria el estado del proceso y continúa en el mismo punto en el que lo había dejado

Procesos

Page 10: Procesos y Planificación - Sistemas Operativos

Un proceso es una instancia de un programa en ejecución.

Una abstracción del Sistema operativo, esencial en la multiprogramación

Procesos: Definición

Page 11: Procesos y Planificación - Sistemas Operativos

Varias instancias del mismo programa corriendo al mismo tiempo son procesos diferentes, cada uno tiene su propio Contador de programa, variables y espacio en la memoria

Procesos: Principios

Page 12: Procesos y Planificación - Sistemas Operativos

Cada proceso tiene su propia máquina virtual y piensa que es el único proceso en el sistema

En realidad el procesador conmuta de uno a otro de manera muy rápida

Procesos: Principios

Page 13: Procesos y Planificación - Sistemas Operativos

Procesos: Principios

Page 14: Procesos y Planificación - Sistemas Operativos

La velocidad a la que se ejecuta un proceso no es siempre igual, puede variar de una instancia a otra

En los sistemas de Tiempo Real hay que tomar medidas

Procesos: Principios

Page 15: Procesos y Planificación - Sistemas Operativos

Los Procesos deben ser creados por el SO en algún momento.

Los SO básicos tienen todos sus procesos presentes todo el tiempo

Los SO grandes deben crearlos y terminarlos en algún momento

Procesos: Creación

Page 16: Procesos y Planificación - Sistemas Operativos

Existen cuatro eventos que provocan la creación de procesos:

El Arranque del Sistema

Un proceso que llama a otro

Una petición del usuario

Un trabajo por lotes

Procesos: Creación

Page 17: Procesos y Planificación - Sistemas Operativos

En el Arranque del Sistema:

Se crean los procesos en primer plano (interactúan con el usuario)

Se crean los demonios (segundo plano) con funciones específicas

Procesos: Creación

Page 18: Procesos y Planificación - Sistemas Operativos

En los sistemas Unix-like (como GNU/Linux) existe una llamada al sistema denominada fork()

Procesos: Creación

Page 19: Procesos y Planificación - Sistemas Operativos

Cuando un proceso padre quiere crear un proceso hijo ejecuta una llamada al sistema

fork()

Crea una copia exacta del padre

Procesos: Creación

Page 20: Procesos y Planificación - Sistemas Operativos

Tan exacta que comparten el espacio de memoria, las variables, los registros y los archivos

Procesos: Creación

Page 21: Procesos y Planificación - Sistemas Operativos

Luego se separan, utilizando otra llamada al sistema

execve()

El hijo reclama para sí, un espacio en la memoria, registros propios e identificadores de archivos

Procesos: Creación

Page 22: Procesos y Planificación - Sistemas Operativos

Puede darse por

Salida normal (voluntaria)

Salida por error (voluntaria)

Error Fatal (involuntaria)

Eliminado por otro proceso (involuntaria)

Procesos: Terminación

Page 23: Procesos y Planificación - Sistemas Operativos

La mayoría de los procesos termina de manera normal utilizando una llamada al sistema: UNIX y Linux: exit

Windows: ExitProcess

Procesos: Terminación

Page 24: Procesos y Planificación - Sistemas Operativos

Un error fatal puede ser tratar de dividir por cero o hacer referencia a una dirección de memoria que no existe

Procesos: Terminación

Page 25: Procesos y Planificación - Sistemas Operativos

Para terminar un proceso debe tener permisos específicos

Se utilizan también llamadas al sistema:

Unix/Linux: kill

Windows: TerminateProcess

Procesos: Terminación

Page 26: Procesos y Planificación - Sistemas Operativos

En otros sistemas (no en Windows ni en UNIX) cuando un proceso padre termina, se eliminan todos sus hijos

Procesos: Terminación

Page 27: Procesos y Planificación - Sistemas Operativos

En UNIX cuando se inicia el sistema se crea un proceso que es padre de todos:

init

A partir de él se crean todos los demás

Procesos: Jerarquía

Page 28: Procesos y Planificación - Sistemas Operativos

Como los procesos hijos de init a su vez van creando procesos hijos, se crea una estructura en forma de arbol

Procesos: Jerarquía

Page 29: Procesos y Planificación - Sistemas Operativos

Procesos: Jerarquía

Page 30: Procesos y Planificación - Sistemas Operativos

En Windows no hay un concepto de jerarquía de procesos

Todos los procesos son iguales

Procesos: Jerarquía

Page 31: Procesos y Planificación - Sistemas Operativos

La CPU solo puede ejecutar un proceso a la vez

Eso quiere decir que puede haber procesos que estén esperando para ser ejecutados y uno usando la CPU

Procesos: Estados

Page 32: Procesos y Planificación - Sistemas Operativos

Hay 3 estados básicos

1. En Ejecución

2. Listo

3. Bloqueado

Procesos: Estados

Page 33: Procesos y Planificación - Sistemas Operativos

En Ejecución

Está utilizando la CPU en este momento

Ningún otro proceso puede estar ejecutándose en ese mismo momento

Procesos: Estados

Page 34: Procesos y Planificación - Sistemas Operativos

Listo

El proceso está en condiciones de utilizar la CPU en cuanto se le dé entrada

No puede hacerlo porque hay otro proceso usando la CPU

Debe esperar a que la CPU se libere

Procesos: Estados

Page 35: Procesos y Planificación - Sistemas Operativos

Bloqueado

No puede ejecutarse aunque quisiera hasta que se cumpla determinada condición externa

por ejemplo: está esperando a que se cargue un archivo de disco

Procesos: Estados

Page 36: Procesos y Planificación - Sistemas Operativos

Procesos: Estados

Page 37: Procesos y Planificación - Sistemas Operativos

Procesos: Estados

1. El proceso se bloquea para recibir E/S

2. El planificador selecciona otro proceso

3. El planificador selecciona este proceso

4. La E/S ya está disponible

Page 38: Procesos y Planificación - Sistemas Operativos

Procesos: Transiciones

1. De en Ejecución a Bloqueado

El SO descubre que el proceso no puede seguir ejecutándose porque le está faltando algún dato

El proceso se pone en pausa (pulse una tecla para continuar)

Page 39: Procesos y Planificación - Sistemas Operativos

Procesos: Transiciones

1. De en Ejecución a Listo

El SO cree que el proceso ya se ha ejecutado suficiente tiempo

Guarda el estado del proceso y lo envía a Listo para ejecutarse

Page 40: Procesos y Planificación - Sistemas Operativos

Procesos: Transiciones

1. De Listo a en Ejecución

Vuelve a tocarle en suerte continuar ejecutándose, desplazando al anterior ocupante de la CPU

Retoma desde el punto en que había quedado

Page 41: Procesos y Planificación - Sistemas Operativos

Procesos: Transiciones

1. De Bloqueado a Listo

Cuando lo que estaba esperando llega, el proceso vuelve a estar listo para ejecutarse, pero debe ponerse en la fila a esperar su turno

Page 42: Procesos y Planificación - Sistemas Operativos

Procesos: Hilos

Se los conoce como micro-procesos

Son procesos dentro de otro

Varios hilos de procesamiento en un mismo espacio de direcciones

Page 43: Procesos y Planificación - Sistemas Operativos

Procesos: Hilos

Más ligeros y fáciles de crear y destruir que los procesos

Muy útiles en sistemas con varias CPU

Page 44: Procesos y Planificación - Sistemas Operativos

Procesos: Hilos

Por ejemplo cuando estamos escribiendo un documento largo, el procesador de texto guarda cada cierto tiempo el trabajo.

Eso no requiere de un proceso nuevo, puede utilizarse un hilo

Page 45: Procesos y Planificación - Sistemas Operativos

FELICES VACACIONES

NOS VEMOS EL 26/04

NO OLVIDEN ENVIAR POR CORREO EL TRABAJO EL DÍA 24/04

[email protected]