jueves, 29 de agosto de 2013

conceptos de interrupciones y llamadas a servicios de sistema



CONCEPTO DE INTERRUPCIONES

Una interrupción es una operación del hardware que indica a la CPU que detenga la ejecución
de lo que estaba haciendo, conserva la situación del proceso y envía a la CPU a una dirección determinada en la que tiene un programa de control de interrupción o de servicio de interrupciones.

CAUSAS DE INTERRUPCIONES

* Error de máquina detectado

* Error de programa

* Interrupción externa (el operador pide una determinada función)

* Interrupción de entrada/salida (el dispositivo de E/S pide atención o hace una indicación de que ha iniciado una operación)

* Llamada al supervisor por el programa

TIPOS DE INTERRUPCIONES

(1) Interrupción por errores o por daños en la máquina => fallo en la alimentación eléctrica; error de paridad en memoria.

(2) Interrupción por causa del programa (o desvío) => instrucción o dirección incorrecta; operaciones imposibles; desbordamiento de capacidad; división por cero, etc; intentos de ejecución de instrucciones o de escritura en memoria no permitidos por el estado de la máquina.

(3) Interrupción por entrada/salida => generada por el canal para avisar fin de una operación E/S o de una falla ocurrida en el transcurso de E/S.

(4) Interrupción externa => utilizada para avisar a la máquina acerca de cualquier modificación interesante del medio exterior, especialmente en control de procesos industriales.

(5) Interrupción de recuento => para contar impulsos procedentes de un reloj.




LLAMADAS A SERVICIOS DE SISTEMA



Las llamadas son peticiones a ejecución de rutinas y proporcionan la interfaz entre el sistema operativo y un programa en ejecución. Estas llamadas son instrucciones de lenguaje ensamblador y se presentan en los manuales que emplean los programadores de este lenguaje. Algunos sistemas permiten efectuar llamadas al sistema directamente desde un programa realizado en el lenguaje de mayor nivel, normalmente estas llamadas se asemejan a una función o sub-rutinas predefinidas, que generan una llamada a una ruta en especial de tiempo de ejecución, que realice efectivamente la llamada al sistema, o bien pueden generarla directamente en la línea.




Las llamadas al sistema para ejecución y el control de programas, usualmente incluyen un conjunto completo de los servicios accesibles por la vía del lenguajes de órdenes, tales como: RUN, EXECUTE, ABORT y planificación relacionada con el tiempo, además los usuarios con las llamadas del sistema pueden suspender, establecer o cambiar atributos del tiempo de ejecución de uno ó más programas. También se proporcionan algunas facilidades muy extendidas en sistemas de tiempo real, para comunicación entre programas y sincronización. Por ejemplo los programas pueden cambiar datos y señales de tiempo para sincronizar su ejecución con ciertos sucesos.



No hay comentarios:

Publicar un comentario