300 likes | 444 Views
情報通信制御. 情報通信工学科 3 年 森村 知弘. 本講義の取り扱うテーマ. OS (オペレーティング・システム)の基本的な働き OS が管理するもの. 授業計画. 第 1 回目の授業内容. OS の基本概要 計算処理の仕組み OS とは? OS の基本構成要素 OS の歴史. 計算機システムの構成. 処理装置(ハードウェア) データセット(パラメータなど) プログラム(指示書). ハードウェアに 仕事をさせるには …. ハードウェアに対する指示書(プログラム)が必要 仕事の内容、処理手順の定義 例) 洗濯機 洗濯機の仕様(ハードウェアの仕様)
E N D
情報通信制御 情報通信工学科 3年 森村 知弘
本講義の取り扱うテーマ • OS(オペレーティング・システム)の基本的な働き • OSが管理するもの
第1回目の授業内容 • OSの基本概要 • 計算処理の仕組み • OSとは? • OSの基本構成要素 • OSの歴史
計算機システムの構成 • 処理装置(ハードウェア) • データセット(パラメータなど) • プログラム(指示書)
ハードウェアに仕事をさせるには… • ハードウェアに対する指示書(プログラム)が必要 • 仕事の内容、処理手順の定義 • 例) 洗濯機 • 洗濯機の仕様(ハードウェアの仕様) • 機能 • 洗濯の手順 • 注水 → 洗濯 → すすぎ → 脱水
ハードウェアとソフトウェア • ハードウェア • 仕様(機能) • ある入力に対して、ある出力をする • ソフトウェア • ハードウェアに入力を与えて制御する • ハードウェアモニタープログラム • BIOS(BasicI/OSystem)
計算機システムの構成 計算処理 プログラム データ 主記憶 メイン プロセッサ HDD 入出力装置 周辺装置
処理の仕組み(アドレスマッピング) • 各デバイスは、1次元のアドレス(番地) にマッピングされる • メインプロセッサ(CPU,MPU)は、ア ドレスを指定することによって各デバ イスを制御する 0x00000000 システムROM領域 システム制御領域 割り込み制御領域 メインプロセッサ (CPU) 0x01000000 周辺装置制御領域 0x10000000 メインメモリ領域
計算機上での処理 主記憶 CPU 制御ユニット PC プログラム デコーダ 命令フェッチ 実行ユニット load データ 命令の実行 store 周辺機器 制御
プリミティブな計算機システム • ソフトウェア環境としては、最低限必要なデバイスコントロールのためのプログラムと、システムを起動するためのプログラム(IPL:Initial Program Loader)のみ • 処理させたいプログラムをユーザが逐一、計算機システムに組み込む • 厳密には、ユーザが主記憶装置にプログラムをロードする • メモリ管理、データ保全はユーザがその都度行う • 処理効率(スループット)が悪い • ユーザの負担が大きい OSの誕生
オペレーティング・システムとは • Operating System (OS) • ハードウェアを管理、運用するための基本プログラム群 • cf. kernel • ユーザがそれまで行ってきたジョブ管理、メモリ管理を自動で行う • よく利用する共通の機能を一括して提供 • OSが生まれた当初の目的 • コンピュータ・システム(計算機システム)を最大限に効率よく運用すること。 • OSの現在の目的 • マン-マシン・インタフェースに重点
オペレーティング・システムの役割 • 広義のOSの役割 • コンピュータ・システムに接続されている資源の有効利用 • 人間とコンピュータ・システムとのインタフェース • コンピュータ・システムの変更や新機能の追加手段 • 狭義の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の載っているもの、載っていないもの広義のOSの意味で… • OSの載っていないもの • チャンネルひねると番組が変わる昔のTV • 洗濯機 • 昔の携帯電話 • 自動販売機 • 昔のラジオ • 昔のゲーム機 • OSの載っているもの • 最近のTV(メニュー画面がある) • 最近の電子レンジ(インターネットからメニューをとってくる) • i-mode のある携帯電話 • 組み込み機器用OS
ソフトウェアの階層構造 アプリケーション プログラム 文章処理 統計計算 データ ベース ゲーム ユーティリティ プログラム ウィンドウ システム コンパイラ システム プログラム コマンドインタープリタ OS APIなど カーネル 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に必要な機能 • 実行管理 • メモリ管理(ただし仮想メモリは除く) • システム制御 • 入出力制御
参考図書 • 岩波書店 清水 謙多朗 著: 情報処理入門コース’’オペレーティングシステム’’ • 岩波書店 所 真理雄 著: 岩波講座ソフトウェア科学’’計算システム入門’’