모놀리스 프로젝트는 최근 몇 가지 주요 개발 사항을 발표했습니다. 주요 내용은 다음과 같습니다:
Codeberg로의 마이그레이션
-
플랫폼 이전: 프로젝트 저장소가 GitHub에서 Codeberg로 성공적으로 이전되었습니다.
-
이전 사유: GitHub가 가시성 확보에 큰 도움이 되지 않으며, 플랫폼 자체의 버그와 속도 저하 문제가 심화됨에 따라 더 나은 대안을 모색한 결과입니다.
사용자 공간 Libc 개발 시작
-
Libc 라이브러리: 사용자 공간 프로그램들을 위한 C 표준 라이브러리 개발이 시작되었습니다.
-
현재 상태: 초기 단계로, 몇 가지 필수 함수만을 포함하며 정적 링크 방식으로 제공됩니다.
-
향후 계획: 메모리 절약 효과가 트레이드오프를 상쇄할 만큼 크지 않다고 판단하여, 가까운 시일 내에 동적 링크 지원을 도입할 계획은 없습니다.
새로운 데스크톱 인터페이스 프로토타입
-
인터페이스 개발: 새로운 데스크톱 인터페이스의 프로토타입이 공개되었습니다.
-
개발 방식: 대부분 AI에 의해 작성되었으며, 아직 실제 기능은 구현되지 않은 상태입니다.
-
목표: 현재는 시연용으로 작동하며, 추후 재작성될 예정입니다.
멀티태스킹 지원 구현
-
선점형 멀티태스킹: 선점형 멀티태스킹 기능이 구현되었습니다.
-
스케줄링: 기본적인 라운드 로빈(round-robin) 스케줄링 알고리즘을 사용하며, PIT(Programmable Interval Timer)를 활용하여 스케줄러를 트리거합니다.
-
안정성: 사용자 모드(usermode) 충돌 처리 기능이 추가되어, 사용자 모드 태스크가 충돌하더라도 운영체제가 계속 실행될 수 있도록 안정성을 확보했습니다.
-
개선 여지: 현재 버전은 프로토타입으로서 기능하며, 향후 개선의 여지가 많습니다.
시스템 호출(Syscalls) 확장 및 개선
-
신규 시스템 호출: 다양한 새로운 시스템 호출이 추가되었습니다.
-
입력 처리 방식 변경: 마우스 및 키보드 이벤트 콜백 등록을 위한 시스템 호출이 폴링(polling) 기반 방식으로 대체되었습니다. 이는 새로운 시스템 호출을 통해 구현됩니다.
광범위한 코드 리팩토링
- 코드 품질 향상: 프로젝트 전반에 걸쳐 상당한 양의 코드 리팩토링이 완료되었습니다. 이는 코드의 가독성, 유지보수성 및 성능 향상에 기여합니다.