ADMINISTRADOR DE PROCESOS

INTERRUPCIONES:

DEFINICIÓN:

Una petición de interrupción IRQ (“Interrupt Request”) es una señal que se origina en un dispositivo hardware (por ejemplo, un periférico), para indicar al procesador que algo requiere su atención inmediata;  se solicita al procesador que suspenda lo que está haciendo para atender la petición.

Una interrupción es un evento que altera la secuencia en que el procesador ejecuta las instrucciones. La interrupción es generada por el hardware del sistema de cómputo. Cuando ocurre una interrupción.

 

 

CLASES DE INTERRUPCIONES:

  Existen seis clases de interrupciones:

 

Interrupciones SVC (supervisor call, llamadas al supervisor).

Son iniciadas por un proceso en ejecución que ejecute la instrucción SVC. Una SVC es una petición generada por el usuario de un servicio particular del sistema, como realizar una operación de entrada/salida, obtener más memoria o comunicarse con el operador del sistema. El mecanismo de las SVC ayuda a proteger el sistema operativo de las acciones de los usuarios. Un usuario no puede entrar arbitrariamente al sistema operativo, sino que debe solicitar un servicio por medio de una SVC. El sistema operativo está al tanto de todos los usuarios que intentan rebasar sus limites y puede rechazar ciertas peticiones si el usuario no tiene los privilegios necesarios.

 

Interrupciones de E/S. 

  Son iniciadas por hardware de entrada y salida. Estas interrupciones indican a la UCP el cambio de estado de un canal o dispositivo. Las interrupciones de E/S se producen cuando finaliza una operación de E/S o cuando un dispositivo pasa al estado listo.

 

Interrupciones externas.

  Son causadas por diversos eventos, incluyendo la expiración de un cuanto de un reloj que interrumpe, la pulsación de la tecla de interrupción de la consola o la recepción de una señal procedente de otro procesador en un sistema de múltiples procesadores.

 

Interrupciones de Reinicio.

  Se produce cuando se presiona el botón de reinicio de la PC o cuando llega de otro procesador una instrucción de reinicio en un sistema de multiprocesamiento

 

Interrupciones de verificación del programa.

  Son causadas por una amplia clase de problemas que pueden ocurrir cuando se ejecutan las instrucciones en lenguaje máquina de un programa. Dichos problemas incluyen la división entre cero, el exceso o defecto de los números que pueden ser manejados por las operaciones aritmeticas, el intento de hacer referencia a una localidad de memoria que esté fuera de los límites de la memoria real. Muchos sistemas ofrecen a los usuarios la opción de especificar las rutinas que deben ejecutarse cuando ocurra una interrupción de verificación del programa.

 

Interrupciones de verificación de la máquina.

Son ocasionadas por el mal funcionamiento del hardware.

 

 

CAMBIO DE CONTEXTO: 

 

Cuando el CPU es “switcheado” de un proceso a otro se requiere salvar el estado del proceso viejo y cargar el estado salvado del proceso nuevo. Esto es conocido como cambio de contexto y es puramente overhead, pues el sistema no hace ningún trabajo útil mientras se realiza tal tarea.

 

Un cambio de contexto siempre se ejecuta ante una interrupción ya sea de software o hardware. Un cambio de contexto no necesariamente implica un cambio de proceso.

 

Un cambio de proceso puede producirse en cualquier momento en que el sistema de operación haya tomado el control a partir del proceso que está actualmente ejecutándose

 

Pasos que se ejecutan durante el cambio de contexto que implica un cambio de proceso:

 

El Hardware:

Guarda algunos registros en el stack, como el pc y el sp (stack pointer).

Coloca en el pc del CPU la dirección del servicio de interrupción

 El procesador, al continuar con el ciclo de lectura de instrucción, trae la primera instrucción del servicio de interrupción encargada de atender dicha interrupción.

Lenguaje Ensamblador (del servico de interrupción):

Coloca el bit a modo monitor e inhabilita las Interrupciones

Salva el estado del proceso (los registros de CPU y la información del stack) en la tabla de procesos del proceso interrumpido. Esto implica cambiar el estado del proceso a alguno de los otros estados.

Remueve la información del stack

Coloca el sp (stack pointer) del CPU al stack temporal manejado por el servicio de interrupción.

Llama a un procedimiento en C.

Procedimiento en C:

Mueve el PCB del proceso a la cola apropiada

Realiza el trabajo correspondiente. Si fue una int de E/S, despierta al proceso (waiting ==> ready).

Llama al despachador (Scheduling). Esto es seleccionar otro proceso para ejecución.

Llama al despachador

Despachador (lenguaje ensamblador):

Carga en CPU los registros y mapa de memoria del primer proceso en la cola ready.

Habilita las interrupciones

 

Cuando ocurre una interrupción que sólo genera un cambio de contexto más no un cambio de proceso, todo lo que se debe hacer es salvar la información de estado del procesador cuando se produzca la interrupción y restaurar dicha información cuando el control vuelva al programa que estaba en ejecución. Las funciones de salvar y restaurar suelen llevarse acabo en el hardware.

 

 

PLANIFICACIÓN DE PROCESOS:

 

DEFINICIÓN:

Podemos definir a la planificación como un conjunto de políticas y mecanismos incorporados al sistema operativo, a través de un módulo denominado planificador, que debe decidir cuál de los procesos en condiciones de ser ejecutado conviene ser despachado primero y qué orden de ejecución debe seguirse. Esto debe realizarse sin perder de vista su principal objetivo que consiste en el máximo aprovechamiento del sistema, lo que implica proveer un buen servicio a los procesos existentes en un momento dado.

 

Un “buen” servicio podría traducirse en tiempo de respuesta aceptable, productividad y eficiencia del procesador.

 

OBJETIVOS Y FUNCIONES DE LA

PLANIFICACIÓN:

 OBJETIVOS:

–          Los objetivos de la planificación de proceso son:

–          Equidad, todos los procesos deben poder ejecutarse

–          Eficacia, mantener ocupada la CPU un 100% del tiempo

–          Tiempo de respuesta, minimizar el tiempo de respuesta al usuario

–          Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados

–          Rendimiento, maximizar el número de tareas procesadas por hora.

 

 

EL NÚCLEO DEL SISTEMA OPERATIVO (FUNCIONES):

El “núcleo” del Sistema Operativo controla todas las operaciones que implican procesos y representa solo una pequeña porción del código de todo el Sistema Operativo pero es de amplio uso.

Generalmente permanece en el almacenamiento primario.

El proceso de interrupciones se incluye en el núcleo ya que debe ser rápido (especialmente en sistemas multiusuario), para optimizar el uso de los recursos del sistema y proveer tiempos de respuesta aceptables a los usuarios interactivos.

El núcleo inhabilita las interrupciones mientras responde a una interrupción. Las interrupciones son habilitadas de nuevo después de completar el proceso de una interrupción.

 

El núcleo del Sistema Operativo generalmente realiza las siguientes funciones:

  • Manipulación de interrupciones.
  • Creación y destrucción de procesos.
  • Cambio de estados de procesos.
  • Despacho.
  • Suspensión y reanudación de procesos.
  • Sincronización de procesos.
  • Comunicación entre procesos.
  • Manipulación de bloques de control de proceso.
  • Soporte de las actividades de Entrada / Salida.
  • Soporte de la asignación y desasignación de almacenamiento.
  • Soporte del sistema de archivos.
  • Soporte de un mecanismo de llamada / regreso al procedimiento.
  • Soporte de ciertas funciones contables (estadísticas) del sistema.

 

 

CRITERIOS A CONSIDERAR:

 

Los principales “criterios” respecto de un buen algoritmo de planificación  son la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento  

CRITERIO

DESCRIPCIÓN

Equidad

Garantizar que cada proceso obtiene su proporción justa de la cpu

Eficacia

Mantener ocupada la cpu el ciento por ciento del tiempo

Tiempo de respuesta

Minimizar el tiempo de respuesta para los usuarios interactivos

Tiempo de regreso 

Minimizar el tiempo que deben esperar los usuarios por lotes (batch) para obtener sus resultados

Rendimiento

Maximizar el número de tareas procesadas por hora

CRITERIOS DE UN BUEN ALGORITMO DE PLANIFICACIÓN.

Algunas de estas metas son contradictorias, por ejemplo, minimizar el tiempo de respuesta para los usuarios interactivos significaría no ejecutar las tareas batch.

Cada proceso es único e impredecible, es decir que pueden requerir intensivamente operaciones de Entrada / Salida o intensivamente cpu; el planificador del Sistema Operativo no tiene la certeza de cuánto tiempo transcurrirá hasta que un proceso se bloquee, ya sea por una operación de Entrada / Salida o por otra razón.

Para evitar que un proceso se apropie de la cpu un tiempo excesivo, los equipos poseen un dispositivo que provoca una interrupción en forma periódica, por ejemplo 60 hz, o sea sesenta veces por segundo.

En cada interrupción del reloj el Sistema Operativo decide si el proceso que se está ejecutando continúa o si el proceso agotó su tiempo de cpu y debe suspenderse y ceder la cpu a otro proceso.

 

PLANIFICACIÓN APROPIATIVA Y NO APROPIATIVA:

 

Los principales conceptos relacionados con Planificación del Procesador son los siguientes:   

Planificación Apropiativa: Es la estrategia de permitir que procesos ejecutables (desde el punto de vista lógico) sean suspendidos temporalmente.

Planificación no Apropiativa: Es la estrategia de permitir la ejecución de un proceso hasta terminar.

Planificación del Procesador: Determinar cuándo deben asignarse los procesadores y a qué procesos, lo cual es responsabilidad del Sistema Operativo.

 

Una manera muy frecuente de categorizar los criterios de planificación es distinguiendo entre criterios orientados al usuario y orientados al sistema. Los primeros se relacionan con el comportamiento del sistema percibido por el usuario individual. Los segundos se enfocan sobre el uso efectivo y eficiente del procesador. Teniendo en cuenta lo anterior, clasificar los criterios dados en clase.

 

Leonardo Aldana Tello.

LIN 1675.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: