发布ToaruOS 1.14操作系统和Kuroko 1.1编程语言

ToaruOS 1.14 项目已发布,开发一个从头开始编写的类 Unix 操作系统,具有自己的内核、引导加载程序、标准 C 库、包管理器、用户空间组件以及带有复合窗口管理器的图形界面。 在目前的开发阶段,系统的能力足以运行Python 3和GCC。 该项目代码是用 C 语言编写的,并在 BSD 许可证下分发。 已准备好 14 MB 大小的实时映像供下载,可以在 QEMU、VMware 或 VirtualBox 中进行测试。

发布ToaruOS 1.14操作系统和Kuroko 1.1编程语言

该项目于 2010 年在伊利诺伊大学启动,最初是作为创建新的复合图形界面领域的研究工作而开发的。 自 2012 年以来,该开发已转变为 ToaruOS 操作系统,该系统最初是作为一个学生项目开发的,后来发展成为一种周末爱好,并被围绕该项目形成的社区所接受。 目前的系统配备了复合窗口管理器,支持 ELF 格式的动态链接可执行文件、多任务处理、图形和网络堆栈。

该软件包包括Python 3.6编程语言的端口,用于开发一些特定于ToaruOS的图形应用程序,例如包管理器、图形编辑器、PDF查看器、计算器和简单的游戏。 移植到ToaruOS的第三方程序包括Vim、GCC、Binutils、FreeType、MuPDF、SDL、Cairo、Doom、Quake、超级任天堂模拟器、Bochs等。

ToaruOS 基于使用混合模块化架构的内核,该架构结合了整体框架和使用可加载模块的工具,这些模块构成了大多数可用的设备驱动程序,例如磁盘驱动程序(PATA 和 ATAPI)、EXT2 和 ISO9660 文件系统、帧缓冲区、键盘、鼠标、网卡(AMD PCnet FAST、Realtek RTL8139 和 Intel PRO/1000)、声音芯片(Intel AC'97)以及用于客户系统的 VirtualBox 附加组件。

内核提供的原语包括Unix线程、TTY、虚拟文件系统、多线程、IPC、共享内存、多任务和其他标准功能。 ext2 用作文件系统。 为了与内核交互,提供了一个伪 FS /proc 实现,该实现与 Linux 类似。

2021 年的计划包括 64 位 x86-64 架构的工作(目前,仅为 32 位 x86 系统生成程序集)以及对多处理器系统 (SMP) 的支持。 其他目标包括提高信号处理和同步方法领域与 POSIX 规范的兼容性,将标准 C 库提升到 Newlib 级别,以及实现自己的 C 语言编译器和开发工具。

该项目还在开发自己的动态编程语言 Kuroko,旨在在为系统开发实用程序和自定义应用程序时取代 Python。 该语言支持字节码编译和解释,其语法类似于Python(它被定位为Python的缩写方言,具有显式变量定义)并且具有非常紧凑的实现。 字节码解释器提供垃圾收集器并支持多线程而不使用全局锁定。 编译器和解释器可以以小型共享库(~500KB)的形式进行编译,与其他程序集成,并可通过 C API 进行扩展。 除了 ToaruOS 之外,该语言还可以在 Linux、macOS、Windows 上使用,并在支持 WebAssembly 的浏览器中运行。

新版本的ToaruOS专注于标准C库和Kuroko编程语言的开发。 例如,libc 中添加了正确计算 Quake 游戏中的光照参数所需的数学函数。 在 EFI 模式下启动 VirtualBox 的能力已得到改进。 通过使用 RAM 磁盘映像压缩,ISO 映像的大小已减小。

新版本的Kuroko 1.1语言增加了对async和await的支持,实现了多线程,提高了与Python 3的兼容性,支持多值赋​​值,扩展了用C语言编写处理程序的工具,增加了对函数类型注释的支持,增加了关键字“yield”和“yield from”,集成了 os、dis、fileio 和 time 模块,在 str、list、dict 和 bytes 中实现了新方法,添加了对预编译为字节码的支持,许可证已改为MIT(之前是MIT和ISC的组合)。

来源: opennet.ru

添加评论