.bss
કોમ્પ્યુટર પ્રોગ્રામિંગમાં, બ્લોક સ્ટાર્ટિંગ સિમ્બોલ (સંક્ષિપ્તમાં. bss અથવા bss) એ ઑબ્જેક્ટ ફાઇલ, એક્ઝેક્યુટેબલ અથવા એસેમ્બલી લેંગ્વેજ કોડનો ભાગ છે જેમાં સ્થિર રીતે ફાળવેલ ચલ હોય છે જે જાહેર કરવામાં આવે છે પરંતુ હજુ સુધી તેને મૂલ્ય સોંપવામાં આવ્યું નથી. તેને ઘણીવાર "બીએસએસ વિભાગ" અથવા "બીએસએસ વિભાગ" તરીકે ઓળખવામાં આવે છે. સામાન્ય રીતે ફક્ત bss વિભાગની લંબાઈ, પરંતુ કોઈ માહિતી, ઓબ્જેક્ટ ફાઇલમાં સંગ્રહિત થતી નથી. પ્રોગ્રામ લોડર જ્યારે પ્રોગ્રામને લોડ કરે છે ત્યારે તે bss વિભાગ માટે મેમરી ફાળવે છે. પ્રારંભિક મૂલ્ય માહિતીની જરૂર હોય તેવા. ડેટા અથવા. રોડેટા વિભાગને બદલે,. bss વિભાગમાં કોઈ મૂલ્ય વગરના ચલ મૂકીને, ઑબ્જેક્ટ ફાઇલનું કદ ઘટાડવામાં આવે છે. કેટલાક પ્લેટફોર્મ્સ પર, કેટલાક અથવા બધા bss વિભાગને શૂન્યથી શરૂ કરવામાં આવે છે. યુનિક્સ જેવી સિસ્ટમો અને વિન્ડોઝ bss વિભાગને શૂન્યથી શરૂ કરે છે, જે C અને C + + ને સ્થિર રીતે ફાળવવામાં આવેલા ચલોને bss વિભાગમાં મૂકવા માટે તમામ બિટ્સ શૂન્ય સાથે રજૂ કરેલા મૂલ્યોને શરૂ કરવાની મંજૂરી આપે છે. ઓપરેટિંગ સિસ્ટમ્સ બીએસએસ સેગમેન્ટને અસરકારક રીતે અમલમાં મૂકવા માટે ઝીરો-ફિલ-ઓન-ડિમાન્ડ નામની તકનીકનો ઉપયોગ કરી શકે છે. એમ્બેડેડ સોફ્ટવેરમાં, bss સેગમેન્ટને મેમરીમાં મેપ કરવામાં આવે છે જે મુખ્ય () દાખલ થાય તે પહેલાં C રન-ટાઇમ સિસ્ટમ દ્વારા શૂન્યથી શરૂ થાય છે. કેટલીક સી રન-ટાઇમ સિસ્ટમો બી. એસ. એસ. સેગમેન્ટના ભાગને પ્રારંભ ન કરવાની મંજૂરી આપી શકે છે; સી ચલોને સ્પષ્ટપણે બી. એસ. એસ. સેગમેન્ટના તે ભાગમાં મૂકવા જોઈએ. કેટલાક કમ્પ્યુટર આર્કિટેક્ચર પર, એપ્લિકેશન દ્વિસંગી ઈન્ટરફેસ "નાના ડેટા" માટે એસ. બી. એસ. એસ. સેગમેન્ટને પણ સપોર્ટ કરે છે. સામાન્ય રીતે, આ ડેટા વસ્તુઓને ટૂંકી સૂચનાઓનો ઉપયોગ કરીને એક્સેસ કરી શકાય છે જે ફક્ત સરનામાંની ચોક્કસ શ્રેણીને જ એક્સેસ કરી શકે છે. થ્રેડ-સ્થાનિક સંગ્રહને ટેકો આપતા આર્કિટેક્ચર થ્રેડ-સ્થાનિક તરીકે ચિહ્નિત થયેલ બિન-પ્રારંભિક, સ્થિર ડેટા માટે tbss વિભાગનો ઉપયોગ કરી શકે છે. મૂળ ઐતિહાસિક રીતે, બી. એસ. એસ. (બ્લોક સ્ટાર્ટ્ડ બાય સિમ્બોલ) એ યુ. એ.-એસ. એ. પી. (યુનાઇટેડ એરક્રાફ્ટ સિમ્બોલિક એસેમ્બલી પ્રોગ્રામ) માં સ્યુડો-ઓપરેશન છે, જે એસેમ્બલર 1950ના દાયકાના મધ્યમાં રોય નટ, વોલ્ટર રામશો અને યુનાઇટેડ એરક્રાફ્ટ કોર્પોરેશન ખાતે અન્ય લોકો દ્વારા આઇ. બી. એમ. 704 માટે વિકસાવવામાં આવ્યું હતું. BSS મુખ્ય શબ્દ પાછળથી FORTRAN એસેમ્બલી પ્રોગ્રામ (FAP) અને મેક્રો એસેમ્બલી પ્રોગ્રામ (MAP) માં સામેલ કરવામાં આવ્યો હતો, જે તેના 709 અને 7090/94 કમ્પ્યુટર્સ માટે IBMના પ્રમાણભૂત એસેમ્બલર હતા. તે લેબલને વ્યાખ્યાયિત કરે છે (એટલે કે. પ્રતીક) અને આપેલ સંખ્યાબંધ શબ્દો માટે બિન-પ્રારંભિક જગ્યાનો બ્લોક અનામત રાખ્યો હતો. આ પરિસ્થિતિમાં બી. એસ. એસ. એ સંખ્યાબંધ અલગ નાના ડેટા સ્થાનોને વ્યક્તિગત રીતે અનામત રાખવાના સ્થાને લઘુલિપિ તરીકે કામ કર્યું હતું. કેટલાક એસેમ્બલર્સ પ્રતીક દ્વારા સમાપ્ત થયેલ બ્લોક માટે પૂરક અથવા વૈકલ્પિક નિર્દેશ BES ને ટેકો આપે છે, જ્યાં નિર્દિષ્ટ પ્રતીક આરક્ષિત બ્લોકના અંતને અનુરૂપ હોય છે. C માં BSS C માં, સ્પષ્ટ આરંભકર્તા વિના સ્થિર રીતે ફાળવેલ પદાર્થોને શૂન્ય (અંકગણિત પ્રકારો માટે) અથવા નલ પોઇન્ટર (નિર્દેશક પ્રકારો માટે) થી પ્રારંભ કરવામાં આવે છે. સી ના અમલીકરણ સામાન્ય રીતે શૂન્ય મૂલ્યો અને નલ પોઇન્ટર મૂલ્યોને રજૂ કરે છે જે ફક્ત શૂન્ય-મૂલ્યના બિટ્સની બનેલી બીટ પેટર્નનો ઉપયોગ કરે છે (બી. એસ. એસ. ને શૂન્ય સાથે ભરવા છતાં સી ધોરણ દ્વારા જરૂરી નથી,. બી. એસ. માંના તમામ ચલોને વ્યક્તિગત રીતે અમુક પ્રકારના શૂન્યમાં પ્રારંભ કરવો જરૂરી છે. તેથી, BSS સેગમેન્ટમાં સામાન્ય રીતે ફાઇલ અવકાશ (એટલે કે, કોઈપણ કાર્યની બહાર) પર જાહેર કરાયેલ તમામ બિન-પ્રારંભિક પદાર્થો (ચલ અને સ્થિરાંકો બંને) તેમજ બિન-પ્રારંભિક સ્થિરાંકો (સ્થિર મુખ્ય શબ્દ સાથે જાહેર કરાયેલ સ્થાનિક ચલાંકો) નો સમાવેશ થાય છે; સ્થિર સ્થાનિક સ્થિરાંકો ઘોષણા સમયે પ્રારંભિક હોવા જોઈએ, જો કે, તેમની પાસે અલગ ઘોષણા નથી, અને આમ સામાન્ય રીતે BSS વિભાગમાં નથી, જો કે તેઓ પરોક્ષ રીતે અથવા સ્પષ્ટ રીતે શૂન્યથી પ્રારંભિક હોઈ શકે છે. અમલીકરણ બી. એસ. એસ. વિભાગમાં માત્ર શૂન્ય-મૂલ્યના બિટ્સના મૂલ્ય સાથે શરૂ કરાયેલ સ્થિર-ફાળવેલ ચલ અને સ્થિરાંકો પણ સોંપી શકે છે. સી પ્રોગ્રામર અને લેખક પીટર વાન ડેર લિન્ડેન કહે છે, "કેટલાક લોકો તેને 'બેટર સેવ સ્પેસ' તરીકે યાદ રાખવાનું પસંદ કરે છે. બી. એસ. એસ. વિભાગમાં માત્ર એવા ચલ હોય છે જેનું હજુ સુધી કોઈ મૂલ્ય નથી, તેથી તેને વાસ્તવમાં આ ચલની છબી સંગ્રહિત કરવાની જરૂર નથી. BSS ને રનટાઇમ સમયે જે કદની જરૂર પડશે તે ઓબ્જેક્ટ ફાઇલમાં રેકોર્ડ કરવામાં આવે છે, પરંતુ BSS (ડેટા સેગમેન્ટથી વિપરીત) ઓબ્જેક્ટ ફાઇલમાં કોઈ વાસ્તવિક જગ્યા લેતી નથી. ફોરટ્રાનમાં BSS ફોરટ્રાનમાં, સામાન્ય બ્લોક ચલ આ વિભાગમાં ફાળવવામાં આવે છે. કેટલાક કમ્પાઇલર્સ, 64-બીટ સૂચના સમૂહો માટે, આ વિભાગમાં પ્રવેશ કરતી સૂચનાઓમાં, ઓફસેટને 32 બિટ્સ સુધી મર્યાદિત કરી શકે છે, તેનું કદ 2 જીબી અથવા 4 જીબી સુધી મર્યાદિત કરી શકે છે. ઉપરાંત, નોંધ લો કે ફોરટ્રાનને સ્થિર ડેટાને શૂન્યથી શરૂ કરવાની જરૂર નથી. તે સિસ્ટમો પર જ્યાં bss સેગમેન્ટને શૂન્યથી શરૂ કરવામાં આવે છે, તે સેગમેન્ટમાં સામાન્ય બ્લોક વેરિયેબલ્સ અને અન્ય સ્થિર ડેટા મૂકવાથી ખાતરી મળે છે કે તે શૂન્ય હશે, પરંતુ પોર્ટેબિલિટી માટે, પ્રોગ્રામરોએ તેના પર આધાર રાખવો જોઈએ નહીં. લિંકર (કમ્પ્યુટિંગ) ડેટા સેગમેન્ટ કોડ સેગમેન્ટ યુનિનિશિઅલાઈઝ્ડ વેરિયેબલ રેફરન્સ એક્ઝિક્યુટેબલ ફાઇલ ફોર્મેટ મેમરી મેનેજમેન્ટ એસેમ્બલી લેંગ્વેજ પ્રોગ્રામિંગ લેંગ્વેજ અમલીકરણ પણ જુઓ.