Introducción a los procesos alfa ii

25
Título del Trabajo: Introducción a los Procesos Modelo de Procesos Implementación de Procesos Cambio de Contexto Planificación del CPU ALUMNOS: Alejandro Ordóñez - Edwin Coral - Juan Carlos Rosero - Jhony Montenegro PROFESOR: Ing. Dario Maldonado Tulcán, noviembre del 2011 UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES” TULCÁN Sistemas Operativos

description

introducción a los procesos

Transcript of Introducción a los procesos alfa ii

Page 1: Introducción a los procesos alfa ii

 Título del Trabajo:

Introducción a los ProcesosModelo de Procesos

Implementación de ProcesosCambio de ContextoPlanificación del CPU

ALUMNOS: Alejandro Ordóñez - Edwin Coral - Juan Carlos Rosero - Jhony

Montenegro 

PROFESOR: Ing. Dario Maldonado 

Tulcán, noviembre del 2011 

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES

“UNIANDES” TULCÁN Sistemas Operativos

Page 2: Introducción a los procesos alfa ii

INTRODUCCIÓN A LOS PROCESOS

Page 3: Introducción a los procesos alfa ii

INTRODUCCIÓN A LOS PROCESOSEl concepto central de cualquier Sistema

Operativo es el de PROCESO: una abstracción de un programa en ejecución también llamada tarea.

No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas:

Un programa que se está ejecutando. Una actividad asincrónica. (Asincronía:

Hace referencia al suceso que no tiene lugar en total,correspondencia temporal con otro suceso).

El emplazamiento del control de un procedimiento que está siendo ejecutado.

Aquello que se manifiesta por la existencia en el Sistema Operativo de un bloque de control de proceso.

Aquella entidad a la cual son asignados los procesadores.

La unidad despachable.

Page 4: Introducción a los procesos alfa ii

En sistemas de multiprogramación la CPU alterna de programa en programa, en un esquema de seudo paralelismo, es decir que la CPU ejecuta en cierto instante un solo programa, intercambiando muy rápidamente entre uno y otro.

El paralelismo real de hardware se da en las siguientes situaciones:  

En ejecución de instrucciones de programa con más de un procesador de instrucciones en uso simultáneamente.

Con la superposición de ejecución de instrucciones de programa con la ejecución de una o más operaciones de entrada / salida.

El objetivo es aumentar el paralelismo en la ejecución.

Page 5: Introducción a los procesos alfa ii

MODELO DE PROCESOS

Todo el software ejecutable, inclusive el Sistema Operativo, se organiza en varios procesos secuenciales o procesos.

El modelo de procesos posee las siguientes características: Un proceso incluye al programa en ejecución y a los valores

activos del contador, registros y variables del mismo. Conceptualmente cada proceso tiene su propia CPU virtual. Si la CPU alterna entre los procesos, la velocidad a la que

ejecuta un proceso no será uniforme, por lo que es necesario aclarar lo siguiente: Que los procesos no deben programarse con hipótesis implícitas

acerca del tiempo. Que normalmente la mayoría de los procesos no son afectados por la

multiprogramación subyacente de la cpu o las velocidades relativas de procesos distintos.

Un proceso es una actividad de un cierto tipo que tiene un programa, entrada, salida y estado.

Un solo procesador puede ser compartido entre varios procesos con cierto “algoritmo de planificación”, el cual determina cuándo detener el trabajo en un proceso y dar servicio a otro distinto

Page 6: Introducción a los procesos alfa ii

MODELO DE PROCESOS

Page 7: Introducción a los procesos alfa ii
Page 8: Introducción a los procesos alfa ii

JERARQUÍA DE PROCESOSEDWIN CORAL

Page 9: Introducción a los procesos alfa ii

JERARQUÍA DE PROCESOSEn cuanto a las jerarquías de procesos es necesario señalar que

