#03:OSがプログラムを実行する仕組みを理解しよう
ここでは、OSがプログラムを実行する仕組みについて学習します。OSは、アプリケーションプログラムやサービスプログラムを自動的に切り替えることで、同時に複数の処理を実行できます。
ブート(Boot):コンピュータやOSを起動すること
ブートローダ:コンピュータやOSの起動プログラム
- 1次ブートローダ:ファームウェアにあり、ストレージの2次ブートローダを起動
- 2次ブートローダ:ストレージからOSを読み込んで起動
- マルチブート・デュアルブート:起動するOSを切り替える
- ネットワークブート:ネットワーク経由でファイルサーバなどからOSを起動する
- ジョブ:ホストコンピュータなどで、バッチ処理などを管理する単位
- トランザクション:「すべて成功」「すべて失敗」を保証
- プロセス・タスク:並列実行できる実行中のプログラム
プロセス管理
- OSで、実行中のプロセスを制御する機能
- CPUがひとつであっても、短時間にプロセスを切り替えることで、複数のプロセスを同時に実行しているよう見せかける > マルチタスク
- プロセス外部に勝手にアクセスできない
- プロセス間の通信
ジョブスケジューラ
- ジョブの起動・終了を管理する機能
- Linuxの「crontab」(クローンタブ)、Windowsの「タスクスケジューラ」
- 複数のコンピュータを制御するツールもある
CPUがひとつだけのコンピュータで、プログラムを切り替えてマルチタスクを実現
- プリエンティブ:優先順位に従ってプロセスを処理。優先順位の高いプロセスが起動されると、優先順位の低い実行中のプロセスは、実行待ち状態となる。
- イベントドリブン:入出力の終了やコマンド実行をトリガーとしてプロセスを切り替える。
- ラウンドロビン:一定時間ごとにプロセスを切り替える
何らかのトリガーにより、強制的にプログラムを切り替える仕組み
割り込み処理の実行手順
1. プログラムの実行中、割り込みが発生する
2. 現在実行中のプログラムの状態を一時保存
3. あらかじめ指定された別のプログラムを呼び出す
4. 割り込みプログラムが終了したら、元のプログラムを再開
割り込みのトリガー
- ハードウェア割り込み、外部割り込み:外部回路や周辺装置などが発生させる
- ソフトウェア割り込み、内部割り込み:CPUやOSが、エラーなどにより発生させる
ブートローダ(ブートストラップローダ)とは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%83%96%E3%83%BC%E3%83%88%E3%83%AD%E3%83%BC%E3%83%80.html
ジョブとは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%82%B8%E3%83%A7%E3%83%96.html
トランザクションとは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3.html
プロセスとは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9.html
タスクとは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%82%BF%E3%82%B9%E3%82%AF.html
スレッドとは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89.html
ジョブ管理システム - Wikipedia
https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A7%E3%83%96%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0
マルチタスク(マルチプロセス)とは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF.html
プリエンプティブマルチタスク(非協調的マルチタスク)とは - IT用語辞典 e-Words
http://e-words.jp/w/%E3%83%97%E3%83%AA%E3%82%A8%E3%83%B3%E3%83%97%E3%83%86%E3%82%A3%E3%83%96%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF.html
割り込み(インタラプト)とは - IT用語辞典 e-Words
http://e-words.jp/w/%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF.html