情報通信制御 - Amano Lab | Dept. of Information and

情報通信制御
情報通信工学科 3年
森村 知弘
本講義の取り扱うテーマ
OS(オペレーティング・システム)の基本的な
働き
 OSが管理するもの

授業計画
回
項目
回
項目
第1回
OSの基本概念
第8回
入出力装置
第2回
プロセス管理
第9回
プロセス間通信
第3回
CPU管理と
例外処理
第10回 排他制御
第4回
仮想メモリとメモリ
階層
第11回
第5回
メモリ管理(1)
第12回 セキュリティ制御
第6回
メモリ管理(2)
第7回
データ管理とファ
イルシステム
試験
ネットワーク管理、通
信制御
第13回 OSの動向
試験
課題
第1回目の授業内容

OSの基本概要
−
−
−
−
計算処理の仕組み
OSとは?
OSの基本構成要素
OSの歴史
計算機システムの構成
処理装置(ハードウェア)
 データセット(パラメータなど)
 プログラム(指示書)

ハードウェアに仕事をさせるには…

ハードウェアに対する指示書(プログラム)が
必要
−
−
仕事の内容、処理手順の定義
例) 洗濯機
 洗濯機の仕様(ハードウェアの仕様)
•
機能
 洗濯の手順
•
注水 → 洗濯 → すすぎ → 脱水
ハードウェアとソフトウェア

ハードウェア
−
−

仕様(機能)
ある入力に対して、ある出力をする
ソフトウェア
−
−
−
ハードウェアに入力を与えて制御する
ハードウェアモニタープログラム
BIOS(Basic I/O System)
計算機システムの構成
計算処理
主記憶
メイン
プロセッサ
HDD
入出力装置
周辺装置
プログラム
データ
処理の仕組み(アドレスマッピング)
• 各デバイスは、1次元のアドレス(番地)
にマッピングされる
• メインプロセッサ(CPU,MPU)は、ア
ドレスを指定することによって各デバ
イスを制御する
0x00000000
システムROM領域
システム制御領域
0x01000000
メインプロセッサ
(CPU)
割り込み制御領域
周辺装置制御領域
0x10000000
メインメモリ領域
計算機上での処理
主記憶
CPU
制御ユニット
PC
プログラム
デコーダ
命令フェッチ
実行ユニット
load
命令の実行
store
データ
周辺機器
制御
プリミティブな計算機システム


ソフトウェア環境としては、最低限必要なデバイスコ
ントロールのためのプログラムと、システムを起動す
るためのプログラム(IPL:Initial Program Loader)
のみ
処理させたいプログラムをユーザが逐一、計算機シ
ステムに組み込む
−

厳密には、ユーザが主記憶装置にプログラムをロードす
る
メモリ管理、データ保全はユーザがその都度行う
• 処理効率(スループット)が悪い
• ユーザの負担が大きい
OSの誕生
オペレーティング・システムとは

Operating System (OS)
−
ハードウェアを管理、運用するための基本プログラム群

−
−

ユーザがそれまで行ってきたジョブ管理、メモリ管理を自
動で行う
よく利用する共通の機能を一括して提供
OSが生まれた当初の目的
−

cf. kernel
コンピュータ・システム(計算機システム)を最大限に効率
よく運用すること。
OSの現在の目的
−
マン-マシン・インタフェースに重点
オペレーティング・システムの役割

広義のOSの役割
1.
2.
3.

コンピュータ・システムに接続されている資源の
有効利用
人間とコンピュータ・システムとのインタフェース
コンピュータ・システムの変更や新機能の追加
手段
狭義のOSの役割
−
計算資源の有効利用
OSの目的

応答時間の短縮
−




処理効率(スループット)の向上
ハードウェアの有効活用
データの保全
開発環境(高級言語)の提供
−

ターンアラウンドタイム(仕事を依頼してから結果を出すまでの時間)
コンパイラ、アセンブラ
操作性(ユーザインタフェース)の向上
マシンの多重化と
仮想化
• リソースの共有
• 相互排除
マシンの多重化(仮想化)

物理的に1つしかないマシン環境を複数のユーザに
透過的に扱えるようにすること
−
−

マルチユーザ
マルチタスク
実際には、
−
−
単一しかない計算資源(例えばCPUなど)を共有する
共有のさせ方としては


時分割(Time Sharing)
空間分割(Space Sharing)
コンピュータの処理形態

バッチ処理(batch processing)
−
−
−

job(ジョブ)を一時的にためて(ためるものをqueueという)静的に順
番どおりに処理を行う
一つのジョブの処理時間が短い
柔軟性に欠ける(投入したjobの変更は不可能)
対話処理(interactive processing)
−
−
−
ユーザがその都度ごとに処理を指示する(動的)
一つのジョブの処理効率は悪いが、複数個のジョブ(システムトータ
ル)のハードウェア利用効率は高い
柔軟性がある


プロンプト、コマンド
リアルタイム処理
−
ターンアラウンドタイムの制限が厳しい

例)オンライントランザクション、ロボット制御、姿勢制御、自動操縦、スト
リーミング
OSを利用する利点

