Release of ToaruOS 2.3 operating system

The release of the Unix-like operating system ToaruOS 2.3 has been published. It is written from scratch and comes with its own kernel, bootloader, standard C library, package manager, user space components, and a graphical interface with a compositing window manager. Originally, the project was developed at the University of Illinois as a research effort in creating new composite graphical interfaces, but then transformed into a standalone operating system. The project code is written in C and is distributed under the BSD license. A live image, sized at 7.4 MB, is available for download and can be tested in QEMU, VMware, or VirtualBox. Release of ToaruOS 2.3 operating system

At the core of ToaruOS is a kernel that uses a hybrid modular architecture, combining a monolithic core with support for loadable modules, in which most available device drivers are designed, such as disk drivers (PATA and ATAPI), EXT2 and ISO9660 file systems, framebuffer, keyboard, mouse, network cards (AMD PCnet FAST, Realtek RTL8139, and Intel PRO/1000), sound chips (Intel AC’97), as well as VirtualBox additions for guest systems. The kernel supports Unix streams, TTY, virtual file systems, pseudo-filesystem /proc, multithreading, IPC, ramdisk, ptrace, shared memory, multitasking, and other typical features.

The system features a compositing window manager, supports dynamically linked executables in ELF format, multitasking, and a graphic stack. It can run Python 3 and GCC. The ext2 filesystem is utilized. The bootloader supports both BIOS and EFI. The network stack allows the use of BSD-style socket API and supports network interfaces, including loopback.

Notable applications include a Vi-like code editor called Bim, which has been used in recent years for the development of ToaruOS-specific applications such as a file manager, terminal emulator, graphical panel with widget support, package manager, and libraries for image support (PNG, JPEG) and TrueType fonts. Ported to ToaruOS are programs like Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, and others.

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 language's syntax resembles Python (positioned as a simplified dialect of Python with explicit variable definitions) and features a very compact implementation. Bytecode compilation and interpretation are supported. The bytecode interpreter provides garbage collection and supports multithreading without using global locking. The compiler and interpreter can be compiled into a small shared library (~500KB), integrable with other programs and extendable via a C API. In addition to ToaruOS, the language can be used on Linux, macOS, Windows, and run in browsers with WebAssembly support.

In the new release:

  • The terminal emulator has been enhanced with tab support, which can be switched using the sequence Alt-digit. Bold font emulation is implemented through double glyph overlay. Submenus 'Terminal state' for displaying the status of various modes and 'Send signal' for sending signals to background processes have been added. Release of ToaruOS 2.3 operating system
  • A system manual viewer has been implemented, supporting man pages in roff format. Release of ToaruOS 2.3 operating system
  • A submenu has been added to the context menu for managing tiled window layouts. Release of ToaruOS 2.3 operating system
  • 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. Kernel loading address randomization support is implemented. The ABI of system calls has been transitioned to utilize syscall/sysret instructions.
  • The capabilities of the virtual console (TTY) have significantly expanded, providing emulation of VGA text mode based on the framebuffer.
  • In the version for the Aarch64 architecture, the ability to boot into 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 been updated with functions such as getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, and 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 programming language Kuroko has been updated to version 1.5rc2.
  • The text editor Bim has been updated to version 3.2, designed with Vim in mind. The new version features improved syntax highlighting, expanded support for Kuroko scripts, and a new input auto-completion system.

Source: opennet.ru

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