While I know what the Unix system call brk
and function sbrk
do, I have no idea what they stand for. Can anyone enlighten me?
2 Answers
It comes from "break value".
I quote: "The change is made by resetting the process's break value and allocating the appropriate amount of space. The break value is the address of the first location beyond the end of the data segment."

- 1,499
- 12
- 24
-
4come on ! "brk" is break indeed, now you still miss the "s". You're doing a cliffhanger here. – v.oddou Jun 16 '14 at 04:04
-
If I had to wager a guess it would be that the "s" in `sbrk` stands for "space", because its argument adds (or removes) `
` *space* to the heap. – Iguananaut Jul 31 '14 at 19:14 -
@Iguananaut: S could also be Successor function, which is the math version of increment. – Joshua May 02 '20 at 18:14
-
Or the 's' could stand for "shift" as in "shift the break" with a negative amount to decrement or shift with a positive amount to increment. – Richard Chambers Feb 24 '23 at 21:41
Just read the man page:
brk() and sbrk() change the location of the program break, which defines the end of the process's data segment (i.e., the program break is the first location after the end of the uninitialized data segment). Increasing the program break has the effect of allocating memory to the process; decreasing the break deallocates memory.
brk() sets the end of the data segment to the value specified by addr, when that value is reasonable, the system has enough memory, and the process does not exceed its maximum data size (see setrlimit(2)).
sbrk() increments the program's data space by increment bytes. Calling sbrk() with an increment of 0 can be used to find the current location of the program break.

- 2,537
- 27
- 33