miércoles, 4 de marzo de 2020

LLAMADAS DEL SISTEMA


Los servicios del sistema son funciones predefinidas, que pueden ser utilizadas en los programas. Por medio de las llamadas a estos servicios es posible que exista la comunicación entre un programa en ejecución y el sistema operativo, las llamadas a servicios se encuentran en manuales de ensamblador y dependen de la arquitectura en la que se esté programando.



Cuando una llamada al sistema es invocada, la ejecución del programa que invoca es interrumpida y sus datos son guardados, en el bloque de control de proceso o PCB (Process Control Block) para poder continuar ejecutándose posteriormente.
Las categorías de las llamadas a servicios son las siguientes:

Comunicaciones:
Esta categoría consta de las acciones relacionadas con mensajes, como es crear la conexión, enviar y recibir mensajes, transferir información de estado y eliminar la conexión.

Control de proceso:
Consta de crear, cargar, ejecutar, abortar y terminar un proceso, así como obtener y establecer atributos, liberar memoria o esperar un suceso.

Manipulación de archivos:
Esta categoría consiste de crear, abrir, leer, obtener atributos, establecer atributos, cerrar y eliminar archivos.

Manipulación de información:
Acciones que requieren obtener datos del sistema, como por ejemplo la fecha y hora pertenecen a esta categoría.

Manipulación de periféricos:
Cualquier acción que requiera utilizar un periférico, como solicitar, escribir, leer, obtener y establecer atributos y liberar periférico pertenece a esta categoría.

EJEMPLO
Para utilizarlas en ensamblador es necesario cargar datos a los registros adecuados según el servicio a utilizar y después llamar a la interrupción correspondiente, como se puede ver en el siguiente ejemplo:
mov dx,82         ->           Asigna el valor 82 ASCII (Correspondiente a “R”) al registro dx
mov ah,02h      ->           Carga el valor 02h (servicio a utilizar) en el registro ah
int 21h              ->           Inicia la interrupción 21h, revisa el valor en ah y utiliza el servicio                                                                correspondiente, en este caso desplegar el carácter 
R.


Tipos de llamadas al sistema

Control de procesos
·         Terminar (end), abortar (abort)
·         cargar (load), ejecutar (execute)
·         crear procesos (create process o submit job), terminar procesos (terminate process)
·         fork: inicia un nuevo proceso
·         exec:el programa se ejecuta
·         obtener atributos del proceso (get process attributes), definir atributos del proceso (set process attributes)

Administración de archivos
·         crear archivos (create), borrar archivos (delete)
·         abrir (open), cerrar (close)
·         leer (read), escribir (write), reposicionar (reposition)
·         obtener atributos del archivo, definir atributos del archivo.


Administración de dispositivos
·         solicitar dispositivo (request), liberar dispositivo (release)
·         leer (read), escribir (write), reposicionar (reposition)
·         obtener atributos de dispositivo, definir atributos de dispositivo
·         conectar y desconectar dispositivos lógicamente.

Mantenimiento de la información
·         obtener la hora (time) o la fecha (date), definir la hora o la fecha
·         obtener datos del sistema, establecer datos del sistema
·         obtener los atributos de procesos, archivos o dispositivos
·         establecer los atributos de procesos, archivos o dispositivos

Comunicaciones
·         crear, eliminar conexiones de comunicación
·         enviar, recibir mensajes
·         transferir información de estado



No hay comentarios.:

Publicar un comentario