Introducción a los procesos alfa ii

Post on 13-Jun-2015

435 views 4 download

description

introducción a los procesos

Transcript of 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

INTRODUCCIÓN A LOS PROCESOS

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.

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.

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

MODELO DE PROCESOS

JERARQUÍA DE PROCESOSEDWIN CORAL

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.

SON POSIBLES CUATRO TRANSICIONES ENTRE ESTOS ESTADOS.

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.

CAMBIO DE CONTEXTOJhony Montenegro

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.

CAMBIO DE CONTEXTOS O PROCESOS

PCB: Bloque de Control De Proceso

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.

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.

COMO FUNCIONA

PLANIFICACIÓN DE CPUJUAN CARLOS ROSERO

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

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

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.

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

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.

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”.

GRACIAS POR SU ATENCIÓN