<p align="center">
<img width="256" src="https://raw.githubusercontent.com/shikaan/osle/HEAD/docs/logo.svg" alt="logo">
</p>
<p align="center">
작고 강력한 부트 섹터 (boot sector) OS입니다.
</p>
<div align="center">
<video src="https://github.com/user-attachments/assets/3332b48a-aa3c-48a0-9d8e-a084468d04cc"></video>
</div >
<h4 align="center">
<a href="https://shikaan.github.io/osle/">🚀 브라우저에서 직접 체험해 보세요! 🚀</a>
</h4>
👀 개요 (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 프로그램을 개발하려면 다음 도구들이 필요합니다:
<details>
<summary>설치 안내 (Installation instructions)</summary>
macOS
Homebrew를 사용하여 의존성 패키지를 설치하세요:
brew install nasm
brew install i686-elf-gcc
brew install bochs
Linux
로컬 패키지 관리자를 사용하여 의존성 패키지를 설치하세요 (예: Debian):
apt install nasm gcc-i686-linux-gnu bochs
</details>
OSle 로컬에서 빌드 및 실행하기
이 레시피들은 OSle을 컴파일하고 SDK를 사용하여 모든 사전 빌드된 프로그램들을 컴파일 및 번들링합니다. start를 사용하면 bochs도 즉시 실행됩니다.
OSle 프로그램 빌드 및 실행하기
OSle 자체와 마찬가지로 x86 어셈블리(Assembly)로 OSle 프로그램을 작성하거나, C 언어로 작성할 수 있습니다. 첫 번째 프로그램을 작성하려면 단계별 튜토리얼을 확인해 보세요!
실제 장치에서 OSle 사용하기
dd를 사용하여 빌드된 이미지를 장치에 기록하세요:
[!WARNING]
다음 작업은 하드웨어에 손상을 줄 수 있습니다. OSle로 인해 발생할 수 있는 어떠한 손상에 대해서도 당사는 책임을 지지 않습니다.
🤝 기여하기 (Contributing)
이슈 (issues)와 풀 리퀘스트 (pull requests)를 자유롭게 살펴보며 기여하거나 기능을 요청해 주세요.
라이선스 (License)
MIT