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.
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