.bss
보이기
컴퓨터 프로그래밍에서 .bss 또는 bss는 수많은 컴파일러와 링커가 처음에 0 값의 비트로 표현되는 정적으로 할당된 변수를 포함하는 데이터 세그먼트의 한 부분으로 사용한다. "bss 섹션"(bss section), "bss 세그먼트"(bss segment)라고도 부른다.
일반적으로 데이터가 없는 bss 섹션의 길이만이 오브젝트 파일에 저장된다. 프로그램 로더는 프로그램을 로드할 때 bss 섹션을 위한 메모리를 할당하고 초기화한다. 운영 체제는 zero-fill-on-demand라는 기술을 사용하여 bss 세그먼트를 효율적으로 구현한다. (McKusick & Karels 1986) 임베디드 소프트웨어에서 bss 세그먼트는 main()
에 들어가기 전에 C 런타임 시스템에 의해 0으로 초기화되는 메모리로 매핑된다.
일부 컴퓨터 아키텍처에서 ABI 또한 조그마한 데이터에 대한 sbss 세그먼트를 지원한다. 일반적으로 이러한 데이터 항목들은 특정한 범위의 주소에만 접근할 수 있는 더 짧은 명령을 이용하여 접근할 수 있다.
기원
[편집]역사적으로 BSS(Block Started by Symbol)는 유나이티드 에어크래프트의 로이 넛(Roy Nutt), 램셔(Ramshaw) 등이 IBM 704용으로 1950년대 중반에 개발한 어셈블러인 UA-SAP (United Aircraft Symbolic Assembly Program)에서의 의사 동작이다.[1][2]
같이 보기
[편집]각주
[편집]- ↑ Network Dictionary. Javvin Press, 2007, p. 70.
- ↑ Coding for the MIT-IBM 704 Computer October 1957, p. V-10
- Stevens, W. Richard (1992). 《Advanced Programming in the Unix Environment》. Addison–Wesley. Section 7.6. ISBN 0-201-56317-7.
- Timar, Ted; 외. (1996). “Unix - Frequently Asked Questions (1/7)”. Question 1.3.
- McKusick, Marshall Kirk; Karels, Michael J. (1986). “A New Virtual Memory Implementation for Berkeley UNIX” (PDF). University of California, Berkeley. 3쪽. CiteSeerX: 10.1.1.368.432.
이 글은 프로그래밍 언어에 관한 토막글입니다. 여러분의 지식으로 알차게 문서를 완성해 갑시다. |