Skip to content

Latest commit

 

History

History
14 lines (13 loc) · 1.56 KB

README.md

File metadata and controls

14 lines (13 loc) · 1.56 KB

프로젝트 개요

도서 "임베디드 OS 개발 프로젝트 - ARM 기반 펌웨어/RTOS의 원리와 구조” (이만우 저자(글)) 를 참고한 프로젝트 입니다. 작지만, 임베디드 수준에서 요구하는 OS를 만드는 경험을 할 수 있었습니다.

동기

본 프로젝트를 진행하기 이전에 MIT의 OS Course의 오픈된 과제인 xv6 (https://pdos.csail.mit.edu/6.828/2023/schedule.html) 를 먼저 진행했습니다. 해당 과제는 범용 OS 에 포커스가 맞춰져 있었습니다.
좀 더 하드웨어 측에 가깝게 실습하기 위해 해당 자료를 찾았고, 곧바로 착수했습니다.

학습 내용

ARM 하드웨어 에뮬레이터를 이용하여 하드웨어를 대체했습니다. 그리고 그 위에서 OS를 구현했습니다.
부트로더, 주변장치제어, 타이머 등 하드웨어 제어에 관한 펌웨어를 구현했습니다. 그리고 태스크, 스케줄러, 컨텍스트 스위칭을 만들어 OS 중에서 RTOS를 만족하도록 구현했습니다. 또한, 메시지와 동기화 기능으로 멀티코어 환경에 필수적인 기능을 만드는 경험을 했습니다.

성과

가장 의미 있던 부분은 하드웨어를 직접 조작해 본 경험입니다. 하드웨어를 조작할 수 있으니, 컴퓨터에서 돌아가는 모든 소프트웨어를 “나도 작성할 수 있구나!”라는 생각이 든 순간이었습니다. “OS from scratch“ 프로젝트는 심장을 두근거리게 해준 프로젝트입니다.


내용 정리 : https://jiggyjiggy.tistory.com/71