cuarta clase - procesos primera parte

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

Upload: pablo-macon

Post on 23-Jun-2015

341 views

Category:

Education


2 download

DESCRIPTION

Presentación de Procesos utilizada el 12/04

TRANSCRIPT

Page 1: Cuarta clase - Procesos Primera Parte

{

PROCESOS I Sistemas Operativos II

Prof. Pablo Macónhttp://soii-its.blogspot.com/

Page 2: Cuarta clase - Procesos Primera Parte

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

Procesos

Page 3: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

Cocinero Procesador Receta Programa (algoritmo)

Ingredientes Datos de entrada

Procesos

Page 5: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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

Procesos

Page 9: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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

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

Definición

Page 11: Cuarta clase - Procesos Primera Parte

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 memoriaProcesos:

Principios

Page 12: Cuarta clase - Procesos Primera Parte

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ápidaProcesos:

Principios

Page 13: Cuarta clase - Procesos Primera Parte

Procesos: Principios

Page 14: Cuarta clase - Procesos Primera Parte

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 medidasProcesos:

Principios

Page 15: Cuarta clase - Procesos Primera Parte

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 momentoProcesos: Creación

Page 16: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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

Procesos: Creación

Page 19: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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

Procesos: Creación

Page 21: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

Puede darse por Salida normal (voluntaria) Salida por error (voluntaria) Error Fatal (involuntaria) Eliminado por otro proceso

(involuntaria)Procesos: Terminación

Page 23: Cuarta clase - Procesos Primera Parte

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

Terminación

Page 24: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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

Procesos: Terminación

Page 27: Cuarta clase - Procesos Primera Parte

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ásProcesos:

Jerarquía

Page 28: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

Procesos: Jerarquía

Page 30: Cuarta clase - Procesos Primera Parte

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

Todos los procesos son igualesProcesos: Jerarquía

Page 31: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

Hay 3 estados básicos1. En Ejecución2. Listo3. Bloqueado

Procesos: Estados

Page 33: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

Procesos: Estados

Page 37: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

Procesos: Hilos

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

Muy útiles en sistemas con varias CPU

Page 44: Cuarta clase - Procesos Primera Parte

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: Cuarta clase - Procesos Primera Parte

FELICES VACACIONESNOS VEMOS EL 26/04NO OLVIDEN ENVIAR POR CORREO EL TRABAJO EL DÍA 24/04

[email protected]