借り初めのひみつきち

仮ブログです。

maystorm

MYOS の現状

前回の記事でチラッと触れたものの正式な告知をしていなかったのでここで現状をまとめます。 もともと MYOS の実装には Rust の nightly の機能が必要だったため、 nightly の機能を積極的に使っていました。 nightly の機能は安定化されていないため、今ま…

ハイブリッドアーキテクチャ

第12世代 Intel プロセッサの最大の特徴は、高性能コア (Performance の P) と高効率コア (Efficient の E) によるハイブリッドアーキテクチャを採用していることです。 これは Arm で big.LITTLE と呼ばれていたものによく似ていて、 ひとつのプロセッサで…

最近の myos

最後にこの記事書いたの何ヶ月前だったかな?な感じなのでタイトルも変更です。 綺麗なウィンドウシステムがそれなりに動くようになって逆に見た目の進化が乏しくなってしまった myos ですが、今も中身は進化しています。 外部アセンブラの廃止 高級言語で O…

私の OS のご紹介

ここ数年 Rust で meg-os という名前の自作 OS を作っています。 github.com 過去に何度か0から作り直しているので、似たような名前の別のものを昔見たり聞いたりしたことがあるかもしれません。 現在のコードベースのコードネームは「Maystorm」となってい…

謎の SSE 例外

先週、 myos で hd audio に対応しましたが、波形メモリに直接波形を書き込むことで beep 音を生成していました。 この方法だと波形生成後のフィルター処理などが困難で、複数のアプリケーションで同時に音を鳴らすこともできませんでした。 ということで、…

今月の myos

久しぶりの更新になります。 現在のバージョンの myos には明確な内部目標がありました。 Intel HD Audio の対応です。 *1 HD Audio は近年の PC にはかなりの割合で搭載されており、仕様も公開されていてそれなりに情報が出揃っているので実装可能だろうと…

今月の myos

このシリーズ、ほぼ月1になっていたのでタイトルを変更します。 SIMD と Lazy FPU save / restore CPU の高速化はいくつかの歴史を経て、近年の CPU は「ひとつの命令で多数のデータを処理する」命令をサポートしています。 これを一般に SIMD (Single Inst…

今週の MYOS 🧚‍♀️

MYOS でも簡単なゲームを動かせそうになってきたので準備をします。 多くのゲームは画面内をキャラクターが動き回りますが、キャラクターを描画する時は背景との重ね合わせ処理が必要になりますし、キャラクターが移動するときはそれに加えて元いた場所の背…

今週の MYOS

wasm-strip MYOS のアプリケーションは WebAssembly 形式に対応していて、現在は Rust で開発する前提でライブラリの整備を進めています。 しかしどうやら Rust で WebAssembly を生成すると Release ビルドにも関わらずバイナリにデバッグ情報のようなもの…

今週の MYOS

今週というタイトルなのに最後の更新何週間前だったっけ?という最近の MYOS 界隈のトピックです。 スケジューラキュー 一般にマルチタスク OS のスケジューラには実行待機中のスレッドを管理するためのキューがあります。 このキューは全てのプロセッサコア…

今週の MYOS

さいきんの MYOS 界隈のトピックです。 WASM 高速化 以前の大規模改修で数倍の高速化に成功した WASM ランタイムですが、まだいくつか課題と高速化の余地があります。 まず、実行時エラーの処理を改善しました。 以前のエラー処理は命令実行時に現在の命令を…

今週の MYOS 🎉

今週、というには間が空いてしまった最近の MYOS/TOE 界隈のトピックです。 MAYSTORM 直訳すると5月の風になります。 MYOS が最初のコミットから1年経ったので、1周年を記念して新しい名前を付けて仮プロジェクトから正式なプロジェクトに昇格しました gi…