Las llamadas al sistema comúnmente usan
una instrucción especial de la CPU que causa que el procesador transfiera el
control a un código privilegiado. Previamente especificado por el mismo código.
Esto permite al código privilegiado especificar donde va a ser conectado así
como el estado del procesador.
Cuando una llamada al sistema es
invocada, la ejecución del programa que invoca es interrumpida y sus datos son
guardados, normalmente en su PCB (Bloque de Control de Proceso del inglés
Process Control Block), para poder continuar ejecutándose luego. El procesador
entonces comienza a ejecutar las instrucciones de código de alto nivel de
privilegio, para realizar la tarea requerida. Cuando esta finaliza, se retorna
al proceso original, y continúa su ejecución. El retorno al proceso demandante
no obligatoriamente es inmediato, depende del tiempo de ejecución de la llamada
al sistema y del algoritmo de planificación de CPU.
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.
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 lenguaje 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 o más programas.
Las llamadas del sistema para el gestor
de recursos, proporcionan servicios para la asignación, reserva y reclamación
de los recursos del sistema. Por ejemplo, existen llamadas del sistema para
extender o reducir la cantidad de memoria poseída por el programa que se llama.
Las llamadas del sistema pueden asignar o reservar otros tipos de objetos del
sistema y después destruir o devolver su custodia al sistema operativo.
Las llamadas al sistema se pueden agrupar en cinco
categorías :
1. Control de
proceso (Crear, cargar, ejecutar un proceso, obtener y establecer
atributos, esperar un suceso, liberar memoria, abortar y terminar proceso).
2. Manipulación
de archivos (Crear, abrir, leer, obtener y establecer atributos,
cerrar y eliminar archivos).
3. Manipulación de
periféricos (Solicitar, escribir, leer, obtener y establecer atributos,
liberar periférico).
4. Manipulación de la
información (Obtener fecha y hora, establecer fecha y
hora, obtener y establecer datos del sistema, obtener y establecer atributos).
5. Comunicaciones (Crear
conexión, enviar mensajes, recibir mensajes, transferir información
del estado y eliminar conexión.
No hay comentarios:
Publicar un comentario