llamadas al sistema de gestión de archivos de programación C.

En este artículo, vamos a aprender acerca de las llamadas del del sistema para la gestión de archivos en UNIX / LINUX sistema y la aplicación de las llamadas sistemas operativos .

La llamada al sistema es una manera para que los programas puedan interactuar con el sistema operativo. Cuando el programa hace una llamada al sistema en ese momento se realiza una solicitud al núcleo del sistema operativo.

Hay 5 categorías diferentes de llamadas al sistema :

  1. Control de Procesos
  2. Administración de archivos
  3. Device Management
  4. Gestión de la Información
  5. Comunicación

Aquí, discutiremos acerca de las llamadas al sistema para la gestión de archivos en el sistema Unix ,

Hay cuatro llamadas de sistema para la gestión de archivos ,

  1. abierta ()
  2. leer ()
  3. escritura ()
  4. close ()

1. abierta ()

abierta () llamada al sistema se utiliza para conocer el descriptor de archivo de los archivos creados por el usuario. Desde descriptor de lectura y escritura de archivos utilización como su primera parámetro para conocer la llamada al sistema descriptor de fichero abierto () se utiliza.

Sintaxis:

    fd = open (file_name, mode, permission);
Example:
fd = open ("file", O_CREAT | O_RDWR, 0777);

Aquí,

  • nombre_archivo es el nombre de archivo que desea abrir. Modo
  • se utiliza para definir los modos de apertura de archivos, como crear, leer, los modos de escritura.
  • permiso se utiliza para definir los permisos de archivo.

Return valor: función devuelve el descriptor de archivo.

2. lectura ()

leer () llamada al sistema se utiliza para leer el contenido del archivo. También se puede utilizar para leer la entrada desde el teclado especificando el 0 como descriptor de archivo (ver en el programa dado a continuación).

Sintaxis:

    length = read(file_descriptor , buffer, max_len);
Example:
n = read(0, buff, 50);

Aquí,

  • file_descriptor es el descriptor de archivo del archivo.
  • tampón es el nombre de la memoria intermedia en las que se almacenan los datos.
  • max_len es el número que especifica la cantidad máxima de que los datos se pueden leer

Return valor: If exitosas lectura devuelve el número de bytes realmente leídos.

3. escritura ()

escritura () llamada al sistema se utiliza para escribir el contenido del archivo.

Sintaxis:

    length = write(file_descriptor , buffer, len);
Example:
n = write(fd, "Hello world!", 12);

Aquí,

  • file_descriptor es el descriptor de archivo del archivo.
  • búfer es el nombre de la memoria intermedia que se almacenará.
  • len es la longitud de los datos a escribir.

Return valor: If escritura exitosa () devuelve el número de bytes realmente escrito.

4. close ()

close () llamada al sistema se utiliza para cerrar el archivo abierto, se le indica al sistema operativo que haya terminado con el archivo y cierre el archivo.

Sintaxis:

    int close(int fd);

Aquí,

  • fd es el descriptor de archivo del archivo que se cierre.

Return valor: If archivo cerrado con éxito devuelve 0, else devuelve -1.

código C para demostrar ejemplo de las llamadas del sistema

#include<unistd.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<stdio.h>
int main()
{
int n,fd;
char buff[50]; // declaring buffer
//message printing on the display
printf("Enter text to write in the file:n");
//read from keyboard, specifying 0 as fd for std input device
//Here, n stores the number of characters
n= read(0, buff, 50);
// creating a new file using open.
fd=open("file",O_CREAT | O_RDWR, 0777);
//writting input data to file (fd)
write(fd, buff, n);
//Write to display (1 is standard fd for output device)
write(1, buff, n);
//closing the file
int close(int fd);
return 0;
}

salida

Enter text to write in the file:
Hello world, welcome @ IncludeHelp
Hello world, welcome @ IncludeHelp


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *