發布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

添加評論