MmdOS
1.0.0
64 비트 더 높은 반 커널 OS
일반적으로 유닉스와 같은 시스템에 사전 설치되는 GCC 컴파일러, LD 링커가 필요합니다. 또한 QEMU, NASM, Xorriso 및 Make를 사용할 수 있어야합니다.
또한 make format 스크립트에서 Clang-Format을 사용하므로 개발 작업 공간에 설치해야합니다.
디버거를 실행하려면 GDB가 있어야합니다.
디버그 모드 실행을 컴파일하고 빌드하려면 :
make생산 모드 실행을 컴파일하고 빌드하려면 :
make prodQEMU를 사용하여 OS를 실행하려면 실행하십시오.
make runGDB를 사용하려면 :
make drun그런 다음 다른 쉘을 열고 동일한 디렉토리로 이동 한 다음 :
make gdb| 특징 | 상태 |
|---|---|
| 리민 부트 로더 | 공장 |
| 커널 로딩 | 공장 |
| GDT | 공장 |
| idt | 공장 |
| 사진 | 공장 |
| 피트 | 공장 |
| 건반 | 공장 |
| printf | 공장 |
| 기본 프롬프트 | 공장 |
| 메모리 매핑 | 공장 |
| 프로세스 | 공장 |
| 컨텍스트 전환 | 공장 |
| 실 | 공장 |
| 파일 시스템 | 기본 VFS 구현 |
| 우스타 | 공장 |
| 사용자 공간 | 더 많은 테스트가 필요합니다 |
| 계략 | 뱀과 GameOflife 작업 |
| 프로그램 | 고양이, ls 일 |
| 구현할 기능 |
|---|
| 더 고급 장치에 액세스하기 위해 ACPI를 구현할 수 있습니다. |
| 사용자 공간 |
| 지방과 같은 간단한 파일 시스템을 지원합니다 |
| ELF에 대한 지원 |
| 엘프와 같은 바이너리를 실행하는 Syscall |
| USB와 같은 간단한 하드웨어 지원 |
목표는 기본 도구를 갖고 LIBC 및 일부 UNIX와 같은 프로그램 및 응용 프로그램을 지원하는 완전히 기능적인 OS를 구현하는 것입니다.
OSDEV 및 저수준 프로그래밍의 초보자이므로 사용해야했고
주제에 대해 약간의 감수성을 갖도록 광범위한 소스를 읽으십시오.
이름은 여기에 적합하지 않지만 우리는 많은 것을 포함하는 OSDEV 프로젝트를 참조 할 것입니다.
학습 참조로 사용할 수있는 아주 좋은 프로젝트. 우리는 어떤 방식 으로든 우리를 도왔던 모든 사람에게 큰 감사를 표합니다.