FuzzyOS
1.0.0
32 비트 X86 콘솔 또는 그래픽 사용자 애플리케이션을 실행할 수있는 멀티 프로세싱 OS.
https://github.com/scopeinfinity/fuzzyos/releases에서 모든 릴리스를 찾으십시오
부팅 이미지는 해당 릴리스의 Assets 에서 찾을 수 있습니다.
스크린 샷은 Actions/CI에서 완료된 실행중인 Artifacts 로 위치 할 수 있습니다.
| 부트 로더 | 커널 턴 업 |
|---|---|
![]() | ![]() |
| 간단한 쉘 | 고양이 |
|---|---|
![]() | ![]() |
| 포크() | Tictactoe 게임 |
|---|---|
![]() | ![]() |
| 핑판 게임 | 로고 프로그래밍 |
|---|---|
![]() | ![]() |
| 데스크탑 |
|---|
![]() |
make images 사용하여 이미지를 직접 빌드하십시오. FuzzyOS.vdi 스토리지로 VM을 만듭니다. FuzzyOS.vmdk 로 VM을 만듭니다. dd 또는 scripts/burn.sh 사용하여 이미지를 디스크에 태우십시오 (잠재적으로 파괴적).bash scripts/burn.sh build/FuzzyOS.raw /path/to/devicefile| 특징 | 존재합니다 |
|---|---|
| 부팅 : 레거시 바이오스 | ✔️ |
| 부츠 : uefi | |
| 디스크 파티셔닝 스타일 : MBR | ✔️ |
| 디스크 파티셔닝 스타일 : GPT | |
| 내보낸 디스크 이미지 : VMDK | ✔️ |
| 내보낸 디스크 이미지 : VDI | ✔️ |
| 내보낸 디스크 이미지 : RAW | ✔️ |
| 커널 <-> 앱 및 앱 <-> 앱 격리 | ✔️ |
| Opearting-Mode : Real Mode (Boot-Loader + RealMode-Library) | ✔️ |
| Opearting-Mode : 보호 모드 (Kernel + 사용자 응용 프로그램) | ✔️ |
| 드라이버 : 디스크 IO | ✔️ |
| 드라이버 : 사진 | ✔️ |
| 드라이버 : 피트 | ✔️ |
| 드라이버 : 키보드 | ✔️ |
| 파일 시스템 : FFS (사내) (읽기 전용) | ✔️ |
| 인터럽트 핸들러 | ✔️ |
| SyScall : 텍스트 콘솔 IO | ✔️ |
| Syscall : 그래픽 | ✔️ |
| SyScall : 키보드 | ✔️ |
| SYSCALL : 파일 처리기 | ✔️ |
| 프로세스 세초 : 라운드 로빈 | ✔️ |
| 파일 시스템 : FFS (Custom) (읽기 전용) | ✔️ |
| 디스플레이 : 텍스트 모드 | ✔️ |
| 디스플레이 : 그래픽 -VGA 320x200 256 색상 | ✔️ |
| 동시성 : 다중 프로세싱 | ✔️ |
| 동시성 : 멀티 스레딩 | |
| 병행 | |
| 범위의 보안 | |
| 네트워킹 | |
| App-Build : 지원 c | ✔️ |
| App-Build : C ++ 지원 | ✔️ |
| App-Build : C/C ++ 표준 라이브러리 (필요에 따라) | ✔️ |
| App-Runtime : 힙 메모리 할당 | ✔️ |
| 응용 프로그램 : 계산기 | ✔️ |
| 신청 : 고양이 | ✔️ |
| 응용 프로그램 : 데스크탑 | ✔️ |
| 응용 프로그램 : 에코 | ✔️ |
| 응용 프로그램 : 포크 덤프 | ✔️ |
| 응용 프로그램 : 로고 | ✔️ |
| 신청 : LS | ✔️ |
| 응용 프로그램 : Ping-Pong | ✔️ |
| 응용 프로그램 : SH (터미널) | ✔️ |
| 응용 프로그램 : SimpleCPP (예) | ✔️ |
| 응용 프로그램 : 더보기 | ✔️ |
| 응용 프로그램 : 멀티 프로세싱 (예) | ✔️ |
| 응용 프로그램 : Tictactoe | ✔️ |
신청서 : Your's? Yes, raise a PR | ✔️ |
bash before_install.sh
make clean
make qemu
Maite를 사용하여 바이너리 및 이미지 파일을 작성하십시오.
make
이 순간에 테스트는 소스 코드에 사전 정의 된 ASM을 주입하여 관심 시점에서 실행을 중단시킵니다. 그 후 테스트는 QEMU 모니터를 사용하여 현재 상태를 예상 상태로 확인할 수 있습니다.
make test
디버그 모드에서 QEMU를 실행하고 GDB 서버를 설정하십시오.
make qemu_debug
그런 다음 GDB 서버에 연결하십시오.
make qemu_debug_connect
기고 .md