システム定義を操作する コンピュータシステムの制御および管理されたハードウェアおよびソフトウェア・リソース、合理的な組織のコンピュータのワークフローとユーザーフレンドリーな使用、システムソフトウェア。
オペレーティングシステムの役割 目的は、コンピュータシステムのオペレーティングシステムの設定を改善することで効率を、そしてシステムの強化処理能力を、システムのを十分に発揮する、効率、ユーザーフレンドリーな使用
ハードウェア割り込み及びチャネルベース---
割り込みは、 オリジナル作品を停止するには、外部割込み信号を受信した後にCPUを意味し、作業を継続するために、元のブレークに完了バックした後、割り込みイベントを処理するためにオンにします。
割り込み処理:割り込み要求、割り込み、ブレークポイント(現在のタスクを一時停止し、サイトを保存)、処理ルーチンを割り込み、割り込みリターン(ブレークポイントで復元サイトとオリジナルのミッションを継続)
チャネル(別名I / Oプロセッサ)は 、実際に単独で1つの単純な構成のI / Oプロセッサの機能、CPUであり、直接外部装置、メモリとのデータ転送を制御します。
それは、独自のI / Oプロセッサを持つ命令、複雑なプログラマブルI / O処理の多様性を達成するために
コンセプトマルチプログラミング技術 同時に、コンピュータメモリに格納されているいくつかの独立したプログラムは、ハイパーバイザの制御下にある相互侵入、実行を共有する CPUや周辺機器やその他のリソースを。マルチバッチシステムバッチシステムと呼ばれるマルチチャンネルプログラミング技術
OSは、 システム・ソフトウェア 、システムCPUと外部デバイス向上させることができるマルチプログラミング動作モードで使用される 効率 。一般的には、マルチチャンネルプログラミングを達成するために、コンピュータが必要とする より多くのメモリを
3つのオペレーティングシステムの基本的なタイプのバッチシステム、時分割システム、リアルタイムシステム
システムのタイムシェアリング(回転で割った時間)を共有する複数のユーザが、時分割方式と呼ばれている同じコンピュータシステムを使用して。
タイムシェアリングシステムは、同時に相互作用システムでの複数のユーザーを有効にするために、最も重要な問題は、することがある ので、すべてのユーザーがプログラムを実行することができ、短時間にできること。
機能の共有:
- 同時マルチウェイ:同時マルチユーザの操作、コンピュータを使用して
- 排他的:各端末のユーザーが排他的にコンピュータを感じます。
- 時刻:time適切なの比較的短い期間でのユーザの要求。
- 対話: - マシン対話ユーザーは、人間とコンピュータとすることができます。
応答時間は、処理され、命令がに答えるために必要なことを時間ユーザーの問題指示システムであります
リアルタイムオペレーティングシステムは、主にトランザクション処理などのリアルタイムプロセス制御要件のために使用され、その主な機能はある リアルタイムおよび信頼性
タイムシェアリングオペレーティングシステムの設計では、考慮すべき最初の事はある インタラクション、応答時間 、リアルタイム・オペレーティング・システムの設計では、考慮すべき最初の事はある リアルタイム性と信頼性 、バッチシステムの設計では、考慮すべき最初の事はある 売上高時間とシステムスループット
現在のオペレーティングシステムは、通常、タイムシェアリング、リアルタイムおよびバッチ処理としても知られている必要があり汎用オペレーティングシステムを。
現代のオペレーティング・システムの主な機能:
同時実行
マルチプログラミング場合ユニプロセッサは、同時に巨視的、微視的に交互に行います。並行処理は、オペレーティングシステムが並行システムである、プロセスを指します。
共有
複数のプロセスは、コンピュータ・システムの限られたリソースは、期間中にシステム資源の合理的な配分を交互に複数のプロセスによって使用される共有します。
バーチャルセックス
論理エンティティ(時間又は空間分割)の複数に対応する物理エンティティにマッピングされます。仮想オペレーティングシステムは、システムリソースを管理するための重要な手段であるリソースの使用率を向上させることができます。
非同期
また、不確実性の非同期性として知られ、順序は実装と実行時間と不確実性の結果のプロセスを意味:Aプログラムの実行不確実な結果、Bマルチプログラミング環境で再現できない、非同期モードでプログラムが実行されます。
なぜ割り込み、例外、システムコール?
割り込み:IOデバイス、キーボードなどは、その後、あなたは何のためにCPUをノックでない場合は、あなたのために、そして、あなたは何の応答は使用に非常に悪い感じないだろう参照してくださいので、今回は中断停止する必要がありますので手元にある物を、その後、応答が与えられています
例外:除数が0の場合、このエラーが知るために実行することですされているので、この時点で別の碁を取得し、問題になりますので、エラーには例外があります
システムコール:カーネルは最も安全であるため、この銀行は安全な場所には、いくつかの保護を必要とするだけでなく、アクセスするユーザーを可能にし、システムのカーネルレベルを呼び出す必要がある上、この時間
システムコール:ソース:Applicationイニシアチブの応答オペレーティングシステムによって送信されるサービス要求へ:非同期処理機構:連続、ユーザーに対して透過的
例外:ソース:不当命令または現在の命令の実行失敗した応答の他の原因:同期メカニズム:殺害またはコマンドを再実行し
割り込みソース:ハードウェアデバイスの応答からの要求の処理:同期または非同期処理機構:待ちと持続
システムコールと機能の違いを呼び出しますか?
変換システムコールスタックがあります
これは、単純な関数呼び出しスタックです
システムコール関数呼び出しスタックとスタックは、それが同じであれば、機能スタックは値の内部を変更することは非常に簡単なことができるので、それは安全ではない、別のスタックであります
システムコールは、関数呼び出しよりも安全ですが、システムコールのオーバーヘッドは、関数呼び出しよりも大きく、
理由:いくつかの関与が存在するため
図1に示すように、ガイド機構2のアドレス空間、スタック3の確立、認証パラメータ(認証が終了文字に渡すパラメータを満たしていない)4、アドレス空間マッピングユーザ・モード・カーネルモード4、独立して、カーネルモード
https://blog.csdn.net/qq_39823627/article/details/78736650 詳細にユーザーモードとカーネルモードの説明
ユーザーモードとカーネルモードの動作フロー
また、ユーザーモードカーネルの実行状態を実行するために、ユーザーモードとして知られている - >ユーザーが実行して、カーネルの実行時の状態をされている状態
簡単な例:読み取り持つユーザーは、カーネルモードを読み取るために、関数呼び出しをファイルを読み込み、その後、処理後3によってコンパイルされたリンクの編集
メモリ管理
移転は、仮想メモリセグメントをページング
内側と外側の残骸の破片
破片で:フラグメントは、割り当てられた時間内にユーザ・アプリケーション・メモリであるが、私は動的に割り当てられ、それがアドレスを利用することはできません、コンピュータの電源が専用メモリアドレス2を割り当てることができるので、ゴミの中にありますが、ユーザアプリケーション511あれば、それは実際になります512で、次いで1つのバイトを使用することはできません
外部断片化:複数の割り当てた後、残りの空きパーティションが他の人に割り当てることができない、それはゴミになること
連続したメモリの割り当て
図1に示すように、最初のアドレスを見つけるための最初の割り当てを割り当てることができます
2、よりちょうど大きいの最適配分を見つけます
最大割り当てを見つける3最悪の試合
長所と短所は、emmmない書き込みを行います
連続したメモリのデフラグ
1、コンパクト(ないポインタが存在しない場合は、参照が動的に一緒にすべての空き容量を行くことができ移転することができるものを)
2、パーティション交換(待機状態におけるプリエンプション処理と利用可能なメモリ容量を増大させるために、パーティションを回収)
バディシステム
様々な分布パターンの利点と欠点のバランスのとれた分布
仕組み:アプリケーションのサイズがある場合は、開始ブロックは、2 ^ kは、ある2 ^(K-1)<= X <= 2 ^ kの、そして、いない場合は、それに割り当てられたブロックを置くために、現在のブロックを置きます分割、半分に割り、まだ満たされていない場合、また分割し、言うことです
デブリ内の現在のブロックの最大サイズに縮小され、効率が低くない、包括的アプローチであり、この使用は、Linuxカーネルで使用され
非連続メモリ