30

私は、まったく新しいオペレーティング システムを作成するというアイデアをいじっています。このフォーラムに参加している全員がそれについてどう考えているかを知りたいです。第一に、大きな男の子が私たちの生活に深く根付いているため、切り替えることができなくなるのは遅すぎることです(うわー、なんて恐ろしい考えでしょう...)。しかし、そうでない場合、オペレーティング システムは何をしてくれるのでしょうか? 最も重要な機能は何ですか? すべてのコンポーネントを個別にインストールする必要があります (つまり、ベース OS には実際にはユーザー機能がなく、優れた柔軟なツールのような「プラグイン」を作成することによって追加される必要がありますか?)

なぜ私はこれをしたいのですか... 需要があるかどうかについてもっと興味があり、疑問に思っています。なぜなら、私たちが今日最も使用しているOS (Linux、Windows、Mac OS X (Free BSD)) は実際には20 年前 (そして私は寛大に言っています。つまり、当時はデュアル コアやクアッド コアは存在せず、バスははるかに遅く、ハードウェアははるかに高価でした...)、新しいテクノロジに興味がありました。何か違うことをしますか?

私はあなたのコメントを読むことを切望しています。

4

16 に答える 16

23

最初の質問に答えるには、遅すぎることはありません。特に、ニッチな市場セグメントやそのようなものに関しては.

第二に、新しい OS を作成する道を歩み始める前に、それがどのような仕事であるかを理解する必要があります。それは大規模なプロジェクトになるでしょう。

それは単なる普通のプログラマーの「かゆみを掻く」ようなプロジェクトですか? もしそうなら、ぜひどうぞ。そうすることで多くのことを学べるかもしれません。しかし、結果として得られる製品のためにそれを行っているのであれば、開発中の現在のすべての OS を調べて (最初に考えたよりも多くの OS があります)、何が必要かを理解するまで、その道を歩み始めるべきではありません。あなたはそれらを変えたいです。

おそらく、既存のオープンソース システムの改善/変更にその労力を費やすほうがよいでしょう。独自の実験であっても、既に開発されているものから始めると、目的の結果が得られやすい場合があります。

于 2008-09-19T12:02:07.880 に答える
20

まず、ちょっとした話。1992 年、最初の Win32 (後に MS Professional Developers Conference となる) カンファレンスで、私は Dave Cutler 氏 (ほとんどの人が現在 Windows NT として知っているもののチーフ アーキテクト) と昼食を共にする機会がありました。 Windows 2000、XP など)。

当時、私は IBM Boca Raton のマルチメディア グループで、OS/2 について覚えている人もいるかもしれません。数年間 OS/2 に取り組んできて、OS がどこに向かっているのかについて「壁に書かれていること」を認識していたので、私は彼に尋ねました。マインド ?"。私に対する彼の答えは次のようなものでした。

「M....Windows NT は、誰もがゼロから開発する最後のオペレーティング システムです!」. それから彼は私を見て、ビールを一口飲み、こう言いました。これは恥ずべきことだ」

その会話を文脈に当てはめ、私が大学に戻って修士号 (オペレーティング システムの設計を専門とする) を取得しようとしているという事実を考えると、新しいオペレーティング システムを導入する余地はたくさんあると言えます。事は、物事を大局的に捉えることです。このオペレーティング システムの目標は何ですか? どの問題空間にサービスを提供しようとしていますか?

これらすべてを視野に入れることで、達成可能な目標に本当に照準を合わせているかどうかがわかります。

そうは言っても、「特異点」(この春、クラスの1つで私が行った講演の焦点....)のようなものを調べることについて、以前のコメンターのメモを2番目に追加します。幼少期のOSに歯を向ける....「ReactOS」を見てください。

繰り返しになりますが、gOS などの WebOS は、おそらく今後 10 年ほどで私たちが向かう場所です。または、特に優秀な人が、女性または男性の友人との特に実り多い夜の後に目を覚まし、オペレーティングシステムの「次の大きなアイデア」を思いつく可能性があります。

于 2008-09-19T13:39:20.580 に答える
15

なぜ物理マシン上に直接OSを構築するのですか?あなたはただアセンブリ言語をいじくり回しているでしょう;)。確かに、それは楽しいですが、VMのOSに取り組んでみませんか?

Java / .NET / Parrot(名前を付けます)VMで実行されるOSを考えてみましょう。このOSは、ネット上で簡単に渡すことができ、一連のソフトウェアを実行できます。

何が含まれますか?

  • データを保存する方法(従来のFSではデータが削減されません)
  • プロセス/スレッドのモデル(またはVMによって提供されるものをハイジャックするだけですか?)
  • これらのプロセスなどと対話するためのツール。

そのため、広く使用されている仮想マシンで実行できるシンプルなプラットフォームを構築します。特定のニッチ(クラウドコンピューティング?)のためのいくつかのクールな機能を入れてください。行け!

于 2008-09-19T12:11:02.820 に答える
6

