부팅
1. 개요
컴퓨터 용어로서 컴퓨터를 시작할 때, 자기 자신(컴퓨터)을 구동시킬 프로그램을 컴퓨터 스스로 불러내는 동작.
2. 상세
IBM PC 및 후속 기종과 호환기종의 경우, 먼저 펌웨어의 일종인 바이오스/UEFI가 POST과정을 한 뒤 부트로더가 있는 장치[2] 를 수색한다. 장치[3] 가 발견되면 그 첫번째 섹터를 메모리 주소 0000h:7C00h[4] 에 복사한 뒤 점프시켜 실행시킨다.
여기까지가 컴퓨터에서 직접 제공하는 기능이고, 나머지는 운영체제의 몫이다. 운영체제는 설치될 때장치의 첫 번째 섹터에 운영체제의 부트로더를 장치에서 찾아서 실행시킬 수 있는 코드를 써 놓고, 부트로더는 운영체제의 나머지 실제 필요한 부분을 장치에서 읽어서 메모리에 올리고 실행 권한을 넘긴다. 이후는 실제 운영체제가 작동한다.
3. 어원?
어원이 The Surprising Adventures of Baron Munchausen(뮌히하우젠 남작)라는 이야기에서 왔다고 하는 사람들도 있다. 한국에서는 '허풍선이 남작의 모험'이라고 흔히 알려진 작품으로, 허무맹랑한 내용들로 채워져 있다. 그 일화 중 하나로 주인공이 물 위를 걸어서 강을 건너는데, 발이 물 속에 빠지려고 하면 본인 스스로 신발끈을 잡아 올려 건져내는 과정을 반복하여 무사히 강을 건넜다는 것이다. 스스로의 발을 스스로 꺼내는 이 행동이 부팅(boot-ing)의 어원이 되었다는 것이다[5] .
그러나 실제 뮌히하우젠 남작 이야기에서 그는 신발끈이 아니라 자신의 머리카락을 잡아 올려 건져냈으며, 무엇보다 남작은 말을 타고 있었다. 다양한 뮌히하우젠 남작 이야기들 중에서 신발끈을 잡아 끌어올렸다는 버전은 찾아볼 수 없다고 하는데, 미국에서는 부츠를 잡고 늪에서 빠져나왔다는 판본의 이야기가 있기는 있다. 게다가 부트스트랩은 신발 묶는 그 신발끈이 아니라 긴 부츠의 목 뒷부분에 있는 고리다.
단, 현재 영어 위키피디아의 'Bootstrapping' 항목에서는 "to pull oneself up by one's bootstraps"라는 숙어에서 따왔다고 명시하고 있으며 다만 해당 숙어의 문서에서는 '숙어의 유래가 뮌히하우젠 남작 이야기에서 왔는가는 논쟁거리이다' 라는 언급이 있을 뿐이다.
4. 기타
컴파일러의 제작 과정에서, 어떤 언어를 컴파일하기 위한 컴파일러를 해당 언어로 제작할 때(예를 들어 C 컴파일러를 C로 작성한다면... PyPy), 부트스트랩이란 용어를 쓴다.
컴퓨터 및 기기를 사용하기 위해서는 꼭 거쳐야 하는 과정이지만 그 동안은 아무것도 할 수 없어서 상당히 지루하다(...). 그나마 2010년대에서는 SSD를 이용해서 우사인 볼트 뺨칠 정도로 부팅 소요 시간을 줄이곤 한다(...). NVMe SSD+Windows 10+빠른 시작 기능의 조합으로는 '''윈도우 로고 안보고 바로 로그인 화면으로 진입'''도 가능하다고 한다.
커널 패닉 등 이런저런 문제로 인해 컴퓨터를 소프트웨어, 혹은 하드웨어적 차원에서 재구동하는 것을 흔히 리부팅(re-booting), 혹은 재(再)부팅이라고 부른다.
오락실용 아케이드 게임들도 상당수가 PC 기판을 사용하기 때문에 부팅을 하게 된다. 이 때문에 오락실을 일찍부터 오는 사람이라면 부팅 화면을 자주 볼 수 있다. 또한 소프트웨어 오류 등으로 인해 재부팅이 되는 경우에도 부팅 화면을 볼 수 있다. 다만 대부분의 경우에는 윈도우 로고가 안보이도록 설정을 해두었다.[6]
스마트폰은 부팅시 기종명과 운영체제[7] 를 표기한 후 각 통신사 별로 설정된 부팅화면이 나타난다.
플로피 디스크가 주로 쓰이던 80년대에는 아예 MS-DOS같은 운영체제도 필요 없이 디스크만 넣고 켜면 바로 실행이 가능한 게임이 나오기도 하였다. 이를 PC booter라고 하였다.
5. 부팅되는 과정
- 전원을 켜면 컴퓨터 전원이 안정적으로 공급되는지를 먼저 확인.
- 이상이 없으면 중앙 처리 장치의 상태를 점검해 이상 유무를 판독.
- 롬에서 컴퓨터의 입출력 장치 및 램과 같은 주요 기본 장치들에 대한 정보를 읽어들여서 이들 장치들이 정상 작동을 하는지 유무 점검.[8]
- 기억장치에 존재하는 운영체제를 램으로 읽어 들여서 실행.
6. 관련 문서
[1] 활성화로 설정해도 7과 동일한 소리가 나온다.[2] BIOS/UEFI 설정 상에서 첫번째 부팅으로 설정된 장치를 가장 먼저 찾으며, 그곳에서 찾지 못할 경우 읽기 가능한 장치들 중 첫 번째 섹터가 AA55h, 리틀엔디안(little endian)으로는 55AAh로 끝나는 장치를 찾는다/[3] HDD, SSD 등이 보통일 것이다.[4] 바이오스에 따라서는 07C0h:0000h/[5] 부팅(booting)은 부트스트래핑(bootstrapping)을 줄인 말이다[6] BEMANI 시리즈나 DJMAX TECHNIKA 시리즈의 경우에는 로고 없이 커서만 깜빡거리며, EZ2AC의 경우에는 해당하는 버전의 로고가 표시된다. 그리고 바탕화면도 대부분 검정색으로 해놓는다.[7] 2014년 이후 출시된 안드로이드 스마트폰은 부팅화면 하단에'Powered By Android' 문구가 있다.iOS는 그런거 없이 사과 로고만 띄운다.[8] UEFI Fast boot 활성화시 생략된다.