In computer programming, the block starting symbol (abbreviated to .bss or bss) is the portion of an object file, executable, or assembly language code that contains statically allocated variables that are declared but have not been assigned a value yet.
[1] In embedded software, the bss segment is mapped into memory that is initialized to zero by the C run-time system before main() is entered.
[2] On some computer architectures, the application binary interface also supports an sbss segment for "small data".
[8] In this situation BSS served as a shorthand in place of individually reserving a number of separate smaller data locations.
An implementation may also assign statically-allocated variables and constants initialized with a value consisting solely of zero-valued bits to the BSS section.