Sintaxis
#incluirExplicación de la sintaxis
La llamada del sistema BRK () hace que el programa se rompa en la posición del segmento de datos finales. El segmento de datos final se redondea a los límites de la página siguientes ya que la memoria virtual se asigna en las unidades de página. Los intentos de reducir el valor de ruptura del programa por debajo de su valor inicial ciertamente darán como resultado un comportamiento inesperado, como una falla de segmentación al intentar acceder a los datos en partes ahora inaccesibles de los segmentos de datos inicializados o no inicializados. Varios factores determinan el límite superior exacto para donde se puede colocar la ruptura del programa.
¿Por qué usar la llamada del sistema BRK () en c?
La función BRK () se usa para modificar la cantidad de memoria asignada al proceso de la persona que llama. La modificación se realiza alterando el valor de interrupción del proceso a ADDR y proporcionando el número necesario de espacio. La función BRK () se usa para modificar la cantidad de memoria asignada al proceso de la persona que llama. A medida que aumenta el valor de descanso, también lo hace la cantidad de espacio asignado. El espacio recién asignado tiene un valor de 0 asignado. Los valores del espacio reasignado no se vacían si el programa primero disminuye y luego incrementa el valor de ruptura.
Requisitos previos
Ejemplo para explicar brk () en c
Hemos diseñado el ejemplo más simple para elaborar el concepto para usar la llamada del sistema BRK () en C. Creemos un archivo con el .Ex extensión utilizando el comando nano en el shell. Ejecute el comando adjunto a continuación en el shell:
$ nano brk1.CEn los sistemas operativos de Linux, GNU Nano es un editor de texto de línea de comandos simple. Tiene todas las características fundamentales que asumiría de un editor de texto, así como algunas más. Tras la ejecución, el archivo se abrirá en el editor GNU. Escriba el código que se muestra en su archivo con pocas enmiendas dependiendo de sus requisitos de trabajo.
En el código adjunto en la captura de pantalla anterior, el recuento de argumentos se abrevia como argc, y los valores de argumentos se abrevian como argv. Estas son las variables que se pasan a la función principal cuando comienza a ejecutarse. En tiempo de ejecución, la función SYSCONF recupera la información de configuración. sysconf con el argumento _SC PageSize es la interfaz correcta para preguntar sobre el tamaño de la página. SBRK () aumenta el espacio de almacenamiento del programa aumentando bytes. La ubicación actual de la ruptura del programa se puede encontrar llamando a sbrk () con un incremental de 0. La llamada del sistema BRK () hace que el programa se rompa en la posición del segmento de datos finales. El segmento de datos final se redondea al límite de la página siguiente porque la memoria virtual se asigna en las unidades de página.
La salida del código se puede mostrar ejecutando la instrucción citada a continuación en el Ubuntu 20.04 Terminal del sistema operativo Linux.
$ GCC BRK1.CEn caso de que el GCC no esté instalado en su Ubuntu 20.04 Sistema operativo, instálelo ejecutando el comando adjunto a continuación en el shell:
$ sudo apt install gccLa salida se muestra en el tamaño de la página de presentación de captura de pantalla atacada anteriormente, la dirección de descanso del programa, el tamaño de Char, etc.
Conclusión
Este artículo fue sobre la llamada del sistema BRK () en el lenguaje de programación C. Hemos hecho todo lo posible para explicar el concepto de llamada del sistema BRK () en el lenguaje de programación C y su uso. Uno de los ejemplos se ha explicado en detalle para su comprensión. Implementar este ejemplo con los cambios requeridos le enseñará el uso de llamadas del sistema BRK () en el lenguaje de programación C.