los Sistemas Operativos deben disponer de una forma de crear y destruir procesos cuando se requiera durante la operación, teniendo además presente que los procesos pueden generar procesos hijos mediante llamadas al Sistema Operativo, pudiendo darse ejecución en paralelo.

Respecto de los estados del proceso deben efectuarse las siguientes consideraciones:

Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos (ver Figura 2.2).

Los procesos pueden bloquearse en su ejecución porque: Desde el punto de vista lógico no puede continuar porque espera datos

que aún no están disponibles. El Sistema Operativo asignó la CPU a otro proceso.

Los estados que puede tener un proceso son: En ejecución: utiliza la CPU en el instante dado. Listo: ejecutable, se detiene en forma temporal para que se ejecute otro

proceso. Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento

externo.

Page 10: Introducción a los procesos alfa ii

SON POSIBLES CUATRO TRANSICIONES ENTRE ESTOS ESTADOS.

Page 11: Introducción a los procesos alfa ii

IMPLANTACIÓN DE LOS PROCESOS La implementación del modelo

de procesos se logra debido a que el sistema operativo almacena en una tabla denominada tabla de control de procesos información relativa a cada proceso que se está ejecutando en el procesador. Cada línea de esta tabla representa a un proceso.

La información que se almacena es la siguiente:

1) Identificación del proceso.

2) Identificación del proceso padre.

3) Información sobre el usuario y grupo.

4) Estado del procesador.

5) Información de control de proceso

5.1) Información del planificador.

5.2) Segmentos de memoria asignados.

5.3) Recursos asignados.

Page 12: Introducción a los procesos alfa ii

CAMBIO DE CONTEXTOJhony Montenegro

Page 13: Introducción a los procesos alfa ii

CAMBIO DE CONTEXTO

Un cambio de contexto consiste en la ejecución de una rutina perteneciente al núcleo del sistema operativo multitarea de una computadora, cuyo propósito es parar la ejecución de un hilo (o proceso) para dar paso a la ejecución de otro distinto.

Page 14: Introducción a los procesos alfa ii

CAMBIO DE CONTEXTOS O PROCESOS

PCB: Bloque de Control De Proceso

Page 15: Introducción a los procesos alfa ii

MOTIVACIÓN

En principio, una computadora que dispone de un único microprocesador solamente puede ejecutar un programa al mismo tiempo. No es posible ejecutar otro programa hasta que ha finalizado el anterior.

No obstante, sería posible simular la ejecución simultánea de dos o más programas si fuera posible detener un programa en cualquier momento y reanudarlo posteriormente sin pérdida de información.

Los programas alternarían su ejecución durante cortos periodo de tiempo aparentando que se ejecutan todos a la vez. Esto se denomina ejecución concurrente.

Además, durante la ejecución de un programa existen muchos tiempos muertos donde no es necesario el uso del microprocesador. Se trata de los momentos en los que el programa está esperando a que finalice una operación de entrada/salida, por ejemplo, una lectura desde el disco duro. Estos tiempos muertos podrían aprovecharse para ejecutar otro programa.

Page 16: Introducción a los procesos alfa ii

CÓMO FUNCIONA Para hacer realidad la ejecución concurrente es necesario que el programa en

ejecución se detenga voluntariamente. Puesto que esto no va a ocurrir nunca, es imprescindible la intervención del hardware. Gracias a las interrupciones generadas por el propio ordenador, es posible expulsar el programa en ejecución para dar paso al sistema operativo. Cuando esto ocurre, el sistema operativo ejecuta inmediatamente la rutina de cambio de contexto. Esta rutina realiza las siguientes operaciones en el orden indicado:

1. Salvar el estado del programa que se estaba ejecutando. El estado, también denominado contexto, consiste en los valores de todos los registros del microprocesador. Se copian en la memoria principal.

2. Seleccionar otro programa para ejecutar. Entre todos los programas que estén preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algún algoritmo equitativo.

