Llamada al sistema en el sistema operativo (OperaSistema de Control): Qué es, Tipos y Ejemplos

¿Qué es la llamada al sistema? Opera¿Sistema de tinción?

A llamada al sistema Es un mecanismo que proporciona la interfaz entre un proceso y el sistema operativo. Es un método programático en el que un programa informático solicita un servicio del núcleo del sistema operativo.

La llamada al sistema ofrece los 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 al sistema kernel.

Llamadas al sistema Operating sistema
Llamadas al sistema Operating sistema

Ejemplo de llamada al sistema

Por ejemplo, si necesitamos escribir el código de un programa para leer datos de un archivo, copiar esos datos en otro archivo. La primera información que requiere 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 algunas llamadas al sistema por parte del sistema operativo.

  • La primera llamada es escribir un mensaje de aviso en la pantalla.
  • En segundo lugar, leer desde el teclado los caracteres que definen los dos archivos.

¿Cómo funciona la llamada al sistema?

Estos son los pasos para la llamada al sistema en el sistema operativo:

La llamada al sistema funciona

Architectura de la llamada al sistema

Architectura de la llamada al sistema

Como puede ver en el diagrama de ejemplo de llamada al sistema anterior.

Paso 1) Los procesos se ejecutan en el modo de usuario hasta el momento en que una llamada al sistema lo interrumpe.

Paso 2) Después de eso, la llamada al sistema se ejecuta en modo kernel de forma prioritaria.

Paso 3) Una vez finalizada la ejecución de la llamada al sistema, el control vuelve al modo de usuario.

Paso 4) La ejecución de los procesos de usuario se reanudó en Modo kernel.

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

Las siguientes son situaciones que necesitan llamadas del sistema en el sistema operativo:

  • La lectura y escritura de archivos exigen llamadas al sistema.
  • Si un sistema de archivos quiere crear o eliminar archivos, se requieren llamadas al sistema.
  • Las llamadas al sistema se utilizan para la creación y gestión de nuevos procesos.
  • Las conexiones de red necesitan llamadas al sistema para enviar y recibir paquetes.
  • El acceso a dispositivos de hardware como escáner, impresora, necesita una llamada al sistema.

Tipos de llamadas al sistema

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

  • Control de procesos
  • Gestión de archivos
  • Gestión de dispositivos
  • Mantenimiento de la información
  • Comunicaciones
Tipos de llamadas al sistema

Tipos de llamadas al sistema en el sistema operativo

Control de procesos

Estas llamadas al sistema realizan la tarea de creación de procesos, finalización de procesos, etc.

Funciones:

  • Finalizar y cancelar
  • Cargar y ejecutar
  • Crear proceso y finalizar proceso
  • Espera y Signal Eventos
  • Asignar y liberar memoria

Gestión de archivos

Las llamadas al sistema de administración de archivos manejan trabajos de manipulación de archivos, como crear un archivo, leerlo y escribirlo, etc.

Funciones:

  • Crear un archivo
  • Borrar archivo
  • Abrir y cerrar archivo
  • Leer, escribir y reposicionar
  • Obtener y establecer atributos de archivo

Gestión de dispositivos

La administración de dispositivos realiza el trabajo de manipulación del dispositivo, como leer desde los buffers del dispositivo, escribir en los buffers del dispositivo, etc.

Funciones:

  • Dispositivo de solicitud y liberación
  • Conectar/desconectar dispositivos lógicamente
  • Obtener y configurar atributos del dispositivo

Mantenimiento de la información

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

Funciones:

  • Obtener o establecer hora y fecha
  • Obtener atributos de proceso y dispositivo

Comunicación

Estos tipos de llamadas al sistema se utilizan especialmente para comunicaciones entre procesos.

Funciones:

  • Crear, eliminar conexiones de comunicaciones.
  • Enviar, recibir mensaje
  • Ayuda al sistema operativo a transferir información de estado
  • Conectar o desconectar dispositivos remotos

Reglas para pasar parámetros para llamadas al sistema

A continuación se detallan reglas generales comunes para pasar parámetros a la llamada al sistema:

  • El sistema operativo debe insertar o extraer los parámetros de la pila.
  • Los parámetros se pueden pasar en registros.
  • Cuando hay más parámetros que registros, se deben almacenar en un bloque y la dirección del bloque se debe pasar como parámetro a un registro.

Llamadas importantes al sistema utilizadas en el sistema operativo

Espere()

En algunos sistemas, un proceso necesita esperar a que otro proceso complete su ejecución. Este tipo de situación ocurre cuando un proceso padre crea un proceso hijo y la ejecución del proceso padre permanece suspendida hasta que se ejecuta su proceso hijo.

La suspensión del proceso principal ocurre automáticamente con una llamada al sistema wait(). Cuando el proceso hijo finaliza la ejecución, el control regresa al proceso padre.

tenedor()

Los procesos utilizan esta llamada al sistema para crear procesos que son una copia de sí mismos. Con la ayuda de este sistema, llamar al proceso principal crea un proceso secundario y la ejecución del proceso principal se suspenderá hasta que se ejecute el proceso secundario.

exec ()

Esta llamada al sistema se ejecuta cuando un archivo ejecutable en el contexto de un proceso ya en ejecución reemplaza el archivo ejecutable anterior. Sin embargo, el identificador del proceso original permanece ya que no se construye un nuevo proceso, sino que la pila, los datos, el encabezado, los datos, etc. son reemplazados por el nuevo proceso.

matar()

El sistema operativo utiliza la llamada al sistema kill() para enviar una señal de terminación a un proceso que insta al proceso a salir. Sin embargo, una llamada al sistema de finalización no significa necesariamente finalizar el proceso y puede tener varios significados.

salida()

La llamada al sistema exit() se utiliza para finalizar la ejecución del programa. Especialmente en un entorno de subprocesos múltiples, esta llamada define que la ejecución del subproceso está completa. El sistema operativo recupera recursos que fueron utilizados por el proceso después del uso de la llamada al sistema exit().

Resum

Categorías Windows Unix
control de procesos CrearProceso ()
ExitProcess ()
WaitForSingleObject ()
tenedor()
salida()
Espere()
Manipulación del dispositivo Establecer modo consola()
LeerConsola()
Consola de escritura()
loctl()
leer()
escribir()
Manipulación de archivos CreateFile ()
ReadFile ()
WriteFile ()
Cerrar la manija ()
Abierto()
Leer()
escribir()
¡cerca!)
Mantenimiento de la información Obtener ID de proceso actual()
Establecer temporizador()
Dormir ()
getpid ()
alarma()
dormir ()
Comunicación CreatePipe ()
CreateFileMapping ()
VistaMapaDeArchivo()
Tubo()
shm_open ()
mmap ()
Protection Establecer seguridad de archivo()
InicializarSeguridadDescripto()
Establecer seguridadDescripto grupo ()
Mod()
máscara()
Chown()