Phát hành hệ điều hành ToaruOS 1.14 và ngôn ngữ lập trình Kuroko 1.1

Đã có bản phát hành dự án ToaruOS 1.14, phát triển một hệ điều hành giống Unix được viết từ đầu với kernel riêng, bộ tải khởi động, thư viện C tiêu chuẩn, trình quản lý gói, các thành phần không gian người dùng và giao diện đồ họa với trình quản lý cửa sổ tổng hợp. Ở giai đoạn phát triển hiện tại, khả năng của hệ thống đủ để chạy Python 3 và GCC. Mã dự án được viết bằng C và được phân phối theo giấy phép BSD. Một hình ảnh trực tiếp có kích thước 14 MB đã được chuẩn bị để tải xuống, có thể được kiểm tra trong QEMU, VMware hoặc VirtualBox.

Phát hành hệ điều hành ToaruOS 1.14 và ngôn ngữ lập trình Kuroko 1.1

Dự án bắt đầu vào năm 2010 tại Đại học Illinois và ban đầu được phát triển như một công trình nghiên cứu trong lĩnh vực tạo giao diện đồ họa tổng hợp mới. Kể từ năm 2012, sự phát triển đã chuyển thành hệ điều hành ToaruOS, ban đầu được phát triển như một dự án của sinh viên, sau đó phát triển thành một sở thích cuối tuần, được cộng đồng hình thành xung quanh dự án đón nhận. Ở dạng hiện tại, hệ thống được trang bị trình quản lý cửa sổ tổng hợp, hỗ trợ các tệp thực thi được liên kết động ở định dạng ELF, đa nhiệm, đồ họa và ngăn xếp mạng.

Gói này bao gồm một cổng ngôn ngữ lập trình Python 3.6, được sử dụng để phát triển một số ứng dụng đồ họa dành riêng cho ToaruOS, chẳng hạn như trình quản lý gói, trình chỉnh sửa đồ họa, trình xem PDF, máy tính và các trò chơi đơn giản. Các chương trình của bên thứ ba được chuyển sang ToaruOS bao gồm Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, trình giả lập Super Nintendo, Bochs, v.v.

ToaruOS dựa trên nhân sử dụng kiến ​​trúc mô-đun lai kết hợp khung nguyên khối và các công cụ để sử dụng các mô-đun có thể tải, tạo thành phần lớn trình điều khiển thiết bị có sẵn, chẳng hạn như trình điều khiển đĩa (PATA và ATAPI), hệ thống tệp EXT2 và ISO9660, bộ đệm khung , bàn phím, chuột, card mạng (AMD PCnet FAST, Realtek RTL8139 và Intel PRO/1000), chip âm thanh (Intel AC'97), cũng như các tiện ích bổ sung VirtualBox cho hệ thống khách.

Các nguyên hàm được cung cấp bởi kernel bao gồm các luồng Unix, TTY, hệ thống tệp ảo, đa luồng, IPC, bộ nhớ dùng chung, đa nhiệm và các tính năng tiêu chuẩn khác. ext2 được sử dụng làm hệ thống tập tin. Để tương tác với kernel, triển khai pseudo-FS /proc được cung cấp, được tạo bằng cách tương tự với Linux.

Các kế hoạch cho năm 2021 bao gồm hoạt động trên kiến ​​trúc x64-86 64 bit (hiện tại, các cụm lắp ráp chỉ được tạo cho hệ thống x32 86 bit) và hỗ trợ cho các hệ thống đa bộ xử lý (SMP). Các mục tiêu khác bao gồm cải thiện khả năng tương thích với các thông số kỹ thuật POSIX trong lĩnh vực phương pháp đồng bộ hóa và xử lý tín hiệu, đưa thư viện C tiêu chuẩn lên cấp độ Newlib và triển khai các công cụ phát triển và trình biên dịch ngôn ngữ C của riêng nó.

Dự án cũng đang phát triển ngôn ngữ lập trình động của riêng mình là Kuroko, được thiết kế để thay thế Python khi phát triển các tiện ích và ứng dụng tùy chỉnh cho hệ thống. Ngôn ngữ này hỗ trợ biên dịch và giải thích mã byte, cú pháp của nó giống với Python (nó được định vị là một phương ngữ rút gọn của Python với định nghĩa rõ ràng về các biến) và có cách triển khai rất nhỏ gọn. Trình thông dịch mã byte cung cấp trình thu thập rác và hỗ trợ đa luồng mà không cần sử dụng khóa toàn cục. Trình biên dịch và trình thông dịch có thể được biên dịch dưới dạng một thư viện chia sẻ nhỏ (~500KB), được tích hợp với các chương trình khác và có thể mở rộng thông qua API C. Ngoài ToaruOS, ngôn ngữ này có thể được sử dụng trên Linux, macOS, Windows và chạy trên các trình duyệt hỗ trợ WebAssembly.

Bản phát hành mới của ToaruOS tập trung vào phát triển thư viện C tiêu chuẩn và ngôn ngữ lập trình Kuroko. Ví dụ: các hàm toán học cần thiết để tính toán chính xác các thông số ánh sáng trong trò chơi Quake đã được thêm vào libc. Khả năng khởi động vào VirtualBox ở chế độ EFI đã được cải thiện. Kích thước của ảnh iso đã được giảm bằng cách sử dụng tính năng nén ảnh đĩa ram.

Bản phát hành mới của ngôn ngữ Kuroko 1.1 bổ sung hỗ trợ cho async và chờ đợi, triển khai đa luồng, cải thiện khả năng tương thích với Python 3, hỗ trợ gán nhiều giá trị, mở rộng các công cụ để viết trình xử lý bằng ngôn ngữ C, thêm hỗ trợ cho chú thích kiểu cho các hàm, bổ sung thêm tính năng từ khóa “yield” và “yield from”, các mô-đun os, dis, fileio và time đã được tích hợp, các phương thức mới đã được triển khai trong str, list, dict và byte, hỗ trợ biên dịch trước thành mã byte đã được thêm, giấy phép đã có được đổi thành MIT (trước đây là sự kết hợp giữa MIT và ISC).

Nguồn: opennet.ru

Thêm một lời nhận xét