Anzeige
Anzeige

Más contenido relacionado

Anzeige
Anzeige

Introducción a los procesos alfa ii

  1. UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES” TULCÁN Sistemas Operativos 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
  2. El 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.
  3. 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.
  4. 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
  5. En 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.
  6. 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.
  7. Jhony Montenegro
  8.  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.
  9. PCB: Bloque de Control De Proceso
  10. 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.
  11. 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.
  12.  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:  Equidad  Eficiencia  Bajo tiempo de respuesta  Rendimiento alto  Minimizar el tiempo de espera  Todosestos objetivos no se pueden conseguir simultáneamente
  13. Programa 1 Sistema Operativo Programa 2 Salvar registros Inactivo Interrupción o llamada al sistema Restaurar registros Inactivo En ejecución Salvar registros Interrupción o llamada al sistema Restaurar registros Inactivo
  14.  Tipos de planificadores de procesador:  Planificador a largo plazo  Controla el grado de multiprogramación  Planificador 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.
  15.  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 espera  Por operaciones de E/S o por la planificación.  Tiempo de respuesta  Importante en aplicaciones interactivas o de TR
  16.  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.
  17. 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”.
Anzeige