이것은 Libertyos 커널의 공식 저장소입니다. Libertyos는 Rust로 제작 된 운영 체제이며 오픈 소스, 무료 사용 및 새로운 기고자에게 개방적입니다. 로스의 모든 것은 처음부터 만들어 지거나 만들어 질 것입니다. 현재 LOS는 X86_64 시스템을 지원하며 간단한 부트 로더를 사용하여 실제 하드웨어에서 부팅 할 수 있습니다. 이 운영 체제는 지속적으로 작업 중이며 모든 변경 사항은 versionhistory.md 파일 (이 저장소의 루트 디렉토리)에 기록됩니다. 버전 간의 변경 사항에 대한 자세한 설명을 보려면 GitHub 저장소에서 Commits를 읽을 수 있습니다.
기여하는 방법
이 커널을 더 좋게 만드는 데 도움을 주시겠습니까? 우리는해야 할 일이 많으며 항상 도움을 줄 수 있습니다! 이 저장소에는 커널에 대한 아이디어를 설명하는 다른 파일이 포함 된 폴더가 있습니다. 새로운 아이디어가있는 경우 아이디어 폴더 내에 새 파일을 만들고 풀 요청을 제출하면 우리 중 하나가 귀하의 아이디어를 기본 지점에 병합합니다. 현재 작업중인 훌륭한 기능이 많이 있으며, 우리는 우리가 얻을 수있는 한 많은 재능있는 개발자를 사용할 수 있습니다!
블로그
2022 년 8 월 22 일 현재 블로그 파일 (blog.md)이 있습니다. 이것은 디자인 결정 중 일부, 개발의 일부 문제 및 가까운 시일 내에 무엇을 기대 해야하는지 설명 할 것입니다. Libertyos는 죽지 않았습니다. 이 프로젝트의 미래는 미래의 미래가 있습니다.
Libertyos 건물/운영
- 이 저장소를 복제하십시오.
- 이 저장소를 복제 한 위치로 이동하십시오.
- 다음을 설치했는지 확인하십시오.
- 부트 스트랩 스크립트 실행 (./bootstrap.sh)
- "Cargo Run -Release"를 사용하여 "Cargo Build -Release"로 커널을 컴파일하거나 QEMU에서 커널을 실행하십시오.
현재 구현 된 기능
- X86-64 아키텍처 지원
- Rust의 핵심 및 할당 상자에 대한 지원
- 링크리스트, 버디 알 로베이션 및 범프 할당을 사용한 메모리 할당
- 기본 오류 처리
- QEMU와 함께 LOS 실행에 대한 내장 지원
- 여러 키보드 레이아웃을 지원합니다
- 기본 작업-실행자를 포함한 비동기 기능에 대한 기본 지원
- 파일 시스템에 대한 읽기/쓰기 지원 (특정 파일 시스템에 대한 지원은 아직 구현되지 않았지만 기초는 이미 구현되었습니다)
- Libertyos (libcore)를 위해 제작 된 핵심 라이브러리를 사용합니다.
- 기본 대수, 지오메트리 등을 포함한 수학적 계산을 지원합니다.
- C- 타입 지원
- 구문 분석 글꼴에 대한 기본 지원
- 시간 관리
- 시스템 호출
- 기본 프로세스 관리
- Stdin, Stdout 및 Stderr에 대한 지원
- 사용자 공간에서 실행 프로세스에 대한 기본 지원
WIP 기능
- Libertyos를 위해 제작 된 기본 파일 시스템
- 전체 커널에 대한 전체 문서
- 뚱뚱한 파일 시스템에 대한 읽기/쓰기에 대한 완전한 지원
- 기본 네트워킹 기능
- 컴퓨터 생쥐에 대한 지원
- 기본 쉘
계획된 기능
- 팔 기반 목표에 대한 지원
- glibc/musl에 대한 지원 (또는 아마도 특정 부분을 재 작성)
- FAT, FAT32, exfat 파일 시스템에 대한 지원
- ext2, ext3, ext4 파일 시스템에 대한 지원
- NTFS 파일 시스템 지원
- 호스트 이름
- 운영 체제 내에서 커널을 업데이트하는 기능
- 영어가 아닌 캐릭터에 대한 지원
- 유니 코드에 대한 완전한 지원
- 기본 사용자 정의
현재 예상되는 행동
- 커널은 Libertyos의 중요한 부분을 초기화합니다
- 커널에는 설정 프로세스에 대한 메시지가 표시됩니다
- 커널은 페이지 결함이 발생합니다. :(