マイクロ カーネルとモノリシック カーネルの詳細については、Linus の Andrew Tanenbaum との「ディスカッション」を参照してください。

于 2008-09-19T11:58:33.317 に答える
5

少なくとも足を濡らすために、Linux(0.01) の初期バージョンを確認することを強くお勧めします。アセンブリと非常にあいまいな低レベルのものをいじくり回すつもりです(特に、保護モード、マルチタスクなどに入る)。確かに、「ビッグボーイズ」がすでに市場を追い詰めているのはおそらく本当です。やめろと言っているわけではありませんが、Linux カーネルで何らかの作業を行ったほうがよい足がかりになるかもしれません。

于 2008-09-19T12:01:55.977 に答える
5

CosmosSingularityをチェックしてください。これらは、私が未来のオペレーティング システムに求めているものを表しています ;-) 編集 : SharpOSは、もう 1 つのマネージド OS の取り組みです。yshuditelu さんの提案

于 2008-09-19T12:02:46.770 に答える
4

OS にはユーザー機能がまったくないはずです。ユーザー機能は別々のプロジェクトで追加する必要があります。これは、プロジェクトが連携してはならないという意味ではありません。

ユーザー機能に興味がある場合は、GNOME、KDE ​​などの既存のデスクトップ環境プロジェクトへの参加を検討する必要があります。

カーネル レベルの機能に興味がある場合は、BSD 派生物または Linux でハッキングを試すか、独自のシステムを作成してみてください。ただし、ユーザー機能についてはあまり考えないでください。オペレーティング システムのコアを正しくするのは難しく、長い時間がかかります。すべてを再発明しようとしても意味がありません。

于 2008-09-19T12:02:00.033 に答える
2

結論...あなたの目標に焦点を合わせ、さらに重要なことに他の人の目標に焦点を合わせます...それらのニーズを満たすのに役立ちます。テクノロジーだけから始めてはいけません。

独自のオペレーティングシステムを作成しないことをお勧めします。(私自身のこっけいな中断...クラウドコンピューティングAmazon EC2を調べてください)

私はそれがあなたの目標が何であるかを定義することによって最初に役立つであろうことに完全に同意します。私はユーザーエクスペリエンスの大ファンであり、あなた自身の目標だけでなく、あなたの聴衆/ユーザー/他の人の目標についても考えています。これらの目標を達成したら、それを達成する方法の次のステップに進みます。

今日、オペレーティングシステムとは何ですか?カーネル、オペレーティングシステム、仮想サーバーインスタンス、Linux、Windows Server、Windowsホーム、Ubuntu、AIX、zSeries OS/390など。これはOSの良い定義だと思います...ウィキペディア

私はSunのスローガン「ネットワークはコンピューターです」も好きです...しかし彼らの会社は過去10年間で本当に落ち込んでいます。

ネットワークのメモにはコンピューターがあります...繰り返しになりますが、 Amazon EC2、より一般的にはクラウドコンピューティングをチェックすることを強くお勧めします。

于 2008-09-19T12:28:24.617 に答える
2

最初に既存のOS実装プロジェクトに参加するか、少なくとも他の人が実装したものを確認することをお勧めします。

たとえば、AROSは趣味のOSとして10年以上の歴史があり、今ではいろいろな使い方ができます。

または、もっとニッチなものはどうですか?4MHz Z80 CPU(Amstrad CPC、MSX)用の完全にマルチタスクのデスクトップ(Windowsスタイル)オペレーティングシステムであるSymbiosをチェックしてください。たぶん、このようなものを書きたいと思うかもしれません。これは、完全な次世代オペレーティングシステムよりもはるかに簡単です。

于 2008-09-19T12:29:56.503 に答える
2

市場に出回っている現在の OS に似せて新しい OS をゼロから構築するのは時間の無駄だと思います。代わりに、今から 10 ~ 20 年後にオペレーティング システムがどのようなものになるかを考える必要があります。私の直感では、それらは今日の基準ではほとんど認識できないほど異なっていると思います。将来の OS がどのように動作するかのモデルとして、Facebook などのフレームワークを考えてみてください (あえぎ!)。

于 2009-01-29T16:29:34.080 に答える
1

オペレーティングシステムで何を見たいかを尋ねている場合は、リストを提供できます。私はプログラミングを始めたばかりなので、これが可能かどうかはわかりませんが、私のアイデアをお伝えすることはできます。

  1. ワイヤレスカードを機能させるのに苦労しない、開発されたオペレーティングシステム(メインのオペレーティングシステム以外)が欲しいです。それは私が試したもののほとんどで私の#1ペットピーブです。

  2. プログラマーが他のプログラマーのために設計したオペレーティングシステムを見るのは素晴らしいことです。すべての異なるオペレーティングシステム用のプログラムを実行できるように、それを持ってください。WindowsとOSXのコピーがなくてもそれが可能かどうかはわかりませんが、私が作成したプログラムとすべてのオペレーティングシステムとの互換性を確認できれば、本当にすばらしいでしょう。

于 2011-05-16T20:46:08.513 に答える
1

