タグ付けされた質問 「operating-systems」

ハードウェアとアプリケーションの間のインターフェースとなるソフトウェアの原理に関する質問。

2
ラウンドロビンスケジューリング:プロセスを複数回リストすることを許可しますか?
ラウンドロビンスケジューラでは、プロセスリストにプロセスを複数回追加すると、優先度を高くすることができます。 これがどれほど実用的なアプローチなのかと思います。プロセスに長いタイムスライスを与える(利点:切り替え時間を短縮する)か、優先度の高いプロセスの個別のリストを維持するなど、他の手法に比べてどのような利点がありますか。特に、プロセスを複数回リストすると、公平性と反応性にどのように影響しますか? (Andrew Tanenbaumのオペレーティングシステムの演習2.16から:Design and Implementation 1st ed。)

2
カーネルモードからユーザーモード(またはその逆)への変更
Galvinによるオペレーティングシステムの本を読んでいます。Galvinは、カーネルモードとユーザーモードとは何か、両方のモードに与えられる命令特権、およびモードビットについても説明しています。しかし、モードがどのように変化するか知りたいです。基本的に私は次の質問を解決したいと思います: CPUには、特権モードと非特権モードの2つのモードがあります。モードを事前から非事前に変更するため a)ハードウェア割り込みが必要 b)ソフトウェア割り込みが必要です。 c)特権命令が必要です。 d)非特権命令が必要です。 私が理解していることから、 ユーザーモードからカーネルモードへ-ハードウェア割り込みが必要です(ディスクI / Oのように)。ユーザープログラムが許容範囲を超えるメモリにアクセスするのに疲れた場合、トラップが発生します。トラップは基本的にOSによって処理されるソフトウェア割り込みです。これで、ユーザーモードでは特権命令を実行できなくなりました。したがって、I / O要求などの非特権命令は、ユーザーをカーネルモードに変更できます。だから私は、変えるために 非特権(ユーザー)から特権(カーネル)へ-H / W割り込み、S / W割り込み、非特権命令が実行します。 カーネルがユーザーモードになりました。OSはカーネルをユーザーモードに変更できます。そのため、カーネルからユーザーモードに変更する特権命令を実行します。H / wまたはS / w割り込みを生成する必要はありません。だから私は結論を変える previledgedからnon-previledgedへ-特権付きの命令で実行されます 私は正しいですか? また、カーネルモードで実行すると、すべての割り込みが無効になりますよね?したがって、答えは(a)または(b)にはできません。また、OSは基本的にはソフトウェアであるため、ハードウェア割り込みを発生させることはできません。 また、OS自体が割り込みを処理するため、カーネルからユーザーモードに変更するために割り込みを生成(およびサービス)する必要がある理由は私にはわかりません。 私がどこか間違っている場合はお知らせください。これに関するどんな助けでもありがたいです。

1
OSカーネルでのページ管理
私は私の古いOS理論の本をいくつか見ましたが、これらのOSの本すべての明白な欠落の1つは、実際に無料の物理ページ(つまり、実際に無料リストを実装するためのアルゴリズム)を追跡する方法であることに気付きました。ユーザーランドのメモリアロケーターがどのように機能するかはよくわかっていますが、物理ページの割り当てとの大きな違いは、物理ページの断片化は問題にならないということです。隣接しているかどうか。断片化の回避はユーザーランドアロケーターの主要な懸念事項の1つであるため、物理ページの割り当ては基本的に別の問題のようです。TLBへの圧力を減らすためにスーパーページをサポートしたい場合、これは完全に正確ではないと思います。 私の質問:この問題のために最新の高性能カーネルで使用されている手法は何ですか?また、この問題はNUMAシステムでは著しく複雑になりますか?

