Sintaxe
#incluirExplicação da sintaxe
A chamada do sistema Brk () faz com que o programa seja interrompido na posição do segmento de dados finais. O segmento de dados final é arredondado para os próximos limites da página, já que a memória virtual é alocada nas unidades de página. As tentativas de diminuir o valor de quebra do programa abaixo de seu valor inicial certamente resultarão em comportamento inesperado, como uma falha de segmentação ao tentar acessar dados em partes agora inacessíveis dos segmentos de dados inicializados ou não iniciados. Vários fatores determinam o limite superior exato para onde a quebra do programa pode ser colocada.
Por que usar o sistema BRK () em C em C
A função Brk () é usada para modificar a quantidade de memória alocada ao processo de chamadas. A modificação é feita alterando o valor de quebra do processo para adicionar e fornecer o número necessário de espaço. A função Brk () é usada para modificar a quantidade de memória alocada ao processo de chamadas. À medida que o valor de quebra aumenta, a quantidade também aumenta. O espaço recém -alocado tem um valor de 0 atribuído a ele. Os valores do espaço realocado não são esvaziados se o programa primeiro diminui e depois incrementar o valor de quebra.
Pré-requisitos
Exemplo para explicar Brk () em C
Projetamos o exemplo mais simples para elaborar o conceito para usar o sistema Brk () System em C. Vamos criar um arquivo com o .c extensão usando o comando nano no shell. Execute o comando abaixo anexado no shell:
$ nano BRK1.cNos sistemas operacionais Linux, GNU Nano é um editor de texto simples da linha de comando. Ele tem todos os recursos fundamentais que você assumiria de um editor de texto, bem como mais alguns. Após a execução, o arquivo será aberto no editor da GNU. Escreva o código exibido em seu arquivo com poucas alterações, dependendo dos seus requisitos de trabalho.
No código anexado na captura de tela acima, a contagem de argumentos é abreviada como ARGC, e os valores dos argumentos são abreviados como argv. Essas são as variáveis que são passadas para a função principal quando começa a correr. Em tempo de execução, a função Sysconf recupera informações de configuração. sysconf com o argumento _sc PageSize é a interface correta para perguntar sobre o tamanho da página. SBRK () aumenta o espaço de armazenamento do programa aumentando bytes. O local atual do intervalo do programa pode ser encontrado chamando SBRK () com um incremental de 0. A chamada do sistema Brk () faz com que o programa seja interrompido na posição do segmento de dados finais. O segmento de dados final é arredondado para o próximo limite da página porque a memória virtual é atribuída em unidades de página.
A saída do código pode ser exibida executando a instrução citada abaixo no Ubuntu 20.04 Terminal do sistema operacional Linux.
$ GCC BRK1.cCaso o GCC não esteja instalado no seu Ubuntu 20.04 Sistema operacional, instale -o executando o comando Anexado abaixo no shell:
$ sudo apt install gccA saída é exibida na captura de tela acima mencionada, apresentando tamanho da página, endereço de quebra do programa, tamanho de char, etc.
Conclusão
Este artigo foi sobre o sistema Brk () System na linguagem de programação C. Tentamos o nosso melhor para explicar o conceito de chamadas do sistema Brk () na linguagem de programação C e seu uso. Um dos exemplos foi explicado em detalhes para o seu entendimento. A implementação deste exemplo com as alterações necessárias ensinará o sistema BRK () chama o uso na linguagem de programação C C.