Releases: tas0dev/mochiOS
Releases · tas0dev/mochiOS
Version 0.1 : Dev 4
このリリースにはmochiOSのデスクトップ/UI基盤を本格導入し、TTY・入力・描画周りを充実させるための変更が含まれています。
- 簡易的なGUIを作成しました。現状は特に何もできません。
- Kagami・Binder・ViewKit・Dockをデフォルトで含まれるアプリケーション/ライブラリとして追加しました
- デスクトップ/描画系: Kagamiに共有メモリでの描画などのセキュアな描画を実装しました
- 端末・TTY・Vim対応: src/core/syscall/tty.rsの新規実装を中心に、fs/io/ipc/signal/process/pgroupなどのシステムコール群が大きく更新され、Vim起動時のGPFやスタック破壊、入力不能などの問題が修正されています(ただし完全な動作はまだしません)
- shellのANSI処理が拡張されました。
- xHCI/USBドライバまわりの修正、4byteパケット取りこぼし修正、マウスがキーボード誤認識される不具合の修正、マウス優先処理などを行いました。
- その他いくつかの不具合を修正しました
Full Changelog: 0.1-dev3.1...0.1-dev4
Version 0.1 : Dev 3.1
前回のリリースにいくつかのファイルが含まれていませんでした
Full Changelog: 0.1-dev3...0.1-dev3.1
Version 0.1 : Dev 3
このリリースではcext(Core Extension)対応の追加と、fs.service、disk.serviceのfs.cext、disk.serviceへの移行が含まれます。
また、全体的なビルドシステムの改善、起動時間の短縮を行いました。
また、カーネルモジュールの導入に伴いfsの読み書き速度も大幅に高速化されました。
-
fs.service/disk.serviceをサービス群から外し、src/modules/{fs,disk}のcextカーネルモジュール方式へ移行しました(旧src/services/fs/src/services/diskは削除)。 - ビルドフローの変更:
build.rs/builders/ にモジュールビルド経路が追加され、initfs/Modules/*.cextを生成・配置する流れに変更しました。 - 起動シーケンス変更: カーネル初期化にて
kmod::load_modules()→fsモジュールのマウントを実施するようし、サービス起動時の依存が軽量になりました。 - FS/ディスク性能改善: 新しいFSモジュール側で
block cache/inode cache/path cacheとATA DMA読み取りが実装され、fs全体を大幅に高速化しました。 - ユーザー空間I/O経路の簡素化:
src/user/fs.rsやshell側が従来のFSサービスへのIPCを送信する形式からより一般的なopen/read/readdir などのシステムコールを呼び出すように変更しました。これにより、大幅なIO高速化が見込まれます。 - 不具合の修正: argc/argvの受け渡しの不具合、getdents64の不具合などを修正しました。
- その他、いくつかの軽微なバグ、不具合を修正しました。
既知のバグ
- xHCI driverにて、マウスを動かすとそれがキーボードからの入力として扱われます
Full Changelog: 0.1-dev2...0.1-dev3
Version 0.1 : Dev 2
このリリースにはカーネルの全体的な機能追加と堅牢化を含みます。
- Shell.serviceに
ls / cat / echo / pwd / stat / head / tail / wc / grep / which / env / basename / dirnameをビルトインで実装しました - fs.serviceのIPC周りを微調整し、動作を改善しました。
- カーネルとサービス、ドライバを以下のように堅牢化しました:
- システムコールでユーザーポインタを検証するようにしました。
- IPCバッファのヒープ化を実装しました。
encode_fs_pathにてNULLを拒否するようになりました。- 中間ページテーブルへ
USER_ACCESSIBLEが伝播するようにし、HugePage衝突を検出するようになりました。 - xHCI driver: ポートリセットの手順を改善し、Link TRB cycle bit、HID修飾キーに全種類対応しました。
- Busyboxのハッシュを自動で更新されるようにしました。
- その他、READMEの記述の問題やscriptの修正などを行いました。
既知のバグ
- xHCI driverにて、マウスを動かすとそれがキーボードからの入力として扱われます
今回のリリースに貢献してくれた方
Full Changelog: 0.1-dev1...0.1-dev2
Version 0.1 : Dev 1
libc version0.1
mochiOSで使用できるlibcが含まれています