Post on 13-Jun-2015
description
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