3. Restaurar el estado del programa seleccionado. Para ello, se toma el estado previamente copiado en la memoria principal.

4. Ejecutar el programa seleccionado. La rutina termina su ejecución saltando a la instrucción que estaba pendiente de ejecutar en el programa seleccionado.

Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence un temporizador programado en el hardware.

Page 17: Introducción a los procesos alfa ii

COMO FUNCIONA

Page 18: Introducción a los procesos alfa ii

PLANIFICACIÓN DE CPUJUAN CARLOS ROSERO

Page 19: Introducción a los procesos alfa ii

CONCEPTO La ejecución de un trabajo se compone

de ráfagas de CPU y E/S (Entrada y salida)

Objetivos perseguidos en la planificación de CPU:EquidadEficienciaBajo tiempo de respuestaRendimiento altoMinimizar el tiempo de espera

Todos estos objetivos no se pueden conseguir simultáneamente

Page 20: Introducción a los procesos alfa ii

CONCEPTO DE PLANIFICACIÓN

Programa 1 Programa 2Sistema Operativo

Salvar registros

Restaurar registros

Salvar registros

Restaurar registros

En ejecuciónInactivo

Inactivo

Inactivo

Interrupción ollamada al sistema

Interrupción ollamada al sistema

Page 21: Introducción a los procesos alfa ii

PLANIFICADORES (SCHEDULERS)

Tipos de planificadores de procesador:Planificador a largo plazo

Controla el grado de multiprogramaciónPlanificador a corto plazo

Selecciona entre los trabajos cargados en memoria y que están preparados para ejecutarse cual hará uso del procesador

El planificador a corto plazo debe ser muy rápido ya que entra en juego con una frecuencia muy alta

Planificador a medio plazo Carga y descarga trabajos desde el disco a la

memoria y de la memoria al disco en función del grado de sobrecarga del sistema.

Page 22: Introducción a los procesos alfa ii

CRITERIOS DE PLANIFICACIÓN Utilización del procesador

Maximizar el rendimiento del procesador Rendimiento (“Throughput”)

Trabajos completados por unidad de tiempo Tiempo de estancia (“Turnaround time”)

Tiempo transcurrido desde que se lanza hasta que finaliza

Tiempo de esperaPor operaciones de E/S o por la

planificación. Tiempo de respuesta

Importante en aplicaciones interactivas o de TR

Page 23: Introducción a los procesos alfa ii

PLANIFICACIÓN GARANTIZADA

Se establecen compromisos de desempeño con el proceso del usuario, por ejemplo, si existen “n” procesos en el sistema, el proceso del usuario recibirá cerca del “1 / n” de la potencia de la CPU.

El sistema debe tener un registro del tiempo de CPU que cada proceso ha tenido desde su entrada al sistema y del tiempo transcurrido desde esa entrada.

Con los datos anteriores y el registro de procesos en curso de ejecución, el sistema calcula y determina qué procesos están más alejados por defecto de la relación “1 / n” prometida y prioriza los procesos que han recibido menos CPU de la prometida.

Page 24: Introducción a los procesos alfa ii

PLANIFICACIÓN DEL PRIMERO EN ENTRAR PRIMERO EN SALIR (FIFO)

Es muy simple, los procesos se despachan de acuerdo con su tiempo de llegada a la cola de listos.

Una vez que el proceso obtiene la CPU, se ejecuta hasta terminar, ya que es una disciplina “no apropiativa”.

Puede ocasionar que procesos largos hagan esperar a procesos cortos y que procesos no importantes hagan esperar a procesos importantes.

Es más predecible que otros esquemas. No puede garantizar buenos tiempos de respuesta

interactivos. Suele utilizarse integrado a otros esquemas, por

ejemplo, de la siguiente manera: Los procesos se despachan con algún esquema de

prioridad. Los procesos con igual prioridad se despachan “FIFO”.

Page 25: Introducción a los procesos alfa ii

GRACIAS POR SU ATENCIÓN