Show HN: OSle – x86 어셈블리로 작성된 510 바이트 OS
요약
OSle은 x86 어셈블리로 작성된 510 바이트 크기의 초소형 부트 섹터 OS입니다. 리얼 모드에서 동작하며 쉘, 파일 시스템, 프로세스 관리 기능을 갖추고 있으며, C 또는 어셈블리를 이용한 프로그램 개발을 위한 SDK를 제공합니다.
핵심 포인트
- x86 어셈블리로 구현된 510 바이트 규모의 초소형 리얼 모드 OS
- 쉘, 파일 시스템, 협력적 프로세스 관리 등 핵심 기능 포함
- C 및 x86 어셈블리 프로그램을 작성할 수 있는 전용 SDK 제공
- nasm, i686-elf-gcc, GNU make 등을 활용한 개발 환경 지원
👀 개요 (Overview)
OSle은 부트 섹터 (boot sector)에 들어가는 리얼 모드 (real-mode) OS입니다.
이 OS는 x86 어셈블리 (assembly)로 작성되었으며, 매우 작은 크기(단 510 바이트)에도 불구하고 다음과 같은 필수 기능들을 포함하고 있습니다:
- 쉘 (Shell): 명령 및 내장 명령 (builtins) 실행.
- 파일 시스템 (File System): 시스템 내 파일 읽기, 쓰기 및 찾기.
- 프로세스 관리 (Process Management): 협력적 (cooperatively) 자식 프로세스 생성.
- 유저랜드 소프트웨어 (Userland Software): 사전 빌드된 소프트웨어와 직접 작성할 수 있는 SDK를 제공합니다.
온라인 데모 확인하기를 통해 실제로 작동하는 모습을 확인해 보세요!
📚 첫 번째 OSle 프로그램 만들기
OSle은 자신만의 OSle C 또는 x86 어셈블리 (Assembly) 프로그램을 만들 수 있는 정의와 툴체인 (toolchain)이 포함된 작은 소프트웨어 개발 키트 (SDK)를 포함하고 있습니다.
단계별 튜토리얼을 따라 첫 번째 프로그램을 작성해 보세요!
🛠️ 개발 (Development)
OSle 및 OSle 프로그램을 개발하려면 다음 도구들이 필요합니다:
- nasm
- i686-elf-gcc
- GNU make (보통 사전 설치되어 있음)
- bochs (선택 사항)
macOS
Homebrew를 사용하여 의존성 패키지를 설치하세요:
brew install nasm
brew install i686-elf-gcc
brew install bochs # 선택 사항, 선호에 따라 Qemu를 사용할 수 있습니다
Linux
로컬 패키지 관리자를 사용하여 의존성 패키지를 설치하세요 (예: Debian):
apt install nasm gcc-i686-linux-gnu bochs # bochs는 선택 사항입니다
</details>
OSle 로컬에서 빌드 및 실행하기
이 레시피들은 OSle을 컴파일하고 SDK를 사용하여 모든 사전 빌드된 프로그램들을 컴파일 및 번들링합니다. start를 사용하면 bochs도 즉시 실행됩니다.
# bochs에서 OSle 빌드 및 실행
make start
...
OSle 프로그램 빌드 및 실행하기
OSle 자체와 마찬가지로 x86 어셈블리(Assembly)로 OSle 프로그램을 작성하거나, C 언어로 작성할 수 있습니다. 첫 번째 프로그램을 작성하려면 단계별 튜토리얼을 확인해 보세요!
# osle.img에 작동 가능한 OSle 이미지가 있는지 확인
make osle
...
실제 장치에서 OSle 사용하기
dd를 사용하여 빌드된 이미지를 장치에 기록하세요:
[!WARNING]
다음 작업은 하드웨어에 손상을 줄 수 있습니다. OSle로 인해 발생할 수 있는 어떠한 손상에 대해서도 당사는 책임을 지지 않습니다.
# osle.img에 OSle 이미지 생성
make osle
...
🤝 기여하기 (Contributing)
이슈 (issues)와 풀 리퀘스트 (pull requests)를 자유롭게 살펴보며 기여하거나 기능을 요청해 주세요.
라이선스 (License)
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Game Dev의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기