슬로스
SLOS는 간단한 조명 OS를 나타냅니다. 이 저장소는 ARM 프로세서에서 실행되는 SLOS의 소스 코드에 대한 것입니다. Xilinx Zynq7000 칩셋 (현재 Coraz7 보드에서 테스트)에서 Cortex-A9에서 테스트되었지만 다른 제품으로 확장 된 것으로 보입니다.
구현 목록
- 프로세스 관리
- TCB (작업 제어 블록)
- 작업 포크 -Forkyi ()
- GIC- 인터럽트 핸들러 (상단 절반 / 하단)
- 작업 동기화 (스핀 잠금)
- 작업 상태 -ASTIOM_RUNNING, TASK_WAITING
- 타이머 프레임 작업
- 실시간 타이머, 스케줄 타이머, 온산 타이머
- 타이머 인터럽트 핸들러
- RT 작업을위한 실시간 스케줄러
- 최초의 마감일 첫 번째 스케줄러
- 선제 적 맥락 스위치
- 작업을위한 CFS 스케줄러
- Q를 실행하고 대기 Q
- Linux 실행 Q 및 CFS 스케줄러를 모방합니다
- 가상 런타임으로 엔티티를 예약하십시오
- 쉘 작업, 작업자 작업, CPU 유휴 작업 및 더미 작업
- 메모리 관리
- 페이지 프레임 풀
- 작은 페이지 테이블 워크
- 가상 메모리 관리자
- 페이지 오류 핸들러
- 수요 페이징
- SLFS (간단한 라이트 파일 시스템)
- Ramdisk를 기반으로합니다
- 2 레벨 파일 시스템 : 최대 800KB의 파일 크기
- 사용 애플리케이션을위한 RAM 디스크 및 엘프 로더
- SVC 명령을 통한 SYSCALL -LIBSLOS.A
- 하드웨어 소프트웨어 코드 디자인
- PL 서브 시스템에서 맞춤형 주변 장치 HW에 대한 두 개의 FPGA (Modcore, ODEV) 구현
- 스크립트 기반 Vivado 프로젝트 구현
- DMA 인터럽트 핸들러가있는 장치 드라이버
- 아웃 스트림 장치 용 장치 드라이버
- SMP (대칭 다중 프로세서)
- CPU 0 및 CPU 1 부츠와 동일한 커널로 실행됩니다.
- PERCPU 리소스 스토리지
- CPU 0과 CPU 1 사이의 SGI (소프트웨어 생성 인터럽트)
- CPU 0과 CPU 1 간의 통신을위한 사서함
빌드 시스템 :
- Cmake 빌드, 빌드가 모두 작동합니다
- KCONFIG
- 장치 드라이버 용 정적으로 연결된 장치 트리
자세한 내용은 SCRATH.PDF의 Custom OS 개발에 대한 작은 책을 참조하십시오.
참고 : Cora Z7의 Petalinux-Package에 Petalinux V2023.2가 사용 및 검증되었습니다.