sbrk

BRK(2)                   Linux Programmeurs Handleiding                   BRK(2)



NAAM
       brk, sbrk - verander data segment grootte

SAMENVATTING
       #include <unistd.h>

       int brk(void *addr);
       void *sbrk(intptr_t increment);

   Test Macro´s in glibc (zie feature_test_macros(7)):

       brk(), sbrk():
           Vanaf glibc 2.19:
               _DEFAULT_SOURCE
                   || ((_XOPEN_SOURCE >= 500) &&
                       ! (_POSIX_C_SOURCE >= 200112L))
           Van glibc 2.12 tot 2.19:
               _BSD_SOURCE || _SVID_SOURCE
                   || ((_XOPEN_SOURCE >= 500) &&
                       ! (_POSIX_C_SOURCE >= 200112L))
           Voor glibc 2.12:
               _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500

BESCHRIJVING
       brk()  eb sbrk()  veranderen de locatie van het programma einde, die  het
       einde het het data segment van het proces markeert  (m.a.w., het
       programma einde is de eerste locatie ná het einde van het
       niet-geïnitialiseerde data segment).  Verhogen van het programma einde
       heeft een effect op het toekennen van geheugen aan het proces; verlagen
       van het einde geeft geheugen vrij.

       brk() zet het einde van het data segment op de waarde gegeven door addr,
       wanneer die waarde redelijk is, het systeem genoeg geheugen heeft, en het
       proces overschrijdt niet de maximale data grootte (zie setrlimit(2)).

       sbrk() vergroot de data ruimte van het programma met increment bytes.
       Aanroepen van sbrk() met een increment waarde 0 kan gebruikt worden om de
       huidige locatie van het programma einde te vinden.

EIND WAARDE
       Bij succes geeft brk() nul terug. Bij falen wordt -1 teruggegeven en
       wordt errno naar behoren gezet.

       Bij succes retourneert sbrk() het vorige programma einden. (Als het einde
       werd vergroot dan is deze waarde een wijzer naar het begin van het nieuw
       toegewezen geheugen). Bij een fout wordt  (void *) -1 teruggegeven, en
       errno wordt op ENOMEM gezet.

VOLDOET AAN
       4.3BSD; SUSv1, markeerden erfenis in SUSv2, verwijderd in POSIX.1-2001.

OPMERKINGEN
       Vermijd het gebruik van brk()  en sbrk(): het malloc(3)  geheugen toewijs
       pakket is overdraagbaar en een comfortabele manier om geheugen toe te
       wijzen.

       Verschillende systemen gebruiken verschillende typen voor het argument
       van sbrk().  Gebruikt worden int, ssize_t, ptrdiff_t, intptr_t.

   C library/kernel verschillen
       De uitvoer waarde zoals boven beschreven voor brk() is het gedrag
       voorzien door de glibc omwikkel functie voor de Linux brk() systeem
       aanroep. (In de meeste andere implementaties, is de uitvoer waarde van
       brk() hetzelfde; deze uitvoer waarde werd ook gespecificeerd in SUSv2.)
       Echter, de huidige Linux systeem aanroep retourneert een nieuw programma
       einde bij succes. Bij een fout, retourneert de systeem aanroep het
       huidige einde. De glibc omwikkel functie doet werk (m.a.w., controleert
       of het nieuwe einde kleiner is dan addr) om te voorzien in de 0 en -1
       uitvoer waarden zoals hierboven beschreven.

       Op Linux is sbrk() geïmplementeerd als een bibliotheek functie die de brk
       systeem aanroep gebruikt, en die interne administratie uitvoert zodat het
       oude einde teruggegeven kan worden.

ZIE OOK
       execve(2), getrlimit(2), end(3), malloc(3)

COLOFON
       Deze pagina is onderdeel van release 5.11 van het Linux
       man-pages-project. Een beschrijving van het project, informatie over het
       melden van bugs en de nieuwste versie van deze pagina zijn op
       https://www.kernel.org/doc/man-pages/ te vinden.


VERTALING
       De Nederlandse vertaling van deze handleiding is geschreven door Mario
       Blättermann <mario.blaettermann@gmail.com> en Luc Castermans
       <luc.castermans@gmail.com>

       Deze vertaling is vrije documentatie; lees de GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ of later over de
       Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

       Indien U fouten in de vertaling van deze handleiding zou vinden, stuur
       een e-mail naar debian-l10n-dutch@lists.debian.org ⟨⟩.



Linux                             22 maart 2021                           BRK(2)