1.2 オペレーティングシステムとは
- オペレーティングシステムとは
- ユーザーから見ると、オペレーティング システムは制御ソフトウェアです。
- 管理アプリケーション
- アプリケーションの提供
- アプリを殺す
- 資源管理
- 周辺機器の管理とリソースの割り当て
- 上の図に示すように、OS は CPU、ディスク、およびメモリを抽象化します。
- OS の階層構造は、前後のリンクとして機能します。
- ハードウェアの上に配置され、さまざまなハードウェアを抽象化し、アプリケーションへの抽象的なインターフェイスを提供します
- アプリケーション プログラムの下にあり、アプリケーション ソフトウェアのサービス サポートを提供します。
- オペレーティング システムは、2 つの異なる外部インターフェイスを提供します。
- shell(シェル):アプリケーションの場合、linux、windows、androidなどのインターフェースがシェルに属し、オペレーティングシステムが提供する外界へのインターフェース
- カーネル (kernel): 内部指向、コースでは主にシェルではなくカーネルについて話します
- カーネル オペレーティング システムの内部コンポーネントには、主に次のものが含まれます。
- CPUスケジューラ
- 物理メモリ管理
- 仮想メモリ管理: 限られたサイズの物理メモリをより大きな仮想メモリに仮想化します。
- ファイルシステム管理
- 割り込み処理とデバイス ドライバー (IO)
- OSカーネルの特徴
- 同時実行性(ある期間を参照すると、実行できる複数のプログラムがあります。並列処理とは、ある時点で複数のプログラムを同時に実行することを指します。並列処理には、コンピューターに複数の CPU が必要であり、1 つの CPU だけでは並列処理を完了できません)
- コンピューター システムには複数のプログラムが同時に実行されており、OS の管理とスケジューリングが必要です。
- 共有 (メモリなどのリソースは複数のアプリケーション間で共有されます)
- 「同時」アクセス
- 排他的共有
- バーチャル
- CPUをプロセスに、ハードディスクをファイルに、メモリをアドレス空間に仮想化するOSを指します。
- マルチプログラミング技術を使用して、各ユーザー (アプリケーション) に専用のコンピューターがあるように感じさせる
- 非同期
- プログラムの実行は最後まで一貫性がなく、停止しては開始し、進行速度は予測できません。
- ただし、動作環境が同じである限り、OS はプログラムの実行結果も同じであることを保証する必要があります。
- 同時実行性(ある期間を参照すると、実行できる複数のプログラムがあります。並列処理とは、ある時点で複数のプログラムを同時に実行することを指します。並列処理には、コンピューターに複数の CPU が必要であり、1 つの CPU だけでは並列処理を完了できません)
1.5 オペレーティング システムのインスタンス
- ユニックスファミリー
- Linux ファミリー: rednat、ubuntu、fedoro、ほとんどのモバイル端末は Linux カーネルに基づいて開発されていますが、Apple は独自の OS を使用しています。
- windows家族