ToaruOS 2.3 and 2.3.1

ToaruOS 2.3 and 2.3.1 ToaruOS 2.3 and 2.3.1 ToaruOS 2.3 and 2.3.1 ToaruOS 2.3 and 2.3.1

April 28 and May 5 took place releases 2.3 and 2.3.1 of the Unix-like operating system ToaruOS, which was built from scratch and comes with its own kernel, bootloader, standard C library, package manager, user space components, and a graphical interface featuring a composite window manager.

Initially, the project was developed at the University of Illinois as a research endeavor in creating new composite graphical interfaces, but later evolved into a standalone operating system. The project's code is written in C and is distributed is licensed under the BSD license. A live image (2.3.1), size 7.4 MB, is prepared for testing in QEMU, VMware, or VirtualBox.

ToaruOS is based on a kernel that utilizes a hybrid modular architecture, combining a monolithic core with means for loading modules, in which most of the available device drivers are implemented, such as disk drivers (PATA and ATAPI), the Ext2 and ISO9660 filesystems, framebuffer, keyboard, mouse, network cards (AMD PCnet FAST, Realtek RTL8139, and Intel PRO/1000), sound chips (Intel AC’97), and VirtualBox enhancements for guest systems. The kernel supports Unix threads, TTY, virtual filesystem, pseudo-filesystem /proc, multithreading, IPC, ramdisk, ptrace, shared memory, multitasking, and other standard features.

The system is equipped with a composite window manager, supports dynamically linked executable files in ELF format, multitasking, graphical stack, can run Python 3 and GCC. Ext2 is used as the filesystem. The bootloader supports both BIOS and EFI. The network stack allows the use of BSD-style socket APIs and supports network interfaces, including loopback.

Among its own applications, a Vi-like code editor called Bim stands out, which has been used for the last few years to develop ToaruOS-specific applications such as a file manager, terminal emulator, a graphical panel with widget support, a package manager, as well as libraries for image support (PNG, JPEG) and TrueType fonts. Programs such as Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, and the Super Nintendo emulator, Bochs, etc., have been ported to ToaruOS.

The project is also developing its own dynamic programming language Kuroko, designed to replace Python for developing utilities and user applications for the system. The syntax of the language is reminiscent of Python (marketed as a concise dialect of Python with explicit variable definitions) and features a very compact implementation. It supports both compilation and bytecode interpretation. The bytecode interpreter provides a garbage collector and supports multithreading without using global locks. The compiler and interpreter can be compiled as a small shared library (~500KB), integrated with other programs, and extended via a C API. Besides ToaruOS, the language can be used on Linux, macOS, Windows, and can run in browsers with WebAssembly support.

In new release:

  • The terminal emulator has added support for tabs, which can be switched using the Alt-number sequence. Bold font rendering is emulated via double glyph overlay. Submenus have been added under 'Terminal state' to display the status of various modes and 'Send signal' for sending signals to background processes.
  • A system manual viewer has been implemented, supporting man pages in roff format.
  • A submenu has been added to the context menu for managing tiled window layouts.
  • New system calls have been implemented in the kernel, including pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage, and fcntl. Support for FD_CLOEXEC and FD_CLOFORK flags has been added. Support for kernel load address randomization has been implemented. The ABI for system calls has been migrated to use syscall/sysret instructions.
  • The capabilities of the virtual console (TTY) have been significantly expanded, providing emulation of VGA text mode based on the framebuffer.
  • In the version for the Aarch64 architecture, the ability to run in virtual machines based on QEMU has been implemented.
  • The network stack has added support for simultaneous operation with multiple ICMP sockets.
  • The standard libc library has added functions getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig.
  • New standard utilities rmdir, uniq, cmp, zcat, realpath, id, nohup, and cksum have been added. New options have been added to ls, grep, and fgrep. The utilities ps, top, pstree, killall, and pidof have been rewritten to use the new libtoaru_procfs library, unifying interaction with the pseudo-filesystem /proc. The command interpreter esh has been enhanced.
  • The check-image utility has been added to verify the ability of the graphics library to load an image and display its size.
  • The Kuroko programming language has been updated to version 1.5rc2.
  • The text editor has been updated to version 3.2 Bim (github.com), created with an eye on Vim. The new version features improved syntax highlighting, expanded support for Kuroko language scripts, and a new input auto-completion system.

Source: linux.org.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster