世界を動かす技術を、日本語で。

ゼネバオペレーティングシステム

概要

XenevaOS は、x86_64とARM64両方に対応した新しいオペレーティングシステム Aurora というハイブリッドカーネルを採用 多彩な機能と独自開発のコンポーネントを搭載 オープンソース であり、幅広い貢献を歓迎 開発・ビルドは Windows環境 が中心

XenevaOSの特徴

  • x86_64およびARM64 アーキテクチャ対応
  • Aurora カーネル:ハイブリッドカーネル設計
  • 完全自作 による一貫したシステム構築
  • Higher Half Memory とMMIOマッピング対応
  • ドライバのdllファイル によるロード・リンク機構
  • SSE/SSE3 サポート
  • USB3 および Intel High Definition Audio 対応
  • マルチプロセッサ 対応(スケジューラは未完成)
  • アプリケーションローダー動的ライブラリ 機能
  • Freetype2 によるフォントレンダリング
  • Deodhai :合成型ウィンドウマネージャ
  • Chitralekha :独自グラフィックスライブラリ
  • Xeneva Terminal :ANSI/VT100エスケープシーケンス対応
  • Namdapha Desktop :独自デスクトップ環境
  • ストレージサポート :AHCI/SATA、NVMe、USB3
    • USB HID Mouse、USB Tablet、USB MSCドライバ
  • Deodhai-Audio :44kHz/16bit、ステレオ/モノ切替、ゲイン制御
  • ネットワーク機能 :IPv4、UDP/IP、TCP/IP、ICMP
  • 今後も機能追加予定

標準アプリケーションとサービス

  • Accent Player :オーディオプレーヤー
  • ファイルブラウザ
  • 計算機アプリ
  • Xeneva Terminal (ANSI/VT100対応)
  • XEShell
  • DeodhaiAudio :CLIオーディオサーバ
  • play :CLIアプリケーション
  • piano :CLIアプリケーション
  • カレンダー
  • Net Manager などのバックグラウンドサービス

貢献方法

  • オープンソースプロジェクト として開発者・研究者・愛好家からの貢献を歓迎
    • カーネル開発
    • ドライバ開発
    • 低レベルグラフィックス
    • アプリケーション機能
  • コード、ドキュメント、バグ報告、機能提案 など多様な形で参加可能
  • Contribution Guidelineオープンイシュー の確認推奨
  • ディスカッションへの参加でプロジェクトの方向性に貢献

ビルド・ドキュメント

  • Windows環境 でのビルドが必須
  • 詳細は Build Instructions ページを参照
  • ドキュメントは Documentations of XenevaOS を参照

連絡先

  • Email :manaskamal.kandupur@gmail.com

Hackerたちの意見

これは本当に素晴らしいプロジェクトだけど、GitHubのページにシステムの設計についてもっと情報があればいいな。例えば、1. Unixライクなシステムを目指してるの? 2. libcはサポートされてるの? XECLibがあるけど、これはカスタムlibcの実装っぽい? 3. IPCの原則は何? "PostBox IPC"があって、ウィンドウがウィンドウマネージャーと通信する方法はわかるけど、ウィンドウマネージャーがビデオドライバーとどうやって通信するのかは一目見ただけじゃわからない。 4. オブジェクトフォーマットは? XELoaderのドキュメントはあるけど、どうやって動くのか、リンカーがどのようにオブジェクトファイルを生成するのかまでは触れてない。これは明らかに多くの努力がかかってるし、クールなプロジェクトだね!

こんにちは、お問い合わせありがとうございます!今のところ、GitHubリポジトリには限られた情報しかありませんが、ドキュメント作成に取り組んでいます。 - XenevaはUnixのようには作られていませんが、Unixのコア原則のいくつかは踏襲しています。 - XenevaにはXECLibという独自のlibc実装があり、Xenevaのシステムコールインターフェースに結びついています。 - Xenevaは、共有メモリを介したIPC、ソケットを介したIPC、PostBox IPCと呼ばれる独自のメッセージベースの通信をサポートしています。現在、Xenevaはグラフィック出力にフレームバッファを使用していて、動作するビデオドライバは実装されていません。フレームバッファはWindowsマネージャのアドレス空間にマッピングされていて、Windowsマネージャがそのマッピングされた仮想アドレスに書き込むことで最終的な画像をフレームバッファに合成します。 - Xenevaは実行可能ファイルにPEフォーマットを使用していて、ELFサポートも実装できるでしょう。XELoaderは動的リンカーおよびローダープロセスで、特定の共有ライブラリにリンクすることで実行中のプロセスのシンボルを解決する役割を担っています。新しいプロセスが生成され、実行可能ファイルがロードされるたびに、XELoaderは必要な共有ライブラリをすべてロードし、それらをプロセスにリンクします。私たちのウェブサイトgetxeneva.comを参照すれば、将来の目標やビジョンのヒントが得られます。ありがとうございます、チームXENEVA。

誰かがOSを作るのはいつも印象的だよね。でも、大きなコミュニティに注目されるには、新しいOSはまた別のCベースのPOSIXスタイルのシステムとは違う必要がある。もうすでにたくさんあるし、十分に良いものだよね。レガシーを捨てて新しいことに挑戦するOSが見られたら嬉しいな。せいぜいWSLスタイルでLinuxをサポートするくらいで。

大きなコミュニティに注目されるには、新しいOSはまた別のCベースのPOSIXスタイルのシステムとは違う必要がある。もうすでにたくさんあるし、十分に良いものだよね。違う必要がある > レガシーを捨てて新しいことに挑戦するOSが見られたら嬉しいな。せいぜいWSLスタイルでLinuxをサポートするくらいで。似ている必要がある

こんにちは、コメントありがとうございます。Xenevaは現代のハードウェアとコンピューティングを考慮してゼロから構築されています。レガシーシステムからの移行を進めています。私たちのウェブサイトgetxeneva.comを参照すれば、目的や将来の目標、ビジョンについてのヒントが得られます!ありがとうございます、チームXENEVA。

https://www.redox-os.org/ や https://www.haiku-os.org/ はどう?Harvey OSは引退したよ: https://harvey-os.org/

新しいOSがHNでよく紹介されるけど、このプロジェクトはちょっと違うね。Windows上で作られてるっていうのがかなり珍しい特徴だと思う。開発者たちは、十分に詳細なビルド手順を提供してくれてるから、そんなに難しくはない。ただ、ビルド環境はかなり特定のものだね。VCにはたくさんの設定オプションがあるから、すべてが正しく設定されてるか注意が必要だと思う。コンパイルしたシステムをVMで動かすのは賢い選択だけど、WindowsのネイティブHyper-Vがサポートされてないのはちょっと残念。次のバージョンでは可能になるかもしれないね。このOSが他のOSとどう違うのか、作者が説明してくれたらいいな。特徴や利点がはっきりしないと、潜在的な貢献者が開発に時間やエネルギーを投資するのをためらうかもしれない。

ブータブルISOとか、せめてビデオの紹介があればいいのに。ゲーム用にWindowsマシン使ってるから、開発環境を設定するのは全然興味ないんだよね、やり方知ってても。

こんにちは、MSVCは私たちにとってかなり興味深いですね。コードは他のビルド環境にポートできることは間違いありません。たとえば、ARM64バージョンはclangとMSVCの両方の利点を活かしています。ビルドの設定はそんなに難しくなく、設定が完了すればワンクリックでビルドできます。Hyper-Vを使ってシステムを実行することも可能です。必要な設定はドキュメントに明確に記載されています。Windowsは仮想化ベースのセキュリティという追加のセキュリティを提供していて、XenevaOSを実行する際には無効にする必要があります。XenevaはVMware Workstation ProやVirtual Boxで十分にテストされています。私たちは実機サポートに取り組んでいて、プロジェクトを趣味のOSプロジェクトを超えたものにしようとしています。XenevaOSは現代のコンピューティングを念頭に置いてゼロから構築されています。現在、XRシステム(AR/VRデバイス)への対応を進めています。他のOSと比べて、Xenevaはレガシーハードウェアのコードを持たないので、現代の技術に集中しやすいです。このプロジェクトはマルチアーキテクチャを目指していて、パフォーマンス向上のためにソフトウェアの抽象化を最小限に抑え、ユーザーがソフトウェアの要件を修正するのではなく、ユーザーを第一に考えています。私たちのウェブサイトgetxeneva.comを参照すれば、プロジェクトの目的や目標、ビジョンについてのヒントが得られます!ありがとうございます、チームXENEVA。

非Unix/POSIXなOSを書くのは素晴らしい仕事だね。もっと多くの人が標準外の実装に挑戦して楽しむべきだと思う。自分は自作OSを作るOSデベロッパーのリストをいつも維持してるんだけど、これも追加するよ。

そのリストは公開されてるの?ちょっと見てみたいな。

プロジェクトはオープンソースを名乗ってるけど、ライセンスが見つからないな。持ってるの?

確認したファイルの多くには2-BSD条項が上にスタンプされてるけど、プロジェクトとその依存関係の組み合わせがどうなるのかはわからない。

それについても気になってたんだ。メールを送ったよ。

getxeneva.comより: 「従来のオペレーティングシステムとは異なり、XenevaOSはホログラフィックインターフェースとリアルタイム3D環境を可能にし、デジタルコンテンツとのインタラクションの仕方を根本的に変えます。私たちのビジョンは、2Dスクリーンの限界を超え、人間に適応するコンピューティングの世界に移行することです。」

これを作ってくれてありがとう、そして取り組んでくれて感謝!新しいオペレーティングシステムをコーディングするスキルと規律を持っている人にはいつも感心します。それに、また別のUNIXライクなOSじゃないことにも感謝です。UNIXライクなオペレーティングシステムを作ることに問題はないけど、他の道を試すことは大きな価値がありますよね。

新しいOSがコア機能とプレゼンテーションレイヤーの両方を気にしていると、いつも気になります。それって開発作業が広がりすぎない?

みんな、こんにちは!コメントに個別に返信できないのは、HNの制限で一度に数件しかコメントできないからなんだ。ここでまとめておくね。私たちチームXenevaは、現代のコンピューティングとハードウェアのためのOSを作るために頑張ってる二人組だよ。メンバーは、アッサム出身のマナス・カマル・チョウドリーで、2020年からXenevaOSの開発をしていて、技術的な開発の大部分を担当してる。プロジェクトには後からアユシュマン・ボラも加わって、戦略や実行部分を見てくれてる。彼はプロジェクトのプロフェッショナルな側面を担当してるんだ。Xenevaはもともとマナスの趣味のプロジェクトとして始まったけど、今は二人でこのプロジェクトをプロフェッショナルに進めているよ。XenevaOSの目的は、現代のハードウェアとコンピューティングをターゲットにして、ゼロからOSを構築することなんだ。XenevaOSは、個人用コンピューティングやモバイルコンピューティングに限らず、自動車、ロボティクス、医療科学、特にAR/VR/XRなど、さまざまな用途に対応するOSの可能性を広げることを目指しているよ。ユーザーを最優先に考えて、ソフトウェアの依存関係をユーザーが解決するのではなく、ユーザーに優しいOSを作りたいんだ。XenevaOSは、レガシーコードを引きずるのではなく、現代の技術に焦点を当てて、最小限のソフトウェア抽象化を目指しているよ。タイムアウトが解除されたら、みんなのコメントには個別に返信するつもりだけど、それまでの間はコミュニケーションにオープンだからね。メールアドレスは hi@getxeneva.com だよ。プロジェクトの目的やビジョン、目標について興味がある人は、私たちのウェブサイトを訪れてみてね - getxeneva.com ありがとう、チームXENEVA。

いい仕事だね。VMで試せるISOはある?