안녕하세요.
시스템 프로그래밍을 공부하고 있는 학생입니다.
최근에 운영체제 내부 동작을 더 깊이 이해하고 싶어서,
간단한 x86 기반 커널을 직접 구현해 보았습니다.
구현하면서 특히 집중했던 부분은:
인터럽트 처리 구조 (IDT, IRQ)
페이징 기반 메모리 관리
VGA / 키보드 드라이버
간단한 커널 셸
구현하면서 느낀 점은,
인터럽트가 시스템 전체 흐름을 결정한다는 것
메모리 관리는 이론보다 훨씬 까다롭다는 것
디버깅이 생각보다 훨씬 어렵다는 것
이었습니다.
특히 문제가 생겼을 때 로그도 없고,
그냥 화면이 멈추는 상황에서 원인을 찾는 과정이 가장 어려웠습니다.
혹시 비슷한 방식으로 커널을 구현해보신 분들이 계신다면,
디버깅이나 구조 설계 관련해서 조언을 듣고 싶습니다.
관련 글은 여기 정리해두었습니다:
읽어주셔서 감사합니다 🙏