現在のオペレーティング システムが古いことについては、あなたの言う通りだと思います。すべてのオペレーティング システムが最悪だと誰かが言いました。はい、問題はありませんか?BSOD、Sad Mac、またはカーネルパニックと呼んでください。私たちのファイルシステムは機能しません。セキュリティと信頼性の問題があります。

Microsoft は、Singularity カーネルで興味深いアプローチを追求しました。.NET に似た仮想マシンと正式な検証方法を使用して、ソフトウェアでプロセスを分離します。基本的に、すべての IPC は、プログラムが実行される前であっても、正式に指定および検証されているようです。

しかし、これには別の問題があります。Singularity は単なるカーネルです。そのために設計されていないアプリケーションを実行することはできません。これは大きなペナルティであり、最終的な移行 (Singularity は公開されていません) が非常に難しくなります。同様の技術的利点を生み出すことができたとしても、実際の移行計画 (IPv4 から IPv6 への問題、または Windows がデスクトップでこれほど多くの市場シェアを獲得した方法を考えてみてください) があれば、それは非常に大きなものになる可能性があります。

しかし、小さく始めることも悪い選択ではありません。Linux はこのように始まり、それがより良い設計につながる場合が多くあります。小さいことは美しい。より簡単に変更できます。成長しやすい。とにかく、頑張ってください!

于 2008-09-19T13:17:41.597 に答える
1

シンギュラリティ プロジェクトをチェックアウトし、革新的なことを行います

于 2008-09-19T13:40:14.553 に答える
1

私は常に、基本的にまったく新しい状態のオペレーティング システムを求めていました。プラグインサポートが組み込まれているため、ユーザーインターフェイス、アプリケーションなど、必要なものを構築できます.

このシステムは、ゲームの Lua サンドボックスと同じように機能しますが、制限はありません。使用するさまざまなサブシステムにアクセスできるプラグインまたはモジュール システムを構築できます。たとえば、Web ブラウザ アプリケーションを作成する場合、ネットワーク ライブラリをロードし、それをプラグイン スクリプト内で使用する必要があります。「セキュリティ」が必要ですか?ライブラリをロードします。

これと Linux の違いは、Linux はオペレーティング システムですが、その上で実行される Windows マネージャーがあることです。この理論上のオペレーティング システムでは、プラグイン システム内のさまざまなウィンドウの一般的な「ルック」と「フィール」を実装したり、カスタム インターフェイスを作成したりできます。

これと Windows の違いは、完全にカスタマイズ可能であることです。つまり、暗号化をまったく実装したくない場合はそれを行うことができ、既存のウィンドウをカスタマイズしたい場合はそれを行うことができます。あなたに閉ざされたものは何もありません。

この理論上のオペレーティング システムには、プラグイン システムを備えた OS があります。プラグイン システムは、シンプルで強力な言語を使用します。

于 2009-01-29T15:59:55.560 に答える
0

良い出発点である MINIX を検討することもできます。

于 2009-06-02T07:20:47.543 に答える
0

このフォーラムの発起人として、IT 業界に関してより大胆で理想主義的な言葉で大胆に考えたあなたに敬意を表します。何よりもまず、あなたの質問はまさに、世界中でコンピューター サイエンスが盛んに行われていることと、心をつかみ始めたばかりの革命的な Linux OS によって私たちに教えられた開放性を考えると、より多くの聴衆を引き付ける必要があるとあなたが思うようなものです。ユーザーフレンドリーなインターフェースを強化することで、非常に多くのことがありました。ですから、限界を押し上げたことを称賛します。

私が正しくフォローしているなら、これまでの私たちの努力の成果を考えると、さらなるハードウェアとソフトウェアの調合の開発は、少なくとも慣習的ではないはずです. もちろん、その意味するところは、新しい開発は通常よりも早く目標に到達するということです。しかし、現時点で完全に新しい OS システムが登場する可能性は、控えめに言っても難しいでしょう。それは、Linux と Windows の間にすでに多くの摩擦があるからです。これは、オープンソースとプロプライエタリなイデオロギーの間の戦いです。上記のコメントの Bart Roozendaal は、私の主張をうまく証明しています。イノベーションのアイデアや、より現代的なベースのオペレーティング システムからもたらされるあらゆる可能性を忘れてください。そのようなことは二次的なものだからです。彼が本質的に求めているのは、あなたは利益の側にいるつもりですか、それとも反対ですか?彼はここで簡単に自分の立場を譲ります。ご存知のように、Windows は、新しい市場、ソフトウェア、およびその他のテクノロジに関して独占的なアプローチをとっていることで有名です。それはその存在以来、その覇権を握っていますが、悲しいことに、Windows OS は無限のバグとバックドアで悩まされています。

繰り返しになりますが、あなたがあまり通っていない道を歩み、願わくば前進し、落胆することなく進んでいることに拍手を送ります。個人的には、別の OS が出てくることを望んでいます...もっと現代的なものです。

于 2009-07-29T21:36:07.857 に答える