- OSとは
コンピュータを構成する様々な機器を利用できるようにコントロールするのがOSと呼ばれるソフトウェアになります。ソフトウェアにはOS以外にも様々な種類があります。各ソフトウェア同士の関係と役割を知ることで機能の重複を省いたり、不足する機能のみ効率的に追加するなどソフトウェアの組合せを的確に行えるようになります。
- ソフトウェア
システム
ソフトウェア |
基本ソフトウェア
(オペレーティ
ングシステム)
※広義のOS |
コンピュータの管理
ユーザインタフェース
(Windows、MacOS、Unix、Linux) |
ミドルウェア |
OSと応用ソフトの中間に位置
共通機能の提供
(通信、DB、ライブラリ、ドライバ) |
応用
ソフトウェア
(アプリ
ケーション) |
個別応用 |
業務に特化(非汎用的)
(販売、財務管理ソフト) |
共通応用 |
業務共通(汎用的)
(ワープロ、表計算ソフト)
※パッケージソフト |
- OS
制御プログラム
※狭義のOS |
ハード、ソフトの管理
(ジョブ、タスク、データ、記憶、通信) |
言語プロセッサ |
プログラム言語処理系
(アセンブラ、コンパイラ、インタプリタ) |
ユーティリティ
(サービスプログラム)) |
簡易、補助ツール
(エディタ:メモ帳、日本語入力:IME) |
- OSの3大管理
- ジョブ管理
ジョブ:ユーザの作業依頼単位
(例)ファイルAとBを照合して一覧表を印刷したい
→JCL(ジョブ制御言語)で依頼
(※汎用コンピュータ)
<管理の流れ>
↓
↓
|
リーダー |
JCLでの依頼を入力キューに登録
※JCL(Job Control Language) |
イニシエータ |
優先度によりキューから実行 |
ターミネータ |
終了処理(資源開放) |
ライタ |
スプーリング(出力キュー)の出力
※プリンタなどの低速な装置に有効 |
※イベント駆動ではイベントキューを活用
- タスク管理
タスク:コンピュータの作業実行単位
タスク≒プログラム、スレッド
※タスクを組合せてジョブを実現する
<タスク状態遷移>
ジョブ入力 |
|
(タイマ
割込み)
←
↓ →
↓ ↑
(CPU
割り当て) |
──
│実行│
│状態│
── |
(SVC:
スーパー
バイザコール)
→
↓ |
↓ |
タスク分割 |
→ |
──
│実行│
│可能│
│状態│
── |
←
(入出力
割込み) |
──
│待機│
│状態│
── |
※CPU割り当て:ディスパッチャが優先度に応じて行う
※SVC:入出力依頼などOSの機能を利用
- 実行状態:処理実行(1つ)
- 実行可能状態:CPUの空き待ち(複数)
- 待機状態:入出力処理待ち(複数)
- データ(ファイル)管理
補助記憶装置への非依存インタフェースの提供
↓
ファイルシステム、アクセス制御
- その他
記憶管理(メモリ)、通信管理(ネットワーク)など
|