Llamadas al sistema.

xxxPara poder controlar un archivo y los dispositivos, usando un pequeño número de funciones. Dichas funciones se conocen como llamadas al sistema y las proporciona UNIX (y Linux) directamente, siendo la interfaz del propio sistema operativo.

xxxEn el corazón del sistema operativo, el kernel, se encuentra varios controladores de dispositivos. Son una coleccion de interfaces de bajo nivel para controlar el hardware del sistema. Por ejemplo, habrá un controlador de dispositivo para una unidad de disco duro, que sabe leerlo, escribir, acceder a los datos, escribiendo números enteros de sectores del disco de una vez, pero es capaz de acceder al bloque de disco deseado directamente, ya que el disco duro es un dispositivo de acceso aleatorio.

xxxPara proporcionar una interfaz similar, los controladores de dispositivos comprenden todas las prestaciones que dependen del hardware. Estas prestaciones del hardware suelen estar disponibles a través de la llamada al sistema ioctl (para el control E/S).

xxxLos archivos de dispositivos en /dev se usan del mismo modo. Se pueden abrir, leer, escribir y cerrar. Por ejemplo, la misma llamada open usada para acceder a un archivo regular se usa para acceder a la terminal de usuario, a la impresora o a una unidad de disco duro.

xxxEntre las funciones de bajo nivel que se usa para acceder a los controladores de dispositivos, llamadas al sistema, se incluyen:

  • open.- Abre un archivo o un dispositivo.
  • read.- Lee un archivo abierto o un dispositivo.
  • write.- Escribe en un archivo o en un dispositivo.
  • close.- Cierra el archivo o el dispositivo.
  • ioctl.- Transmite información de control a un controlador de dispositivo.

xxxLa llamada al sistema ioctl se usa para proporcionar el control específico al hardware que sea necesario (al contrario que las entradas y salidas regulares), de manera que su uso varia dependiendo del dispositivo. Por ejemplo, una llamada a ioctl se puede usar para rebobinar una unidad de cinta o para establecer las características del control de flujo de un puerto en serie. Por esta razón, ioctl no es obligatoriamente transferible de un ordenador a otro. Además, cada controlador define su propio conjunto de comandos ioctl.

xxxEstas y otras llamadas al sistema suelen comentarse en la segunda sección de los manuales. Los archivos incluidos contienen los prototipos que proporcionan las listas de parámetros y los tipos de opciones de retorno para los sistemas de llamadas, así como las constantes #defines asociadas. Con cada descripción de las llamadas se incluirán las que requiere en particular cada sistema.

atras

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.