コンピュータサイエンス入門 第14回

代表的なOS
OSの位置付け
コンピュータサイエンス入門
第14回
ユーザ
パソコンOS
アプリケーション・ソフトウェア
(応用ソフトウェア)
サーバOS
リアルタイムOS
ミドルウェア
OS オペレーティング・システム
(基本ソフトウェア)
スマホやタブレット用OS
ハードウェア
OSの目的
ハードウェアを効率よく動かす
制御プログラムの機能
ユーザ
システム資源の有効活用
処理能力の向上
RASISの向上
汎用性・拡張性の向上
使いやすさの向上
応答時間の短縮
ジョブ
OSの位置付け
アプリケーション・ソフトウェア
ミドルウェア
処理プログラム
サービスプログラム
制御プログラム
タスク
ジョブ
言語プロセッサ
核(カーネル)
ハードウェア
ジョブ管理
タスク管理
データ管理
OSの
3大管理
ネットワーク管理
ユーザ管理
セキュリティ管理
ほか・・
核(カーネル)
ハードウェア
JCLによるジョブの記述
JCLによるジョブの記述
がジョブを読んで
タスク
に選ばれてジョブ開始
タスク
がJCLを解読し
がファイルを割当てて
がジョブを終了させる
バッチ処理用
があとで印刷
1
ディスパッチング タスクにCPUを割り当てること
シングルプログラミング
タスク
A
B
タスクを順番に実行
タスク
マルチプログラミング
タスク
CPU I/O
CPU I/O
CPU
CPU
I/O
タスクの状態遷移図
CPU
割当
I/O CPU I/O CPU
タイムスライシング方式
優先度による割込み
RTOSに必須
タイマ割込み
タスク
生成
実行可能
入出力
状態
処理終了
タスクを同時進行
タスクが実行状態から
待ち状態になるのは?
タスクが実行状態から
待ち状態になるのは?
実行
状態
F I F O方式
到着順方式
実行
状態
済
実行可能
状態
ラウンドロビン方式
D
C
入出力
処理開始
時間
切れ
イベントドリブン方式
CPU
I/O
タスク
消滅
実行
状態
CPU
実行可能
状態
待ち
状態
ディスパッチングの方法
プライオリティ方式
B
最初から優先度を決めておく。
優先度の高いプロセスは割り込む。
A
済済済
済済済済 済済 済済済済済
141310
11 8 6 3
5 2 12 9 7 4 1
タスクの到着順にタイムスライスを割り当てる
待ち
状態
ディスパッチングの方法
最短ジョブ優先方式
時間がかからないプロセス優先。
でも普通はやってみないとわからない。
多段フィードバック方式
待ち
状態
ディスパッチングの方法
済
済
済
タスクの到着順にCPUを割り当てる
ダイナミックディスパッチング方式
A
B
CPU使用が多いプログラム
CPU I/O
CPU
I/O
CPU
入出力処理が多いプログラム
CPU
I/O
CPU
I/O
CPU
効率的なのは?
新しいプロセスに高い優先度を与える。
2
ダイナミックディスパッチング方式
A
B
ラウンドロビン方式は?
ラウンドロビン方式は?
CPU使用が多いプログラム
CPU I/O
CPU
I/O
CPU
入出力処理が多いプログラム
CPU
I/O
CPU
I/O
CPU
入出力処理が多いプログラムに高い優先度
効率的なのは?
特定のタスクが CPU 割当てを待ち続ける可能性
が高いタスクスケジューリング方式は?
特定のタスクが CPU 割当てを待ち続ける可能性
が高いタスクスケジューリング方式は?
プロセッサ
出典:IPA「教育用画像素材集サイト」 http://www2.edu.ipa.go.jp/gz/
プロセッサ
命令取り出し段階
(命令のフェッチ)
命令をメモリから
命令レジスタへ
命令実行段階
解読・実行
リロケータブル(再配置可能)なプログラム
主記憶装置
プログラム
実行可能
リロケータブル(再配置可能)
実行可能
プログラム
メモリのどこでも正常に動作
プログラム
実行可能
再配置不可能
主記憶装置
主記憶装置
実行可能
プログラム
メモリのどこでも正常に動作
500
501
502
503
10,000
500番地に+1
500番地をシフト
501番地へジャンプ
番地が変わると動作異常
出典:IPA「教育用画像素材集サイト」 http://www2.edu.ipa.go.jp/gz/
3
5!
リユーザブル(再使用可能)
を計算するプログラム KAIJO(5)
χ!
を計算するプログラム KAIJO(χ)
プログラム
答 ←χ×(χ-1)×(χ-2)×・・・
5!=5×4! なので
答 ←χ× KAIJO(χ-1)
リカーシブル(再帰可能)
自分を呼び出し可能
KAIJO(4)
KAIJO(3)
KAIJO(2)
KAIJO(1)
あるプログラムモジュールが、複数のタスクの
要求に応じて同時・並行的に実行可能であ
る場合、この性質を何というか。
プログラム
リエントライト(再入可能)
再使用不可能
主記憶装置
主記憶装置
答 ←5×4×3×2×1
実行
↓
終了
実行
↓
終了
何度でも使用可能
実行
↓
↓
↓
プログラム 終了
主記憶装置
プログラム
実行でプログラムが変わる
再実行時は再ロードが必要
あるプログラムモジュールが、複数のタスクの
要求に応じて同時・並行的に実行可能であ
る場合、この性質を何というか。
A←9+1
正しく
計算
足し算
実行 プログラム
↓
↓
A←X+Y
↓
実行
↓
↓
↓
A←5+8
正しく
計算
同時に実行可能
再帰的プログラムの特徴は?
再帰的プログラムの特徴は?
再使用可能
再帰可能
再配置可能
再入可能
4