피드로 돌아가기
Building a chikku OS
Dev.toDev.to
Infrastructure

Multiboot 표준 기반의 Minimal OS 커널 및 Shell 파서 구현

Building a chikku OS

Ravi Bhuvan2026년 6월 28일11intermediate

Context

하드웨어 제어부터 사용자 인터페이스까지 이어지는 OS 부트 프로세스의 저수준 동작 이해가 필요함. 기존 고수준 언어의 추상화 계층 없이 Bare-metal 환경에서 하드웨어 자원을 직접 제어하는 구조적 설계 지향.

Technical Solution

  • Multiboot 표준의 Magic Number(0x1BADB002)를 정의한 boot.asm 설계를 통한 GRUB Bootloader와의 호환성 확보
  • VGA Text Mode의 메모리 맵핑 주소(0xB8000)에 직접 접근하여 문자열과 컬러 속성을 기록하는 Display Driver 구현
  • BIOS/UEFI에서 GRUB를 거쳐 kernel_main()까지 이어지는 단계적 Boot Sequence 설계를 통한 시스템 초기화 프로세스 구축
  • strchr() 함수 기반의 Tokenizer를 활용하여 입력 문자열의 구분자를 null-terminator('\0')로 치환하는 Command Parser 로직 설계
  • Parser, Shell, Commands 간의 역할 분리를 통해 명령어 분석과 실행 로직을 독립시킨 모듈형 Shell 아키텍처 적용

1. Bootloader 호환성을 위한 표준 Magic Number 및 섹션 정렬 확인

2. 메모리 직접 쓰기 방식의 드라이버 설계 시 하드웨어 메모리 맵(Memory Map) 검토

3. 단순 문자열 파싱 시 원본 버퍼의 직접 수정(In-place modification)을 통한 메모리 효율성 고려

원문 읽기