OS 제작이 처음이어도 전혀 걱정할 필요가 없다. 어셈블리어를 잘 몰라도, C 언어의 포인터를 잘 몰라도, 하드웨어 명세서를 잘 몰라도 운영체제 제작에 도전할 수 있게 배려했다. 부트 로더에서 GUI까지 여러분이 꼭 알아야 하는 부분만 정리한 뒤 상세한 설명을 덧붙였다. 한 장 한 장 따라가다보면 어느새 멋진 OS가 동작하고 있을 것이다. 그동안 어셈블리어나 PC 하드웨어의 벽에 부딪혀 번번히 실패했다면 이 책이 여러분에게 새로운 방향을 제시해 줄 것이다.
자작 OS도 아름다울 수 있다
자작 OS는 검은색 바탕에 흰색 글자만 표시한다는 편견에서 벗어나자. GUI 환경까지 직접 개발해 멋지고 아름다운 OS를 제작한다.
64비트 모드와 멀티코어의 비밀을 모두 공개한다
64비트 모드와 멀티코어는 모두 프로세서와 관련이 있다. 프로세서의 동작 방식은 데이터 시트에 모두 공개되어 있지만, 내용이 흩어져 있고 복잡하여 이해하기가 어렵다. 이 책에서는 OS 개발에 필요한 핵심 부분만 모아서 정리했다.
- OS 개발 환경 구축
- 부트스트랩 코드 제작
- 32비트 보호 모드로 전환
- 64비트 모드로 전환
- C언어로 커널 작성하기
- 키보드 디바이스 드라이버 추가
- 인터럽트 처리
- PIC 컨트롤러 제어
- 콘솔 셸 제작
- 타이머 디바이스 드라이버 추가
- 멀티태스킹 구현
- 라운드 로빈 스케줄러 추가
- 멀티레벨 큐 스케줄러 제작
- 태스크 간의 동기화 처리
- 멀티스레딩 기능 추가
- 실수 연산 기능 추가
- 메모리 할당과 버디 블록 알고리즘
- 하드 디스크 디바이스 드라이버 추가
- MINT 파일 시스템 구현
- C 표준 입출력 함수 구현
- 캐시와 램 디스크 추가
- 시리얼 포트 디바이스 드라이버와 통신
- MP 설정 테이블과 멀티코어
- APIC와 대칭 I/O 모두 구현
저자_ 한승훈
프로그래밍을 밥 먹듯 하고 의자에 오래 앉아 있는 것이 유일한 특기인 열혈 개발자다.
특기를 살려 밤낮없이 프로그래밍에 열중하며, 늘 새로운 것을 찾아 여러 분야를 기웃거린다. SI 회사에서 서버와 클라이언트 프로그램을 개발했고, 현재는 임베디드 시스템의 펌웨어를 개발 중이다.
저자 Q&A_ http://www.mint64os.pe.kr