Saltar al contenido

Llamada al sistema en SO: tipos y ejemplos

¿Qué es una llamada al sistema en el sistema operativo?

UNA. llamada al sistema es un mecanismo que proporciona la interfaz entre un proceso y el sistema operativo. Es un método de programación en el que un programa de computadora solicita el servicio del kernel del sistema operativo.

La llamada al sistema proporciona servicios del sistema operativo a los programas de usuario a través de API (interfaz de programación de aplicaciones). Las llamadas al sistema son los únicos puntos de entrada para el sistema del núcleo.

En este tutorial sobre el sistema operativo, aprenderá:

Llamadas al sistema en el sistema operativo

Ejemplo de una llamada al sistema

Por ejemplo, si necesitamos escribir código de programa para leer datos de un archivo, copie esos datos en otro archivo. La primera información requerida por el programa es el nombre de los dos archivos, los archivos de entrada y salida.

En un sistema interactivo, este tipo de ejecución de programa requiere varias llamadas al sistema desde el sistema operativo.

¿Cómo funcionan los sistemas de llamadas?

Estos son los pasos para los sistemas de llamadas:

Arquitectura de llamadas al sistema

Como puede ver en el diagrama de arriba.

Paso 1) Los procesos realizados en modo usuario hasta el momento requerido por un sistema.

Paso 2) A continuación, la llamada al sistema se ejecuta en modo kernel de forma prioritaria.

Paso 3) Cuando finaliza la ejecución de la llamada al sistema, el control vuelve al modo de usuario.

Paso 4) Los procesos de usuario se han restaurado en modo Kernel.

¿Por qué necesita llamadas al sistema en el sistema operativo?

Las siguientes son situaciones que requieren llamadas al sistema en el sistema operativo:

Tipos de llamadas al sistema

Estos son los cinco tipos de llamadas al sistema que se utilizan en el sistema operativo:

Control de procesos

Las llamadas de este sistema realizan la tarea de creación de procesos, terminación de procesos, etc.

Funciones:

Gestión de archivos

Las llamadas al sistema de administración de archivos manejan tareas de manipulación de archivos como creación, lectura y escritura de archivos, etc.

Funciones:

Gestión de dispositivos

La administración de dispositivos hace el trabajo de manipular dispositivos como leer desde búfer de dispositivo, escribir en búfer de dispositivo, etc.

Funciones

Mantenimiento de información

Maneja y transfiere información entre el sistema operativo y el programa de usuario.

Funciones:

Comunicación:

Estos tipos de llamadas al sistema se utilizan especialmente para la comunicación entre procesos.

Funciones:

Reglas para pasar parámetros para llamadas al sistema

A continuación, se muestran algunas reglas generales para reenviar parámetros a la llamada del sistema:

Llamadas importantes al sistema utilizadas en el sistema operativo

ventilador ()

En algunos sistemas, un proceso debe esperar a que otro proceso complete su ejecución. Este tipo de situación ocurre cuando un proceso de crianza crea el proceso de un niño, y la ejecución del proceso de crianza permanece suspendida hasta que el proceso de su hijo opera.

La suspensión del proceso de crianza se produce automáticamente con una llamada al sistema en espera (). Cuando el proceso del niño finaliza su ejecución, el control vuelve al proceso de crianza.

tenedor ()

Los procesos utilizan esta llamada al sistema para crear procesos que son una copia de sí mismos. Con la ayuda de este sistema, el proceso de llamada de los padres crea un proceso hijo y la ejecución del proceso parental se suspende hasta que se activa el proceso hijo.

ejecutivo ()

Esta llamada al sistema se ejecuta cuando se ejecuta un archivo ejecutable en el contexto de un proceso que ya se está ejecutando y reemplaza el archivo ejecutable anterior. Sin embargo, el identificador de proceso original permanece ya que no se crea un nuevo proceso, pero el nuevo proceso se reemplaza por apilamiento, datos, cabeza, datos, etc.

matar ():

El sistema operativo usa la llamada al sistema kill () para enviar una señal de terminación a un proceso que ocupa el proceso de salida. Sin embargo, una llamada al sistema de matanza no significa necesariamente el proceso y puede tener diferentes significados.

la salida ():

La llamada al sistema de salida () se utiliza para finalizar la ejecución del programa. Especialmente en el entorno de subprocesos múltiples, esta llamada define la ejecución del subproceso completado. El sistema operativo reutiliza los recursos utilizados por el proceso después de utilizar la llamada al sistema de salida ().

Resumen:

CategoriasVentanas Unix
Control de procesosCreateProcess () ExitProcess () WaitForSingleObject ()tenedor () salida () espera ()
Manipulación de dispositivosSetConsoleMode () ReadConsole () WriteConsole ()loctl () leer () escribir ()
Manipulación de archivosCreateFile () ReadFile () WriteFile () CloseHandle ()Abrir () Leer () escribir () cerrar!)
Mantenimiento de la informaciónGetCurrentProcessID () SetTimer () Sleep ()getpid () alarma () dormir ()
ComunicaciónCreatePipe () CreateFileMapping () MapViewOfFile ()Tubería () shm_open () mmap ()
ProteccionSetFileSecurity () InitlializeSecurityDescriptor () SetSecurityDescriptorGroup ()Chmod () Umask () Chown ()