オペレーティングシステムの概要
1オペレーティングシステムとは何ですか
ない完全、正確、受け入れられている定義は、
システムソフトウェアです
- ユーザの視点、OSが制御ソフトウェアです
- 管理アプリケーション
- アプリケーションのためのサービスを提供
- アプリケーションを強制終了
- リソース管理
- 周辺機器管理、リソースの割り当て
オペレーティング・システム・レベルのアーキテクチャ - アプリケーションの下で
- ハードウェアオン
アプリケーションソフトウェア:オフィスソフトウェア、ビデオプレーヤーソフトウェア
- オペレーティングシステム、アプリケーションソフトウェアの下に位置し、アプリケーションソフトウェアのサポートサービスを提供
シェルのような外部インターフェース
、オペレーティングシステムの内部コンポーネント:カーネル:
- CPUスケジューラ
- 物理メモリー管理
- 仮想メモリ管理
- ファイルシステム管理
- 割り込みハンドリングとデバイスドライバ(および基礎となるハードウェアを直接扱います)
OSカーネルの特徴:
- 同時に(時間の期間、CPU複数の)
- 複数のプログラムを実行するコンピュータ・システムが存在し、OSが管理し、スケジュールする必要があります
- 共用
- 「同時」訪問
- ミューテックスを共有します
- バーチャル
- 各ユーザーは自分専用のサービスコンピュータの感触を持ってできるようにマルチチャンネルプログラミング技術の使用、
- 非同期な
- プログラムの実行は、最後に一致していないが、停止して行く、予測不可能な前進速度をプッシュ
- しかし限り、同じ動作環境として、OSの必要性は、結果が実行するのと同じであることを保証するために
2なぜ研究オペレーティングシステム
オペレーティングシステムを学ぶための方法3
4オペレーティング・システム・インスタンス
UNIX(リンゴ)、Linuxの(アンドロイド\ウィンドウ)
5オペレーティングシステムの歴史
などハードウェアの変更、コンピュータアーキテクチャ、と
- コンピュータプログラムやデータ転送テープ早期
のみ負荷の役割を果たすオペレーティングシステム
のコンピュータまでのデータを、および送信するには、(単純な機械的プロセス) - CPUおよびその他のハードウェアの急速な発展は、コンピュータの速度が、活用されていないのパフォーマンスを改善されています
- バッチ相(同時)
- メモリ容量を増大させる、複数のプログラムを実行するCPUが(CPUをマルチプログラミング)
- タイムシェアリングシステムをより良いコンピュータリソースをより有効に活用する、とすると、ユーザーとの対話では、そこにされています(時間の期間を小分割され、認識されないことができ、中断したヘルプ時間-OSを達成)
- PCのオペレーティングシステム
- ネットワークの急速な発展は、オペレーティングシステム(記憶動作は、データセンターを計算することによって行われ、中間インターネットによって一緒に接続されている)が分散されています
- 将来の動向:1人を回避するには、複数のコンピュータ
6オペレーティングシステムの構造
アセンブリ言語と機械結合、非ポータブル
C言語の移植であります
-
シンプルなシステム:MS-DOS(1981-1994)
- モノリシックカーネルモジュールの一部
- 機能は比較的弱いです
- 脆弱な、壊れたリング
- ハードウェアへの件名
-
C言語を使用してUNIX、
-
マイクロカーネルの設計、可能な限りユーザ空間へのコア機能は、カーネルだけで、基本的な入れ、疎結合が、ファイル管理やメモリ管理は、カーネルと対話する場合、パフォーマンスは高くありません
-
外側コア - アカデミアより極端な方法があります。第一の部分の上に、特定のアプリケーションを扱うの一部、コアは、2つの部分、ハードウェア・リソースの完全な複製にハードウェアを有するもの取引に分割されています。速度向上
-
仮想マシンモニタ(VMM):多くの別個のマシン錯覚にインタフェースを変換するため、これらのインタフェースの各々 (仮想マシン)は元のコンピュータシステムとすべてのプロセッサ命令(N仮想コンピュータシステムの完了の有効なコピーであります(フルコンピュータ)ので、単一の物理コンピュータ・システム上で複数のコンピュータ)が一つの変数よりも使用しなければならなかったことを
オペレーティングシステムの下では、VMMのハードウェアは、VMMの下にあります
7スタート、割り込み、例外とシステムコール
7.1コンピュータの起動
三つの主要なオープン上記電源
初めではなく、メモリ内のOSのOS
DISK:OSの記憶
に基づいて、I / O処理システム(適切なソフトウェアをロードするために、電源周辺機器を検出した後に行う):BIOS
-第一歩特定の場所と実行を開始
- POST(パワーオン・セルフテスト)
-ビデオカード(画面)のための外観をしてBIOS(キーボードとマウス)を実行
-ブートローダ(負荷OS)は、最初は最初のプライマリハードドライブに、メモリにハードディスクから行きますブートセクター
のセクターのは512のバイトです
装置および手順(割り込み例外システムのスケジューリング)と対話する7.2オペレーティングシステム
割り込みおよびIOによって処理するための周辺機器は、
システムコールや例外を通じて対応する機能を活性化するために、アプリケーションを配向しました
定義:
- (アプリケーションから)システムコール
アプリケーションは、積極的に、オペレーティング・システムにサービス要求を送信する(アプリケーション・プログラムは、オペレーティングシステムに指示を送ります) - (望ましくないアプリケーションからの)例外
不当命令または他の処理の変化状態(例えば、メモリエラー)(アプリケーション例外は、実行時に対応する機能OSを完了する必要が生じます) - 割り込み(周辺の)
異なるハードウェアデバイスとネットワークタイマからの割り込み
アプリケーションは、OSやハードウェアが接触するのはなぜ?
- コンピュータは、カーネルが、信頼できるサードパーティ(アプリケーションが信頼できない、OSが信頼できる)で、実行されています
- 唯一のカーネルは特権命令を実行することができます
- アプリケーション(アプリケーションソフトウェアの底部は、OSが最大にシンプルなインターフェイスを提供するようにOSの遮蔽装置、その結果、より多くのポータブルアプリケーション)を容易にするために
異常なシステムコールの割り込みの違い
- 出典:
- 割り込み:周辺機器
- 例外:予期しないアプリケーションの動作は、(アクセス可能なアドレス空間へのアクセス権を持つべきではありません。リソースが満たされていないが、静かに準備OS)
- システムコール:アプリケーションが動作サービス(読み取りと書き込みファイル)を要求
- 処理時間
- 割り込み:非同期(破壊イベントが発生につながるとき、アプリケーションは知りません)
- 例外:同期(0が異常生成する以外)
- システムコール:同期(要求が同期している)または非同期(リターンが同期または非同期アプリケーションである可能性が高いが、すぐに他のことを行うための要求を発行した後、リターンは非同期であり、同期が要求した後に待っています。)
- レスポンスステータス
- ブレイク:連続は、ユーザ・アプリケーションのために透明であり、
- 例外:キルまたは予期しないアプリケーション命令を再実行
- システムコール:待ちと継続的に続けます
割り込みと例外処理メカニズム
- 割り込みは、周辺のイベントです
- 例外は、CPUの内部イベントです
- 割り込みと例外力割り込みと例外サービスアクセス機能の一部にアクセスするためのCPU
割り込み
-
ハードウェア:
- 設定されている割り込みフラグ(CPUの初期化)
- フラグ、割り込み、内部および外部のイベントセットです
- 割り込みイベントID
イベントのプログラムのID値割り込みは、割り込みベクタアドレス訪れ
、特定のハードウェアおよびソフトウェアの保護を必要とし、より緊急イベント、(保全と回復のメカニズム)を実行するために、実行中のプログラムによって中断され、割り込みをこの安全装置は、処理された後に割り込みは元のプログラムを実行し続けることができます
- 設定されている割り込みフラグ(CPUの初期化)
-
ソフトウェア:
- 現在の処理状況を保存
- 割り込みサービスルーチン処理
- クリア末端標識
- 以前に保存した状態の処理を復元
例外:例外番号
- 保存サイト
- 例外処理
- 異常プログラムを強制終了
- 再実行異常な命令(OS仕事を補うために、例外処理)
- 復旧サイト
それは非常にになる時に、ソフトウェアシステムは感知できない異常は、知りません
システムコール
アプリケーションの呼び出しのprintf()、システムが書き込みを呼び出しを開始します()
- メインプログラムは、高レベルのAPIインターフェースはなく直接的より継続するシステムコールによってアクセスされる
いくつかの命令のみを実行することができるCPUは、OSを実行している時の状態、(マシン命令、アクセスIO):ユーザーモード
カーネルモード:操作OS間CPUは、すべてのコマンドを実行可能な状態(特権、IOを...)
システムコールは、ユーザがカーネルモード、OSを提出した制御アプリケーションへの状態遷移から実現される場合、OSシステムが放出することができますコールサイン認識を行い、具体的なサービスの完了するために、
アプリケーションの問題を: - 関数呼び出し、スタック空間とリターンの中に達成するためにパラメータを渡します
- システムコール、OSやアプリケーションが独自のスタックを持って、スイッチング状態が頭上必要スタックスイッチは、オーバーヘッドのリターンは、安全性と信頼性
を確認するために、OSの不信アプリケーションソフトウェア、検証引数が言っている
コストは価値が必須です