コンピュータシステムの安全性を高める
−
動作レベル(システムモード/ユーザモード)
データ保全
 マンーマシン・インターフェースの提供
 計算資源の有効利用

−
−
複数のユーザが利用できる環境(マルチユーザ)
複数の仕事を並行して行う環境(マルチタスク)
OSがないと…


ユーザが直接ハードウェアを制御するプログラムを
記述 → ハードウェアの安全性が低下
ユーザによる逐一のジョブ投入 or バッチ処理
−



動的に処理を切り替えることができない
システム構成の改変コストが高い
マシンの多重化(仮想化)が困難
仮想記憶装置(HDDなど)の使用が困難
−
−
ユーザがメモリ管理
オーバーレイ方式 ・・・ プログラマーがメモリ番地を考慮
したプログラミング
OSの歴史

Batch System
−
−
バッチ処理(sequential)
アセンブラ、コンパイラの延長上のもの


Multiprogramming System
−
仮想計算機


OS/360 (IBM,1964) … System 360
Time Sharing System (TSS)
−
時分割 (Time Sharing) cf. 空間分割


ローダ、常駐モニター
CTSS(MIT, 1961), Multics(MIT, 1965), Unix(AT&T, 1969)
Modern Operating System
−
−
Real time OS
分散OS
身のまわりのOS
PCのOS … Windows, Mac, Linux
 WSのOS … Unix(Solaris, True 64, IRIX,
AIX)
 TRON (東大)
 Mach(CMU) … マイクロカーネル, 分散
OS

OSの載っているもの、載っていないもの
広義のOSの意味で…

OSの載っていないもの
−
−
−
−
−
−

チャンネルひねると番組が変わる昔のTV
洗濯機
昔の携帯電話
自動販売機
昔のラジオ
昔のゲーム機
OSの載っているもの
−
−
−
−
最近のTV(メニュー画面がある)
最近の電子レンジ(インターネットからメニューをとってく
る)
i-mode のある携帯電話
組み込み機器用OS
ソフトウェアの階層構造
アプリケーション
プログラム
文章処理
ユーティリティ
プログラム
システム
プログラム
データ
ベース
統計計算
ウィンドウ
システム
コマンドインタープリタ
ゲーム
コンパイラ
APIなど
OS
カーネル
BIOS
ハードウェア
OSの提供する機能

実行管理
−
−

ジョブの管理
プロセススケジューリング
システム制御
−
−
開始処理、終了処理
障害管理
入出力制御
 ファイル制御

−
データの保全
OSの提供する機能
実行管理
例外制御
シ
ス
テ
ム
制
御
装置管理
障害管理
終了処理
開始処理
プ
ロ
セ
ス
管
理
プ
ロ
セ
ス
間
通
信
制
御
プ
ロ
グ
ラ
ム
管
理
ファイル操作処理
共
通
処
理
メモリ管理
割り込み制御
ディレクトリ制御
アクセス制御
通
信
制
御
領
域
管
理
制周
御辺
入
出
力
フ
ァ
イ
ル
管
理
入
出
力
制
御
OSの種類

カーネル(OSの心臓部)
−
−

ユーザ環境
−
−

シングルユーザ
マルチユーザ
タスク環境
−
−

モノリシックカーネル … 一枚岩の構成、柔軟性乏しい
マイクロカーネル … 最小限のコアに複数の細かいモジュールを組
み込むことで構成が可変。柔軟性高いが、処理のオーバヘッドが大
きい
シングルタスク
マルチタスク
その他
−
−
分散処理OS
ネットワークOS
OSの2つの側面
ユーザ側を ハードウェア
向いた顔
を向いた顔
 マン‐マシン・インタフェース
OSに対してどのような形式で命令
を与えるかを規定する
コマンド(cat,ls など)
 プログラム・インタフェース
プログラム中でOSの機能を利用す
る手段を提供する
システム・コール

ハードウェア資源の有効利用
− CPU(MPU)、メモリの管理
− 入出力装置の制御
− 新しいデバイスの追加
マン-マシン・インタフェース

CUI (Character User Interface)
−
−

コマンド入力方式(対話式)
コマンドインタープリター、シェル
GUI (Graphical User Interface)
−
−
メニュー選択などのようにユーザの視覚に訴える
インタフェース
X-Window
プログラムインタフェースと動作レベル
プログラムインタフェースは動作レベルを持つ
 特権モード(システム・モード)

−
−

スーパバイザコール
システムの資源を制限なく利用可能
ユーザモード
−
資源利用に制限がかかる
ハードウェアとOS



OSの機能からハードウェアが決定される
ハードウェアからOSの機能が決定される
例) マルチタスクOSに必要なハードウェア
−
−
−
−

入出力装置の割り込み
インターバルタイマー
メモリー管理ハードウェア
etc.
例) 携帯電話にのるOSに必要な機能
−
−
−
−
実行管理
メモリ管理(ただし仮想メモリは除く)
システム制御
入出力制御
参考図書
岩波書店 清水 謙多朗 著:
情報処理入門コース’’オペレーティングシス
テム’’
 岩波書店 所 真理雄 著:
岩波講座ソフトウェア科学’’計算システム入
門’’
