Pagpagawas sa operating system ToaruOS 2.1

Ang pagpagawas sa sama sa Unix nga operating system ToaruOS 2.1 gipatik, gisulat gikan sa wala ug gihatagan sa kaugalingon nga kernel, boot loader, standard C library, manager sa package, mga sangkap sa wanang sa gumagamit ug usa ka graphical interface nga adunay usa ka composite window manager. Ang proyekto sa sinugdan naugmad sa Unibersidad sa Illinois isip research work sa natad sa pagmugna og bag-ong composite graphical interfaces, apan unya nausab ngadto sa bulag nga operating system. Ang code sa proyekto gisulat sa C ug giapod-apod ubos sa lisensya sa BSD. Ang usa ka buhi nga hulagway sa 14.4 MB sa gidak-on giandam na alang sa pag-download, nga mahimong sulayan sa QEMU, VMware o VirtualBox.

Pagpagawas sa operating system ToaruOS 2.1

Ang ToaruOS gibase sa usa ka kernel nga naggamit ug hybrid modular nga arkitektura nga naghiusa sa usa ka monolithic nga gambalay ug mga himan alang sa paggamit sa loadable modules, nga naglangkob sa kadaghanan sa anaa nga device drivers, sama sa disk drivers (PATA ug ATAPI), EXT2 ug ISO9660 file system, framebuffer. , mga keyboard, ilaga, network card (AMD PCnet FAST, Realtek RTL8139 ug Intel PRO/1000), sound chips (Intel AC'97), ingon man mga VirtualBox add-on alang sa mga guest system. Ang kernel nagsuporta sa Unix thread, TTY, virtual file system, pseudo file system/proc, multithreading, IPC, ramdisk, ptrace, shared memory, multitasking ug uban pang standard features.

Ang sistema kay adunay composite window manager, nagsuporta sa dinamikong linked executable files sa ELF format, multitasking, graphics stack, makadagan sa Python 3 ug GCC. Ext2 ang gigamit isip file system. Ang bootloader nagsuporta sa BIOS ug EFI. Gitugotan sa network stack ang paggamit sa BSD-style socket API ug nagsuporta sa mga interface sa network, lakip ang loopback.

Lakip sa mga lumad nga aplikasyon, ang Vi-like code editor nga si Bim nagbarug, nga gigamit sa miaging pipila ka tuig aron mapalambo ang mga aplikasyon nga piho sa ToaruOS sama sa file manager, terminal emulator, graphics panel nga adunay suporta sa widget, manager sa package, ingon man. isip mga librarya alang sa pagsuporta sa mga hulagway (PNG, JPEG ) ug TrueType nga mga font. Ang mga programa sama sa Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo emulator, Bochs, ug uban pa gi-port na sa ToaruOS.

Ang proyekto nagpalambo usab sa kaugalingon nga dinamikong programming language, Kuroko, nga gidesinyo sa pag-ilis sa Python sa dihang nag-develop sa mga utilities ug custom nga mga aplikasyon alang sa sistema. Ang lengguwahe nagpahinumdum sa Python sa syntax (gipahimutang ingon usa ka pinamubo nga diyalekto sa Python nga adunay tin-aw nga kahulugan sa mga variable) ug adunay usa ka compact kaayo nga pagpatuman. Ang paghugpong ug paghubad sa bytecode gisuportahan. Ang bytecode interpreter naghatag ug garbage collector ug nagsuporta sa multithreading nga walay paggamit sa global locking. Ang compiler ug interpreter mahimong i-compile sa porma sa usa ka gamay nga shared library (~500KB), integrated uban sa ubang mga programa ug extensible pinaagi sa C API. Dugang sa ToaruOS, ang pinulongan mahimong magamit sa Linux, macOS, Windows ug modagan sa mga browser nga nagsuporta sa WebAssembly.

Sa bag-ong pagpagawas:

  • Gidugang ang inisyal nga suporta alang sa AArch64 (ARMv8) nga arkitektura, lakip ang eksperimento nga abilidad sa paggamit sa ToaruOS sa Raspberry Pi 400 board ug sa QEMU emulator.
  • Ang pagproseso ug pagpasa sa mga signal sa mga proseso sa wanang sa tiggamit gidesinyo pag-usab. Gipatuman ang mga tawag sa sigaction, sigprocmask, sigwait ug sigsuspend.
  • Gipauswag ang pagdumala sa memorya sa wanang sa tiggamit. Gidugang ang tawag sa sistema sa munmap.
  • Ang komposit nga manedyer nagpatuman sa usa ka blur nga epekto ug nag-usab sa pagdumala sa mga panghitabo kung ang gidak-on sa bintana giusab.
  • Ang terminal rendering gipauswag, ang lazy rendering gipatuman, ug ang glyph cache gidugang para sa TrueType nga mga font.
  • Ang mga kapabilidad sa kompositor gipalapdan.
  • Ang mga mekanismo sa pag-set sa orasan gidugang, lakip ang settimeofday system call ug gipalapdan nga kapabilidad sa date utility.
  • Gipauswag nga network stack. Ang ifconfig utility adunay dugang nga suporta alang sa pag-set sa mga adres sa IPv4 ug mga setting sa ruta. Gipaandar ang operasyon sa ICMP sockets. Gidugang nga suporta alang sa recvfrom function alang sa UDP ug ICMP sockets.
  • Gidugang sa bootloader ang abilidad sa pagtrabaho sa mga USB keyboard.
  • Usa ka butang alang sa pagtangtang sa mga file gidugang sa menu sa konteksto sa file manager.
  • Gipauswag nga pagpakita sa mga graph sa monitor sa sistema.
  • Gidugang ang grep utility nga adunay regular nga suporta sa ekspresyon.
  • Gipauswag nga ps command output (gidugang dugang nga mga kolum).

Pagpagawas sa operating system ToaruOS 2.1


Source: opennet.ru

Idugang sa usa ka comment