A la programació d'ordinadors, el símbol d'inici de bloc (abreujat a .bss o bss) és la part d'un fitxer objecte, executable o codi de llenguatge ensamblador que conté variables assignades estàticament que es declaren però encara no se'ls ha assignat un valor. Sovint es coneix com a "secció bss" o "segment bss".
Normalment només la longitud de la secció bss, però cap dada, s'emmagatzema al fitxer objecte. El carregador de programes assigna memòria per a la secció bss quan carrega el programa. Si col·loqueu variables sense valor a la secció .bss, en comptes de la secció .data o secció rodata que requereixen dades de valor inicial, es redueix la mida del fitxer objecte.
En algunes plataformes, part o tota la secció bss s'inicialitza a zeros. Els sistemes semblants a Unix i Windows inicialitzen la secció bss a zero, permetent que les variables C i C++ assignades estàticament inicialitzades a valors representats amb tots els bits zero es posin al segment bss. Els sistemes operatius poden utilitzar una tècnica anomenada zero-fill-on-demand per implementar de manera eficient el segment bss.[1] Al programari incrustat, el segment bss s'assigna a la memòria que el sistema de temps d'execució C inicialitza a zero abans que s'introdueixi main().
Alguns sistemes C en temps d'execució poden permetre que part del segment bss no s'inicialitzi; Les variables C s'han de col·locar explícitament en aquesta part del segment bss.[2]
En algunes arquitectures d'ordinadors, la interfície binària de l'aplicació també admet un segment sbss per a "dades petites". Normalment, es pot accedir a aquests elements de dades mitjançant instruccions més breus que només poden accedir a un determinat rang d'adreces. Les arquitectures que admeten l'emmagatzematge local del fil poden utilitzar una secció tbss per a dades estàtiques no inicialitzades marcades com a fil local.[3]