Q1:オペレーティングシステムとは何ですか?
- オペレーティングシステムは、コンピューターシステム全体のハードウェアリソースとソフトウェアリソースを制御および管理し、コンピューターの作業とリソースの割り当てを合理的に整理およびスケジュールする一連のプログラムであり、ユーザーと他のソフトウェアに便利なインターフェイスと環境を提供します。コンピュータシステムの中で最も基本的なシステムソフトウェアです。
- 基本的な機能は次のとおりです:同時実行、共有、仮想、非同期
- コンピュータシステムの場合、オペレーティングシステムは、すべてのシステムリソースを管理するプログラムのコレクションです。ユーザーの場合、オペレーティングシステムは、コンピュータリソースを呼び出すためのインターフェイスを提供します
Q2:経営理念とビジョン
- 管理状態は、特権状態、コア状態、およびシステム状態とも呼ばれます。オペレーティングシステムは管理モードで実行されています
- 目の状態はユーザーモードとも呼ばれ、ユーザープログラムはユーザーモードでのみ実行できます
- ユーザープログラムがその状態で特権命令を実行すると、ハードウェアが中断され、オペレーティングシステムが制御を取得し、特権命令が禁止されます。ユーザーがシステムリソースを呼び出す必要がある場合は、システムコールメソッドを通じてオペレーティングシステムにサービス要求を行う必要があります。システムが完成しました。
Q3:プログラム、プロセス、スレッド接続、およびプロセスとスレッドの違いと接続
プログラムとプロセスの違いと関係
- プログラムは、順序付けられた命令のセットであり、静的な概念であり、命令のセットで構成され、バイナリ形式でメモリに格納されます。
- プロセスとは、コンピュータ上でプログラムとそのデータを実行するアクティビティであり、動的な概念です。プロセスの実行エンティティはプログラムであり、離脱プログラムのプロセスは無意味です。プロセスは、プログラム、データ、プロセス制御ブロック(PCB)の3つの部分で構成されています。プロセスにはライフサイクルがあり、プロセスはプロセスを作成することもできますが、これらはプログラムにはありません。
プロセスとスレッドの違いと接続
- プロセスは、オペレーティングシステムにおけるシステムリソース割り当ての基本単位であり、スレッドメカニズムのないオペレーティングシステムでは、プロセッサの動作をスケジュールするための基本単位でもあります。
- スレッド化メカニズムを使用するオペレーティングシステムでは、スレッドはプロセッサスケジューリングの基本単位です。プロセスは1つ以上のスレッドで構成でき、各スレッドはプロセス内のリソースを共有します。
- このプロセスは、複数のプログラムを同時により適切に実行し、リソース使用率とシステムスループットを改善し、同時実行の度合いを高めるために導入されています。
- スレッドの導入は、同時実行中にプログラムによって支払われる時空間オーバーヘッドを削減し、オペレーティングシステムの同時パフォーマンスを向上させることです。
Q4:プロセスの3つの状態
- プロセスは、コンピュータープログラムの実行中のアクティビティとコンピューター上のそのデータです。これは、システムによるリソース割り当ての基本単位であり、動的な概念です。そのため、プロセスにはライフサイクルがあり、準備完了状態、実行状態、およびブロック状態に分けられます。
- 準備完了状態とは、プロセスが必要なすべてのリソースを取得し、プロセッサーを待機することを意味します。プロセッサーに割り当てられている限り、プロセスを実行できます。
- 実行状態は、プロセスがプロセッサで実行されていることを意味します
- ブロッキング状態とは、リソースの割り当てを待つなど、イベントが発生するのをプロセスが待っている状態です。プロセッサが現在アイドル状態であっても、プロセスをブロック状態でスケジュールすることはできません。
- また、作成状態と終了状態があります
Q5:オペレーティングシステムにおけるデッドロックの概念とデッドロックの方法
- システムには不可分のリソースがいくつかあるため、2つ以上のプロセスが独自のリソースを占有し、互いのリソースを要求すると、プロセスは前進できなくなり、デッドロックになります。
- デッドロックには、相互に排他的な条件、非剥奪条件、要求および保持条件、ループ待機条件の4つの必要条件があります。
- 相互に排他的な条件とは、割り当てられるプロセスに必要なリソースが排他的であること、つまり、同時に使用できるのは1つのプロセスだけであることを意味します。
- 不可侵とは、プロセスが使用を終了する前にリソースを強制的に取り除くことができないことを意味します
- 要求と保持は、プロセスが最初に所有していたリソースを所有し、他のリソースが必要であることを意味します
- ループ待機条件は、プロセスリソースのループ待機チェーンの存在を指します。
- デッドロックを回避する方法
- デッドロック処理戦略には、デッドロックの防止、デッドロックの回避、およびデッドロックの検出と解放が含まれます。
- デッドロックの防止は、デッドロックが発生しないように、デッドロックの必要条件を破壊するために必要な条件を確立することです。
- デッドロックを回避するには、いくつかのアルゴリズムを使用して、リソースを動的に割り当てるときにシステムが危険な状態にならないようにし、デッドロックを回避します。
- デッドロックの検出と解放は、デッドロックが発生してもお金がかからないことを意味し、デッドロックが発生したかどうかをシステムのみが検出し、デッドロックが発生した場合は、それを取り除くための対策が講じられます
Q6:セマフォの概念
- セマフォは、同期と相互排除の問題を解決するために提案されたもので、待機()と信号()には、P動作とV動作の2種類しかありません。
Q7:同期と相互排除の概念
- 同期:特定の場所にあるプロセス間の作業順序を調整し、情報の転送によって生成される制約関係を待機する必要があります(つまり、プロセスに必要なリソースは、実行中の前のプロセスの結果なので、プロセスにはこの場合、前のプロセスを実行して終了する必要があります)
- 相互排除:プロセスがクリティカルセクションに入り、クリティカルリソースを使用する場合、他のリソースは待機する必要があり、クリティカルセクションに入ることができません。
Q8:PV プリミティブ
- プリミティブとは、特定の機能を実行し、分割できず、中断されない一連の操作を指し、通常はハードウェアで完了することができます。
- P操作。これは、プロセスがリソースを要求することを意味します。リソースが割り当てられると、ブロックプリミティブが呼び出されてブロックされます。
- V操作。これは、プロセスがリソースを解放するため、システムに割り当てることができるリソースの数が1つ増えることを意味します。
Q9:スケジューリングアルゴリズムとは何ですか?
- プロセッサのスケジューリングは、プロセッサを割り当て、スケジューリングアルゴリズムに従ってレディキューからプロセスを選択し、プロセッサを割り当てて、プロセスの同時実行を実現することです。
- スケジューリングアルゴリズムには、
- 先着順
- 短いジョブの優先順位(最短の完了時間)
- 優先スケジューリングアルゴリズム
- 高応答率優先スケジューリング
- タイムスライスローテーションスケジューリング
- マルチレベルのフィードバックキュースケジューリング
Q10:ページ置換アルゴリズムとは何ですか?
- プロセスが実行されているときに、アクセスするページがメモリにない場合は、メモリに転送する必要があります。メモリに空き領域がない場合は、プログラムのページまたはデータをメモリから呼び出す必要があります。
- 呼び出されるページを選択するアルゴリズムは、ページ置換アルゴリズムです。一般的に使用されるのは、最適な置換アルゴリズムOPT、先入れ先出しアルゴリズムFIFO、最新の未使用置換アルゴリズムLRU、クロック置換アルゴリズムです。
- 最適化:選択された消去ページは、将来使用されないページ、または最低のページフォールト率を取得するために、最も長くアクセスされなくなるページです。しかし、実際には将来どのプロセスがスケジュールされるかは不明であるため、このアルゴリズムは実装できず、他のアルゴリズムの評価にのみ使用できます
- FIFO:メモリ内の最も古いページの削除を優先します。FIFOアルゴリズムは、割り当てられた物理ブロックの数が増加し、ページフォールトの数も増加するという異常な現象を生成し、Beladyの異常になります。
- LRU:削除する最も長い時間アクセスされていないページを選択します
- クロックアルゴリズム:追加のビットが各フレームに関連付けられています。ポインタは各フレームの追加ビットを循環し、特定の条件を満たすフレームを置き換えます。
Q11:ハードリンクとソフトリンクの違い
- ソフトリンクはショートカットに似ています。つまり、ショートカットを削除してもソースファイルには影響せず、ソフトリンクを介してソースファイルを削除してもソースファイルは見つかりません。共有ファイルのパス名を保存します
- ハードリンクは共有ファイルのインデックスノードであり、参照カウント値が0でない場合、共有ファイルを削除できません。
- F1のポインターがインデックスノードを指し、インデックスノードが対応するファイルを指しているとします。
- ソフトリンクF2はF1を指しており、その参照カウント値はF1と一致しています。ソースファイルの削除はF2からは見えません。F2を介してソースファイルにアクセスし、ファイルが存在しない場合のみ、ソフトリンクF2が直接削除されます。
- ハードリンクF3はファイルのインデックスノードを直接指し、参照カウント値は+1で、F1を削除します。F3を介してソースファイルにアクセスできます。