OS 2020
OS 2020은 32 비트 OS입니다.
C 및 어셈블리 (NASM)로 작성된이 제품은 사용자 정의 부트 로더, LIBC 및 FAT32 파일 시스템을 제공합니다.
일부 스크린 샷



특징
이 OS는 내가 'Octos'라는 오래된 OS를 개선하는 것을 목표로합니다.
개선 목록은 다음과 같습니다.
- 부팅 시스템 : 2 단계 부트 로더가 구현되므로 2 개의 부트 로더가 있으며 OS는 동적으로로드됩니다. 런 타임에 청크의 끝을 감지합니다.
- 라이브러리 : Octos는 C ++로 작성되었으며 사용자 정의 표준 라이브러리가있었습니다. OS 2020은 LIBC (자세한 내용은 완전히 구현되지 않고이 파일을 참조하십시오)와 LIBK, LIBC는 메인 IO / 문자열 함수 및 LIBK 처리 및 데이터 구조 또는 경로 함수와 같은 SYSCALL 및 UTIL과 같은 시스템 관련 기능을 수집합니다.
- SYSCALLS : 주요 목표는 사용자 모드를 만드는 것이 아니라 앱에 SYSCALLS를 제공하는 것입니다.
- 파일 IO :이 OS는 OS의 파일 시스템을 검색하거나 바꾸는 스크립트를 가진 FAT32 드라이버를 제공합니다 (자세한 내용은이 파일 참조).
- 앱 : OS 2020에는 LS, CAT, Echo 및 입력 리디렉션이있는 쉘과 같은 Linux에서 영감을 얻은 여러 프로세스 (앱이라고 함)가 포함되어 있습니다.
- 메모리 : Octos는 C ++ 생성자 / 소멸자로 인해 메모리 누출로 고통 받았습니다. OS 2020은 생성자를 사용하지 않고 C를 사용합니다.
건축학
- DOC : 문서화
- SRC/Stage1 : 첫 부트 로더 청크 (전체 ASM)
- SRC/Stage2 : 두 번째 부트 로더 청크
- SRC/커널 : 코어 청크
- SRC/LIB : LIBC 및 LIBK
비다
- GCC 크로스 컴파일러 (I386 용)
- NASM
- mtools (FS의 경우 경로에 /sbin)
- qemu-system-i386 (선택 사항, 테스트)
- objcopy (선택 사항, 디버그)
- GDB (선택 사항, 디버그)
- xterm (선택 사항, 디버그)