오스데브 노트
독자에게 운영 체제 커널을 처음부터 구축하는 단계를 안내하기 위한 노트 모음으로 작성된 책입니다. 자체 커널을 작성(및 다시 작성)하는 동안 작성된 각 장은 부트로더 선택부터 사용자 공간에서 로드된 ELF 실행까지의 프로세스 단계를 다룹니다.
여기에서 즐거운 시간을 보내시고 흥미로운 것을 찾으시기 바랍니다!
이 저장소의 콘텐츠는 인쇄된 책 으로도 제공되며 Lulu를 통해 구입할 수 있습니다.
- 단행본 : 여기를 클릭하세요
- 하드커버 : 여기를 클릭하세요
최신 마스터 릴리스에는 마스터에서 빌드된 PDF가 포함되어 있습니다.
현재 챕터:
- 파트 0: 소개
- 1부: 빌드 및 부팅 프로토콜
- 커널 구축
- 부트로더 및 부트 프로토콜
- 메이크파일
- 링커 스크립트
- 부팅 가능한 ISO 생성
- 2부: 아키텍처 및 기본 드라이버
- 개요
- 안녕하세요 세계
- 상위 절반 커널
- 전역 설명자 테이블
- 인터럽트
- ACPI 테이블
- APIC
- 타이머
- PS2 키보드 개요
- PS2 키보드 인터럽트 처리
- PS2 키보드 드라이버 구현
- 파트 3: 비디오 출력
- 4부: 메모리 관리
- 개요
- 물리적 메모리
- 페이징
- 가상 메모리 관리자
- 힙 할당
- 파트 5: 일정 계획
- 6부: 사용자 공간으로 이동
- 개요
- 스위칭 모드
- 업데이트된 인터럽트 처리
- 시스템 호출
- 예시 Syscall ABI
- 7부: 프로세스 간 통신
- 8부: 파일 시스템
- 9부: ELF 로드 및 실행
- 10부: 그 너머로
- 추가사항: 부록
- 일반적인 문제 해결
- 팁과 요령
- C 언어
- NASM 작업
- 크로스 컴파일러에 관한 모든 것
- 디버깅
- 메모리 보호
- 유용한 리소스
- 감사의 말
우리의 프로젝트
- DreamOs64: Ivan G가 처음부터 작성한 64비트 OS입니다.
- Northport: SMP 및 riscv 지원이 포함된 또 다른 64비트 OS입니다! 작성자: 딘 T.
- DreamOs: 처음부터 작성된 32비트 OS입니다. 이 프로젝트는 중단되었지만 여전히 언급할 가치가 있습니다. 또한 Ivan G.
저자
- Ivan G(dreamos82) - 이 노트의 저자이자 작성자입니다.
- Dean T(DeanoBurrito) - 저자.
특허
이 저장소의 콘텐츠(코드, 텍스트 및 기타 자산)는 Creative Commons Attribution-NonCommercial 4.0 Public License에 따라 라이선스가 부여됩니다. 전체 텍스트는 LICENSE 파일을 참조하세요.
법적 조언은 아니지만 본 라이센스는 다음과 같이 요약될 수 있습니다.
- 이 자료는 어떤 매체나 형식으로든 자유롭게 공유(복사 및 재배포)할 수 있습니다.
- 자료를 조정(리믹스, 변형 및 구축)합니다.
다음 제한사항이 적용됩니다.
- 적절한 출처를 표시하고, 라이선스에 대한 링크를 제공하고, 변경 사항이 있었는지 표시해야 합니다.
- 해당 자료를 상업적인 용도로 사용할 수 없습니다.
어떠한 종류의 보증도 제공되지 않습니다.