1
ハイパーバイザーとexokernelの違い
ハイパーバイザー(第一種)は、ハードウェアへのゲストの手術システムの要求を管理し、作成した仮想マシンを実行するソフトウェアです。exokernelは LETのプログラムがハードウェアに直接アクセスすることを、手術システムのカーネルで実装しabstactionsは、そのアーキテクチャのための実行可能ファイルの種類を実行することを特定のライブラリのサポートで、または。 どちらもハードウェアとアプリケーションソフトウェア間の抽象化レイヤーです。 2つとも、同じマシンで異なる実行可能ファイル/ソフトウェア/オペレーティングシステム/何でも実行できます では、2つの違いは何ですか?

2
Microsoft Singularity:なぜクローズされたか[クローズド]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、コンピューターサイエンススタック交換のトピックになるようにします。 6年前休業。 私はこの1つの研究プロジェクトについて話している: しかし、MSは2008年にそれを閉じました。高いパフォーマンス(従来のモノリシックカーネルに対して30 +%速い)、はるかに安全ななど、私はそれについて多くの記事を読みました。したがって、OS設計の革命であるはずです。なぜ彼らはそれをしたのですか?彼らがそうしなかったら私は本当に幸せです...だから私が持っている唯一の質問:なぜですか?それを破壊した「有能なマネージャー」か何か他のものでしたか?私は多くの激しい月の間それについて考えています...

4
RAID 6の2番目のパリティビットは簡単な計算ですか?
RAID 6で2番目のパリティビットまたはバイトがどのように設定されるかを理解しようとしています。H。Peter Anvinの論文を読んでいますが、それはガロア体代数に入ります。とにかく、HPの担当者がRAID 6について説明してくれたので、彼女はそれが2回のXOR操作だと思った。これは私には意味がありませんが、私はまだ論文を検討しているので、RAID nではなくRAID 6の単純なものに減少するかどうかはわかりません。2番目のパリティビットは、XORベースの1番目のパリティビットよりもかなり複雑に思えます。本当?

1
スレッドはどのように異なるOSに実装されていますか?
私はこれに出くわしたRobert LoveによるLinuxカーネル開発を読んでいました Linuxは、スレッドのサポートに興味深いアプローチを採用しています。これは、スレッドと通常のプロセスを区別しません。カーネルにとって、すべてのプロセスは同じです。たまたま、リソースを共有するプロセスもあります。 OS(詳細はアスパイア)とカーネルについてはあまり知りません。そのため、上記の引用は、さまざまなOS(少なくともWindows、Linux、Unixなどの一般的なOS)でのスレッド実装について疑問を投げかけました。 誰かがOSでスレッドサポートを提供するためのさまざまな手法を説明できますか?(そしてオプションでそれらを対比する)

1
エネルギー効率の高いコンピューティングとネットワーキングには、どのようなテクニックがありますか?
現在、エネルギー効率とグリーンITに関するクラウドコンピューティングの可能性を検討しています。このレビューに関連して、データセンター(コンピューティング)、ハードウェア、ネットワーキング、およびストレージデバイスのエネルギー効率を向上させるための手法について調べています。 具体的には、コンピューティング/サーバーについては、すでにいくつか見つかりました。 周波数と電圧のスケーリングを利用したエネルギーを意識したスケジューリング手法 サーバーリソースを統合する仮想化 ACPIなどの省エネハードウェア、特にモバイルデバイスなどのいくつかのプロセッサ技術 ただし、ネットワーキングデバイスの場合、省エネ技術に関する情報を取得することはかなり困難です。私は、ネットワークの負荷が低い場合にハードウェアをオフにできる新しいプロトコルと代替ルーティング方法について人々が考えていることを読んだことがあります。誰かがそのような例を知っていますか? ネットワーキングまたはコンピューティングのどちらのために追加する必要がある他のポイント

4
プロセススケジューリングにおける護送効果
私が護送船団の効果を理解しているように、道路システムの車両通行の状況で。動きの遅い車両グループがシステムを通過するため、コンボイの影響を直接受けていないエリアでも交通が遅くなります。 これは、CPUスケジューリングのコンテキストでどのように適用されますか?これは類似の状況ではないようです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.