Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
ソフトウェアの種類
ソフトウェア
応用ソフトウェア
(アプリケーション)
システム
ソフトウェア
基本ソフトウェア (オペレーティングシステム)
制御プログラム 言語プロセッサ サービスプログラム
ミドルウェア
DBMS GUI 情報セキュリティ
(暗号化など)
ハードウェアの抽象化
• 動作に微妙に差異があるハードウェア
–製造元
–機種,バージョン,ロット
• 構成する部品・チップ
• ハードウェアを統一的で単純化
–部品の種類・型・方式
–応用ソフトウェアの開発を容易に
処理能力
• Throughput:単位時間当たりの仕事量
• 応答時間
– Turnaround Time:バッチ処理での
• CPU時間+入出力時間+処理待ち時間
– Response Time:オンライン処理
• 入力終了から出力を始めるまでの時間
信頼性
• Reliability(「狭義の」信頼性) – 故障のしにくさ (MTBFが10年) – 平均故障間隔 :Mean Time Between Failure
• Availability(可用性) – 稼働率の高さ,障害発生時の修復速度, – 停止時間の短さ(稼働率99.999%=1年で9時間弱)
• Serviceability(保守性) – 修理時間の合計÷故障回数 – Mean Time To Repair (MTTR)
• Integrity(保全性) – データの破壊や不整合への耐性
• Security(安全性) – 外部からの侵入・改ざん,機密漏えいへの耐性
プロセス管理
システムプロセス
モニタ
ユーザ1
リード
子
ユーザn
ジョブ管理
Job_1
Task1-1
Task1-2
Job_m
I/O コマンド管理
JobとTask
• Job :仕事の単位(ユーザ)
• Task :仕事の単位(システム)
システム ユーザ
Job
Job Step 1 Task1-1
Job Step 2 Task2-1
Task2-2
Job Step3
OSの構成
OS
制御 プログラム
ジョブ管理
タスク管理
データ管理
通信制御
処理 プログラム
言語処理
ユーティリティ
応用
Job Management
• 主記憶装置に常駐
– JobとJob Stepの実行を制御
– Master Scheduler
• オペレータとシステム間の情報交換
– Job Scheduler
• Job実行のスケジュール
リーダ
イニシエータ
ジョブ実行
ターミネータ
ライタ
入力ジョブ待ち行列
出力ジョブ待ち行列
タスク管理
Task
実行可能状態
実行状態 待ち状態
タスク生成
入出力待機
ディスパッチング
優先順位の低下
タスク終了
Task Management
• Dispatching:CPU使用権限
–優先度方式
– ラウンドロビン方式
• 割り込み処理
–内部割り込み
–外部割り込み
• スプーリング
–入出力データなど
ディスパッチング
• 優先度 – FIFO (First in First out) : Queue
– LIFO (Last in First out) : Stack
– SPT (Shortest Processing Time)
– EDD (Earliest Due Date)
• ラウンドロビン (Round - robin) –実行中でもCPU時間を開放
• マルチタスク –複数のタスクを切り替え
割り込み処理
• タスクを中断して他のタスクを実行
• 内部割り込み –プログラム割り込み:エラー処理など
–スーパバイザコール:CPUのモード切替など
• 外部割り込み –機械チェック割り込み:
ハードウェアエラーなど
–入出力割り込み:入出力完了など
– タイマー割り込み:時間設定
スプーリング(Spooling)
• CPUと入出力装置の時間ギャップ
–入出力データをバッファリング
• キャッシュに近い工夫
–プリンタや通信機器などに多い
記憶の概念構造
• 実際に搭載される記憶と違う
–仮想記憶 (Virtual Memory)
• 実際よりも仮想的に多いメモリ
ハードウェア 基本ソフトウェア 応用ソフトウェア
主記憶装置 実記憶 ソフトウェアの
記憶領域
補助記憶装置
仮想記憶
ファイル領域 ファイル領域
OSの実記憶管理
• 区画方式:主記憶を区画に分割
固定 可変
プログラムA プログラムA
プログラムB
プログラムB
プログラムC
プログラムC
無駄
区画
主記憶の断片化
• フラグメンテーション (Fragmentation) • プログラムの実行と終了
主記憶
プログラムA
プログラムB
プログラムC
主記憶
プログラムA
プログラムC
終了 プログラムD
実行する余裕がない
断片化の解消
• Garbage collection
主記憶
プログラムA
プログラムC プログラムD
主記憶
プログラムA
プログラムC
ガベージコレクション
連続した空き領域を確保
仮想記憶管理
• 動的アドレス変換
–仮想アドレス (または論理アドレス)
–実アドレス (または物理アドレス)
• 実現手法
–ページング方式
–セグメント方式
物理アドレス空間
ページング方式
1. 記憶領域をページ単位に分割 – 512~8192byte(4KBが一般的)
2. 実行に必要なページ – 実記憶に読み込む (Role-in)
3. 主記憶に空きスペースがない場合 – 置き換えページを決定
4. 実行に必要のないページ – 補助記憶に退避(Role-out)
5. 2.に戻る.
3.置き換えページの決定
• FIFO (First in First out)
–実記憶上で最も古くから存在するページ
• LIFO (Last in First out)
–最後に参照されたページ
• LRU (Least Recently Used)
–未参照時間の最も長いページ
• LFU (Least Frequently Used)
–参照頻度の最も少ないページ
セグメント方式
• 必要なプログラムやデータ
–主記憶に読み込む(Role-in)
• 不要なプログラムやデータ
–補助記憶装置に退避(Role-out)
• セグメントとして管理
–実記憶上に連続した領域として
– フラグメンテーション問題は起こる
• ページ化セグメンテーション
ファイル管理
• ディレクトリ/フォルダ階層
– UNIX系OSとそれに倣ったOS
/
bin etc var home
1055341t 1034992t
ルートディレクトリ
ファイル
ファイル位置の指定
• 絶対パス:ルートディレクトリからの位置 • 相対パス:カレントディレクトリからの位置
– カレントディレクトリ:現在注目しているディレクトリ
/
var home
1055341t 1034992t
hoge.docx
カレント
–絶対パス指定 /home/1055341t/hoge.docx
–相対パス指定 ../home/1055341t/hoge.docx