AlmeidaOS
1.0.0
인텔 및 AMD 프로세서를위한 간단하고 독립적 인 청정 코드, 잘 문서화 된 취미 64 비트 운영 체제. 어셈블리 (Intel Syntax) 및 C (GNU99 Standard)로 작성되어 가능한 한 소스 코드에 댓글을 추가하기 위해 노력하여 향후 OS 개발자를위한 참조로 사용할 수 있습니다.
처음부터 작성된 다음 구성 요소가 포함되어 있습니다.
| 요소 | 설명 | 소스 코드 |
|---|---|---|
| MBR | 첫 번째 단계 부트 로더 | 암호 |
| 짐을 싣는 사람 | 2 단계 부트 로더 | 암호 |
| 요소 | 설명 | 소스 코드 |
|---|---|---|
| PML4 | 페이징 구조 | 암호 |
| 친구 | 메모리 할당 시스템 | 암호 |
| 인쇄물 | printf와 같은 문자열 형식 구문 분석 유틸리티 | 암호 |
| 연쇄 드라이버 | RS232를 통해 Printk MSGS를 보내 디버깅을 도와줍니다 | 암호 |
| 코어 덤프 | 디버깅 목적으로 CPU 레지스터를 덤프합니다 | 암호 |
| SYSCALL/SYSRET | 링 3과 뒤로 점프하기 위해 선택한 방법 | 암호 |
| 피트 | 프로그래밍 가능한 간격 타이머 | 암호 |
| 사진 | 프로그래밍 가능한 인터럽트 컨트롤러 | 암호 |
| (x) 지연 | 내가 PIT를 사용하고 있다는 점에서 Tightloops를 기반으로합니다 | 암호 |
| CMOS RTC | 실시간 시계 | 암호 |
| 스케줄러 | 간단한 라운드 로빈 스케줄러 | 암호 |
기능이 주문형 : 코드가 추가됩니다
앞으로 더! 스타/이 리포지토리를 지켜보십시오!
이 앱을 만들려면 컴퓨터에 make 및 docker 설치해야합니다. 이 단계에서 생성 된 Docker 이미지에 의해 다른 모든 건물 의존성을 자동으로 처리해야합니다.
그것을 만들려면 실행해야합니다.
make build
이 앱을 실행하려면 컴퓨터에 make qemu-system-x86_64 설치해야합니다.
make test
이 OS가 할 수있는 일에 집중하지 않도록하기 위해 단기적으로 중기 적으로 구현하려는 기능 목록을 작성하기로 결정했습니다.
환상적인 것들이 있지만 평생 내에해야 할 일이 있는지 확실하지 않습니다.
이것들은 Almeidaos의 개발 중에 많은 도움이 된 모든 참조입니다.
포럼 :
서적:
기존 OS :
행동: