serenity - Serenity オペレーティング システム 🐞

(The Serenity Operating System 🐞)

Created at: 2018-12-03 03:28:41
Language: C++
License: BSD-2-Clause

SerenityOS

x86 コンピューター用のグラフィカルな Unix ライクなオペレーティング システム。

GitHub アクションのステータス Azure DevOps の状態 ファジング ステータス ソナー キューブの静的解析 不和

SerenityOS は、Unix のようなカスタム コアを備えた 90 年代のユーザー インターフェイスへのラブレターです。他のさまざまなシステムから美しいアイデアを盗むことで、誠実にお世辞を言います。

大まかに言えば、目標は 1990 年代後半の生産性ソフトウェアの美学と 2000 年代後半の *nix のパワー ユーザーのアクセシビリティとの融合です。これは、私たちが好きなものに基づいた、私たちによる、私たちのためのシステムです。

YouTube で開発中のシステムのビデオを見ることができます。

FAQ :よくある質問

スクリーンショット

b36968c.png 時点のスクリーンショット

特徴

  • 最新の x86 32 ビットおよび 64 ビット カーネルとプリエンプティブ マルチスレッド
  • JavaScript、WebAssembly などを備えたブラウザー( JSCSS、およびWASMの仕様準拠を確認してください)
  • pledge
    セキュリティ機能 (ハードウェア保護、限られたユーザーランド機能、W^X メモリ、
    unveil
    (K)ASLR、OOM 耐性、Web コンテンツの分離、最先端の TLS アルゴリズムなど)
  • システム サービス(WindowServer、LoginServer、AudioServer、WebServer、RequestServer、CrashServer など) および最新の IPC
  • 良好な POSIX 互換性 ( LibC、シェル、システムコール、シグナル、疑似端末、ファイルシステム通知、標準 Unixユーティリティなど)
  • POSIX ライクな仮想ファイル システム (/proc、/dev、/sys、/tmp、...) および ext2 ファイル システム
  • IPv4、TCP、UDP をサポートするネットワーク スタックとアプリケーション。DNS、HTTP、ジェミニ、IMAP、NTP
  • プロファイリング、デバッグ、およびその他の開発ツール (カーネルがサポートするプロファイリング、UserspaceEmulator でのソフトウェア エミュレーションによる詳細なプログラム分析、CrashReporter、インタラクティブな GUI プレイグラウンド、HexEditor、C++ 用の HackStudio IDE など)
  • 暗号化から OpenGL、オーディオ、JavaScript、GUI、チェスのプレイまで、すべてのライブラリ...
  • 多くの一般的および一般的ではないファイル形式のサポート (PNG、JPEG、GIF、MP3、WAV、FLAC、ZIP、TAR、PDF、QOI、Gemini など)
  • 統一されたスタイルとデザイン哲学、柔軟なテーマ システム、カスタム (ビットマップおよびベクター) フォント
  • ゲーム(Solitaire、Minesweeper、2048、チェス、Conway's Game of Life など) とデモ(CatDog、Starfield、Eyes、mandelbrot セット、WidgetGallery など)
  • 日常的な GUI プログラムとユーティリティ (JavaScript を使用したスプレッドシート、TextEditor、Terminal、PixelPaint、さまざまなマルチメディア ビューアーとプレーヤー、メール、アシスタント、電卓など)

...そして、上記のすべてがこのリポジトリにあり、余分な依存関係はなく、私たちがゼロから構築しました:^)

さらに、ゲーム、コンパイラ、Unix ツール、マルチメディア アプリなど、人気のあるオープンソース ソフトウェアの 200 以上のポートがあります。

ドキュメントを読むにはどうすればよいですか?

man ページはman.serenityos.org からオンラインで入手できます。これらのページは、Markdown ソース ファイルから生成され、

Base/usr/share/man
自動的に更新されます。

SerenityOS を実行している場合

man
は、ターミナル インターフェイスまたは
help
GUI に使用できます。

コード関連のドキュメントはドキュメントフォルダにあります。

これをビルドして実行するにはどうすればよいですか?

SerenityOS のビルド手順を参照してください。Serenity は、Linux、macOS (aarch64 は難しいかもしれません)、Windows (WSL2 を使用)、およびハードウェアまたはソフトウェアの仮想化を備えたその他の多くの *Nix で動作します。

連絡して参加してください!

Discord サーバーに参加してください: SerenityOS Discord

問題を開く前に、問題ポリシーを参照してください。

貢献するための一般的なガイドは、 にあり

CONTRIBUTING.md
ます。

著者

などなど!貢献者の完全なリストについては、こちらを参照してください。上記の人々は、プロジェクトで 100 件以上のコミットを獲得しています。:^)

ライセンス

SerenityOS は、2 条項 BSD ライセンスに基づいてライセンスされています。