본문 바로가기

[하드웨어 뜯어보기] 전원·펌웨어 #38 - 부팅 과정의 모든 것

📑 목차

    깨어나서 스스로를 찾는 두뇌

    펌웨어를 지나 운영체제의 세계로 입장하는 ‘자아 형성의 순간’

    핵심요약
    부팅 과정은 펌웨어 → 부트로더 → 커널 → 초기 프로세스 순으로 진행된다.
    POST로 하드웨어를 점검하고, UEFI가 ESP에서 부트 매니저를 실행한다.
    부트로더는 운영체제 커널을 메모리에 적재한다.
    커널은 드라이버·메모리·파일시스템을 초기화하며 “운영체제의 뼈대”를 만든다.
    이후 PID 1(init/systemd)가 시작되면서 OS가 살아난다.

     

    부팅의 모든 것
    부팅의 모든 것


    1. “부팅”은 무엇인가?

    핵심 문장: 부팅은 컴퓨터가 자신을 인식하고, 스스로 움직일 수 있는 상태를 만드는 여정이다.

     

    사람의 의식이 깨어나는 과정처럼 컴퓨터도 부팅을 통해 다음 사항들을 스스로 파악하고 준비합니다.

    • 자신이 어떤 하드웨어를 갖고 있는지
    • 어떤 저장장치를 사용할지
    • 어떤 운영체제를 실행해야 하는지

    이 여정은 단순히 ‘Windows 실행’이 아니라 CPU가 무(無)에서 논리적 세계로 올라오는 과정입니다.


    2. 부팅의 전체 흐름 요약

    전체 부팅 과정은 다음과 같이 정리할 수 있습니다.

    1. Power On
    2. Reset Vector → 펌웨어(BIOS/UEFI) 실행
    3. POST
    4. 드라이버 초기화
    5. Boot Manager
    6. Boot Loader
    7. 커널 로딩
    8. init/systemd 시작
    9. 사용자 세션 진입

    38편에서는 #37의 펌웨어 이후 단계부터 깊이 들어갑니다.


    3. POST 이후 — 부팅 장치를 찾는 과정

    3-1. Boot Manager의 역할

    UEFI는 Boot Order에 따라 다음 항목 중 어느 것을 부팅할지 결정합니다.

    • NVMe SSD
    • SATA SSD/HDD
    • USB
    • 네트워크 PXE
    • 기타 EFI 앱

    UEFI는 ESP(EFI System Partition)에서 \EFI\BOOT\BOOTX64.EFI와 같은 실행 파일을 찾아 실행합니다.


    4. Boot Loader - 운영체제로 향하는 관문

    부트로더는 운영체제를 직접 실행하는 ‘문지기’입니다.

    대표적인 부트로더

    • Windows Boot Manager (bootmgfw.efi)
    • GRUB (Linux)
    • systemd-boot
    • rEFInd
    • shim + GRUB(Secure Boot 대응)

    부트로더는 다음을 수행합니다.

    1. OS 커널 파일 찾기
    2. 커널을 메모리로 로딩
    3. 필요한 파라미터(cmdline) 전달
    4. 루트 파일시스템 식별
    5. CPU 모드를 전환하여 커널에 제어권 넘김

    5. 운영체제 커널 로딩 - 시스템의 뼈대 형성

    여기부터가 진정한 ‘운영체제의 세계’의 시작입니다. 부트로더가 커널 이미지를 메모리에 올리면 커널은 다음 순서로 초기화를 수행합니다.

    5-1. 메모리 초기화

    • 메모리 맵 파악 (UEFI로부터 전달)
    • 가용 메모리/예약 메모리 구분
    • 페이지 테이블 구성
    • 가상 메모리 시스템 활성화

    이 단계에서 시스템은 “실제 주소 → 논리 주소” 구조를 갖게 되며 현대 OS의 기반을 갖춥니다.

    5-2. CPU 및 스케줄러 초기화

    • 멀티코어 인식
    • AP(Application Processor) 부트
    • 인터럽트 벡터 테이블 초기화
    • 스케줄러 코드 로딩

    이 순간부터 시스템은 ‘코어 여러 개를 동시에 조율하는 두뇌’가 됩니다.

    5-3. 드라이버 초기화

    하드웨어를 제대로 쓰기 위해 각 장치 드라이버가 순차적으로 활성화됩니다.

    • 저장장치 드라이버
    • NVMe/SATA 컨트롤러
    • USB 드라이버
    • 파일시스템 드라이버
    • 네트워크 드라이버
    • GPU 초기화

    이 과정에서 커널은 “하드웨어라는 신체와 대화하기 위한 언어”를 갖습니다.

    5-4. 파일 시스템 마운트

    운영체제는 루트 파일시스템을 찾아 마운트합니다.

    • Windows → NTFS
    • Linux → ext4, btrfs, xfs 등

    루트 파일시스템이 준비되면 프로그램 실행, 설정 로딩, 사용자 관리가 가능해집니다.

    5-5. 사용자 공간(User Space) 생성

    커널은 작업을 사용자 공간으로 넘기며 실제 서비스가 시작됩니다.


    6. init/systemd — 운영체제의 첫 프로세스

    최초 프로세스는 PID 1입니다.

    Windows는 커널 이후

    • smss.exe
    • wininit.exe
    • winlogon.exe
      등의 체인이 이어지고,

    Linux는

    • init
    • 또는 systemd
      가 PID 1로 시작하여 전체 서비스/데몬을 관리합니다.

    PID 1은 운영체제의 ‘리더 프로세스’로 모든 백그라운드 서비스의 출발점입니다.


    7. 그래픽 환경(GUI) 로딩

    여기서부터는 사용자에게 익숙한 화면이 등장합니다.

     

    Windows → Winlogon → Explorer.exe
    Linux → Display Manager(GDM/KDM/SDDM) → 데스크톱 환경(GNOME/KDE)

     

    부팅 과정의 마지막 단계에서 운영체제는 시각적 인터페이스를 제공하며 사용자 세션이 완성됩니다.


    8. 비유하자면 - “잠에서 깨어나 자기 자신을 찾는 과정”

    • POST: 몸 상태 점검
    • 드라이버 초기화: 감각기관 깨우기
    • 부트로더: 어떤 일을 시작할지 결정
    • 커널 로딩: 신경계 구성
    • PID 1 시작: ‘의식’ 형성
    • GUI 진입: 외부와 상호작용할 준비 완료

    부팅은 마치 잠에서 깨어난 후 하루를 준비하는 인간의 아침 의식과 같습니다.


    9. 현대 부팅의 변화 - NVMe·APIC·병렬 초기화

    부팅 속도는 지난 20년간 급격하게 빨라졌습니다.

    • NVMe SSD → 부트로더/커널 로딩 시간 단축
    • UEFI Fast Boot → POST 최소화
    • 멀티코어 초기화 → 병렬 장치 설정
    • systemd → 서비스 병렬화로 부팅 시간 단축
    • Secure Boot → 초기 단계 보안 강화

    과거 30초~1분 걸리던 부팅은 지금은 2~5초 수준까지 줄었습니다.


    10. 요약

    • 부팅 과정은 여러 계층(펌웨어 → 부트로더 → 커널 → 유저 공간)을 거친다.
    • 부트로더는 커널을 메모리에 로드하는 관문.
    • 커널이 메모리·CPU·드라이버를 초기화하며 OS의 뼈대를 만든다.
    • PID 1이 시작되면 운영체제가 공식적으로 살아난다.
    • GUI 로딩까지 도달하면 “전체 시스템 의식”이 완성된다.

    11. 시리즈 마무리 - “의식의 기원을 밝히는 여정”

    전원과 펌웨어는 우리가 보통 하드웨어의 겉모습만 볼 때는 절대 드러나지 않는, 컴퓨터의 가장 깊은 심층 구조입니다. 전원공급장치가 생명 에너지를 보내고, 펌웨어가 그 에너지를 ‘질서’로 바꿔 시스템을 깨우는 순간부터 컴퓨터는 비로소 스스로를 인식할 준비를 갖춥니다. CPU가 연산을 시작하기도, OS가 사용자와 마주하기도 전에 이루어지는 이 단계는 일종의 “의식의 기원”이라 할 수 있습니다.


    전원 / 펌웨어 시리즈를 통해 우리는 컴퓨터가 어떻게 깨어나고, 자기 신체(하드웨어)를 파악하고, 눈을 뜨는지(부트 로딩)를 살펴보았습니다. 이 세계는 화려한 그래픽이나 AI 연산 뒤에 숨어 있지만, 시스템 전체 안정성과 부팅 속도, 보안의 기반이 되는 가장 근본적인 층위입니다.


    이제 우리는 전원이라는 심장과 펌웨어라는 초기의식을 이해했으니, 다음 여정에서는 이 깨어난 두뇌가 어떻게 주변 세계와 연결되는지, 즉 버스와 인터페이스의 신경망을 살펴볼 차례입니다.


    12. 다음 편 예고

    다음 글에서는 CPU·GPU·RAM·SSD·입출력 장치가 어떻게 대화하는지 컴퓨터 신경망 구조를 깊이 있게 파헤칩니다.

     

    다음 글 : [컴퓨터 과학/인터페이스∙통합편] - [하드웨어 뜯어보기] 인터페이스/통합편 #39 - 버스와 인터페이스 총정리

     

    [하드웨어 뜯어보기] 인터페이스/통합편 #39 - 버스와 인터페이스 총정리

    부품 간 신호가 오가는 신경망CPU·메모리·GPU·스토리지·입출력 장치를 하나의 유기체로 엮는 시스템의 ‘데이터 혈관’핵심요약버스(Bus)는 모든 부품이 데이터를 주고받는 통신로(신경망)이다

    snappytory.com