Почему сегмент BSS по умолчанию равен 16?

Насколько мне известно, сегментация для программы c:

        High address
|---------------------------|
|env/cmd line args vars     |
|---------------------------|
|      stack segment        |--> uninitialized auto vars
|---------------------------|
|---------------------------|
|---------------------------|
|      heap segment         |--> dynamic allocated memory
|---------------------------|
|      BSS segment          |--> uninitialized static/global vars
|---------------------------|
|      data segment         |--> initialized static/global vars
|---------------------------|
|      text segment         |--> initialized auto vars/exec instructions
|---------------------------|
        Low address

На моей RHEL 5.4 64-битной машине, для ниже c программы

#include <stdio.h>
int main()
{
}

когда я делаю:

# size a.out
   text    data     bss     dec     hex filename
   1259     540      16    1815     717 a.out

Я не могу понять, почему

ПБС = 16

Как я не объявляю / инициализирую какие-либо глобальные / статические переменные?

Ответы на вопрос(1)

Ваш ответ на вопрос