유닉스 계열 운영체제 ToaruOS 2.3이 출시되었습니다. 자체 개발되었으며, 자체 커널, 부트로더, 표준 C 라이브러리, 패키지 관리자, 사용자 공간 구성 요소, 그리고 복합 윈도우 관리자가 포함된 그래픽 인터페이스를 제공합니다. 이 프로젝트는 원래 일리노이 대학교에서 새로운 복합 그래픽 인터페이스 개발 분야의 연구 프로젝트로 개발되었지만, 이후 별도의 운영체제로 전환되었습니다. 프로젝트 코드는 C 언어로 작성되었으며 BSD 라이선스에 따라 배포됩니다. 7.4MB의 라이브 이미지를 다운로드하여 QEMU, VMware 또는 VirtualBox에서 테스트해 볼 수 있습니다.

ToaruOS는 디스크 드라이버(PATA 및 ATAPI), EXT2 및 ISO9660 파일 시스템, 프레임 버퍼와 같은 사용 가능한 장치 드라이버의 대부분을 구성하는 로드 가능한 모듈을 사용하기 위한 도구와 모놀리식 프레임워크를 결합하는 하이브리드 모듈식 아키텍처를 사용하는 커널을 기반으로 합니다. , 키보드, 마우스, 네트워크 카드(AMD PCnet FAST, Realtek RTL8139 및 Intel PRO/1000), 사운드 칩(Intel AC'97) 및 게스트 시스템용 VirtualBox 추가 기능. 커널은 Unix 스레드, TTY, 가상 파일 시스템, 의사 파일 시스템 /proc, 멀티스레딩, IPC, 램디스크, ptrace, 공유 메모리, 멀티태스킹 및 기타 표준 기능을 지원합니다.
Cистема снабжена композитным оконным менеджером, поддерживает динамически связываемые исполняемые файлы в формате ELF, многозадачность, графический стек, может выполнять Python 3 и GCC. В качестве файловой системы применяется ext2. Загрузчик поддерживает BIOS и EFI. Сетевой стек позволяет использовать API сокетов в стиле BSD-систем и поддерживает сетевые интерфейсы, включая loopback.
기본 애플리케이션 중에서 Vi와 유사한 Bim 코드 편집기가 돋보입니다. 이 편집기는 지난 몇 년 동안 파일 관리자, 터미널 에뮬레이터, 위젯 지원 그래픽 패널, 패키지 관리자, 이미지(PNG, JPEG) 및 TrueType 글꼴을 지원하는 라이브러리 등 ToaruOS 전용 애플리케이션을 개발하는 데 사용되었습니다. ToaruOS는 Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs 등의 프로그램을 포팅했습니다.
이 프로젝트는 또한 시스템용 유틸리티 및 사용자 정의 애플리케이션을 개발할 때 Python을 대체하도록 설계된 자체 동적 프로그래밍 언어인 Kuroko를 개발하고 있습니다. 이 언어는 구문(명시적인 변수 정의가 포함된 Python의 단축 방언으로 위치)에서 Python을 연상시키며 구현이 매우 간단합니다. 바이트코드의 컴파일 및 해석이 지원됩니다. 바이트코드 인터프리터는 가비지 수집기를 제공하고 전역 잠금을 사용하지 않고 멀티스레딩을 지원합니다. 컴파일러와 인터프리터는 작은 공유 라이브러리(~500KB) 형태로 컴파일될 수 있으며, 다른 프로그램과 통합되고 C API를 통해 확장 가능합니다. ToaruOS 외에도 Linux, macOS, Windows에서 언어를 사용할 수 있으며 WebAssembly를 지원하는 브라우저에서 실행할 수 있습니다.
새 릴리스에서:
- В эмулятор терминала добавлена поддержка вкладок, переключаться между которыми можно последовательностью Alt-цифра. Реализована эмуляция жирного начертания шрифтов через двойное наложение глифов. Добавлены подменю «Terminal state» для включения показа состояния различных режимов и «Send signal» для отправки сигналов фоновым процессам.

- Реализован просмотрщик системных руководств, поддерживающий man-страницы в формате roff.

- В контекстное меню добавлено подменю для управления мозаичной компоновкой окон.

- В ядре реализованы новые системные вызовы, среди которых pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage и fcntl. Добавлена поддержка флагов FD_CLOEXEC и FD_CLOFORK. Реализована поддержка рандомизации адреса загрузки ядра. ABI системных вызовов переведено на использование инструкций syscall/sysret.
- Значительно расширены возможности виртуальной консоли (TTY), обеспечена эмуляция текстового режима VGA на базе фреймбуфера.
- В версии для архитектуры Aarch64 реализована возможность запуска в виртуальных машинах на базе QEMU.
- В сетевой стек добавлена поддержка одновременной работы с несколькими сокетами ICMP.
- В стандартную библиотеку libc добавлены функции getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
- Добавлены новые стандартные утилиты rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum. Добавлены новые опции в ls, grep и fgrep. Переписаны утилиты ps, top, pstree, killall и pidof, которые переведены на новую библиотеку libtoaru_procfs, унифицирующую работу с псевдо-ФС /proc. Расширен командный интерпретатор esh.
- Добавлена утилита check-image для проверки возможности загрузки изображения графической библиотекой и вывода размера изображения.
- Язык программирования Kuroko обновлён до версии 1.5rc2.
- До версии 3.2 обновлён текстовый редактор Bim, созданный с оглядкой на Vim. В новой версии улучшена подсветка синтаксиса, расширена поддержка скриптов на языке Kuroko и добавлена новая система автодополнения ввода.
출처 : opennet.ru



