第8回入出力制御 デバイスコントローラ ポーリングと割込み 入出力の方式 PIO DMA 入出力のためのソフトウェア技法.

Slides:



Advertisements
Similar presentations
入 出 力 管 理入 出 力 管 理 オペレーティングシステム 第 11 回. 入出力装置の分類(1) ブロックデバイス キャラクタデバイス,ストリームデバイス.
Advertisements

Linuxを組み込んだマイコンによる 遠隔監視システムの開発
第2回 プロセス管理 ジョブ、プロセスとは? プロセスの状態遷移 プロセス制御ブロック スケジューリング.
オペレーティングシステムJ/K 2004年10月18日(5時限目)
オペレーティングシステム (仮想記憶管理)
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
計算機システム概論・3回目 本日のトピック:割込みと入出力制御について 割込み制御について 問題点の明確化 割込みとは
基本情報技術概論(第10回) 埼玉大学 理工学研究科 堀山 貴史
Chapter11-4(前半) 加藤健.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第6回 仮想記憶とページング ページング ページ取り出し方式 ページ置き換え方式 中間テスト(40分)
記 憶 管 理(1) オペレーティングシステム 第9回.
計算機工学III オペレーティングシステム #9 主記憶管理:ページング 2006/06/09 津邑 公暁
基本情報技術概論(第12回) 埼玉大学 理工学研究科 堀山 貴史
入 出 力 管 理 オペレーティングシステム 6/26/09.
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
PCの情報を得る - 「システム情報」 ①「スタート」→「すべてのプログラム」→「アクセサリ」→「システム ツール」→「システム情報」とクリックする。 ②左欄の項目を選択すると、右欄に情報が表示される。
計算機システムⅡ 主記憶装置とALU,レジスタの制御
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
情 報 技 術 基 礎 処理装置の構成と動作 D17kog706pr101 始.
『コンピュータ構成要素』 (C)Copyright, Toshiomi KOBAYASHI,
App. A アセンブラ、リンカ、 SPIMシミュレータ
詳解TCP/IP ACE B2 mewtwo.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
オペレーティングシステム (割り込み処理)
Linuxカーネルについて 2014/01.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
計算機システムⅡ 入出力と周辺装置 和田俊和.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
計算機入門I ハードウェア(1) 計算機のハードウェア構成 ~計算機のハードウェアとは何か~
第9回 プロセスの協調と排他制御 並行プロセスと資源の競合 競合問題 セマフォ 不可分命令の実装 プロセス間通信 PV命令
データベース設計 第2回 データベースモデル(1)
明星大学 情報学科 2010年度後期     コンピュータ設計論  
オペレーティングシステム (仮想記憶管理)
オペレーティングシステム (仮想記憶管理)
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
第10回 ファイル管理 論理レコードと物理レコード アクセス方式 ユーザから見たファイルシステム 補助記憶装置の構成
情報リテラシー2014 part 5/5 (亀田担当分最終回)
オペレーティングシステム 第15回 割込みと入出力の制御
リモートホストの異常を検知するための GPUとの直接通信機構
オペレーティングシステム イントロダクション
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
コンピュータ概論B ー ソフトウェアを中心に ー #02 システムソフトウェアと アプリケーションソフトウェア
オペレーティングシステム 第2回 割り込みとOSの構成
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
第4回 ファイル入出力方法.
オペレーティングシステムJ/K 2004年11月15日2時限目
オペレーティングシステム (ファイル) 2009年11月9日
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
OSが管理している、デフォルトの入出力装置 入力:stdin キーボード 出力:stdout モニタ(コマンドプロンプトの画面)
組込みシステムとは コンピュータ制御システム?
Cell/B.E.のSPE Isolationモードを用いた監視システム
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
強制パススルー機構を用いた VMの安全な帯域外リモート管理
「コンピュータと情報システム」 02章 ハードウェア
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

第8回入出力制御 デバイスコントローラ ポーリングと割込み 入出力の方式 PIO DMA 入出力のためのソフトウェア技法

入出力ハードウェア CPU 主記憶 システムバス ディスク コントローラ ビデオ コントローラ プリンタ ドライバ 磁気ディスク

入出力制御とデバイスコントローラ 入出力装置を制御することは、OSの重要な役割の一つ CPU(メインプロセッサ)は、デバイスコントローラを介して入出力制御を行う OSの入出力装置を担当するソフトをデバイスドライバと呼ぶ デバイスコントローラ 特定の型の入出力装置に対する操作インターフェースをCPU上のソフトウェアに提供 データレジスタ ... 転送するデータを一時的に格納するレジスタ 状態レジスタ ... 入出力の結果をCPU(プログラム)から参照 できるようにするための状態レジスタ 入出力ポート ... プログラムから制御するための インターフェース メモリマップト入出力(memory-mapped I/O) 分離入出力(isolated I/O)

デバイスコントローラによる 入出力装置の動き(入力の場合) プログラムが入出力ポートを通じてデバイスコントローラに入出力装置から、デバイスコントローラにデータをデータレジスタに読み出す指令を出す データの読み出しが完了すると、状態レジスタに完了の状態がセットされる CPUは状態レジスタを参照し、入力が正常に行われたかを調べ、データをデータレジスタから取り出す

デバイスコントローラにおける 入出力装置の動作(出力) CPUはデバイスコントローラのデータレジスタに出力データを入れ、これを装置に書き込むように指令 状態レジスタに出力の結果がセットされる CPUは、状態レジスタをチェックし、出力が正常に完了したかを調べる

入出力の並列処理 入出力装置の動作は、CPUの処理速度に比べ、桁違いに遅い 処理のオーバラッピング・並列化 入出力の完了を知る方法が鍵 ポーリング 割込み

ポーリング デバイスコントローラに入出力動作の完了を示すフラグを用意 CPUは、入出力操作と並列で他のプロセスを処理 周期的にこのフラグを見に行き、動作完了をチェックする 周期短 ⇒ CPUの時間のほとんどがフラグチェックに費やされてしまう 周期長 ⇒ 入出力装置が遊んでしまう 周期的に完了フラグ をチェック 起動 後処理 CPU 入出力装置 プロセスA プロセスB

割込み処理 ポーリングは、フラグチェックに要する時間が無駄である 入出力の完了を割込みによって、CPUに通知する 割込みハンドラ 割込みベクタ 起動 後処理 CPU 入出力装置 完了を割込みで 通知 プロセスA プロセスB

入出力の方式 PIO(Programmed I/O) ... CPUと入出力装置のデータ転送をCPUが行う キーボードやシリアルプリンタなどの1Byte単位の低速な入出力装置によく使われる ディスプレイ ... ビデオRAMに表示したデータを書き込む DMA(Direct Memory Access) ... DMAコントローラと呼ばれる専用のハードウェアがCPUと独立してデータ転送を行う 一度に大量のデータをブロック単位で転送するのに適している DMAコントローラは、CPUに比べて高い優先度でシステムバスを獲得できる

DMA転送による入出力 例:ディスクに対するアクセス コントローラ src_addr, dest_addr Read/Write バイト数 CPU counter dest_addr src_addr src_addr dest_addr 入出力要求 完了割込み 転送停止命令 DMA転送 システムバス 主記憶 ディスク コントローラ ディスク バッファ

入出力装置の分類(Unix) キャラクタ型端末 ... 1文字単位の入出力を行う装置 キーボード、シリアル回線 cf). /dev 以下でls –l すると crwx------ などのようにモード表記の一番左がcとなっている装置 ブロック型端末 ... ブロックを単位として入出力を行う装置 磁気ディスク、磁気テープ cf). /dev 以下でls –l すると brwx------ などのようにモード表記の一番左がbとなっている装置

入出力のためのソフトウェア技法 バッファリング ... 入出力とプロセッサの処理をオーバラップさせるために、入出力用にバッファと呼ばれる一時記憶領域に入出力データを蓄積する技法 キャッシング ... 一度利用されたデータを主記憶(キャッシュ)上に一時的に格納し、再利用時のデータアクセスの高速化を実現する スプーリング ... 急を要さない入出力を専用のプロセス(スプーラという)に依頼し、入出力を一元管理する手法 プリンタなどによく利用されている

バッファリング データを受け渡しする者同士の速度差を緩和する(バッファ→ 緩衝器という意味) 入出力装置とバッファは、ブロック単位で転送 データを受け渡しする者同士の速度差を緩和する(バッファ→ 緩衝器という意味) 入出力装置とバッファは、ブロック単位で転送 バッファとプログラムは、レコード単位もしくは、バイト単位で受け渡し ブロッキング ... 複数のレコードを1つのブロックにまとめて出力する 入出力の回数を減らせる ブロッキング係数n ... 1つのブロックがn個のレコードを含む レコード一つあたりの準備操作の時間は1/n になる レコード間ギャップ(IRG), ブロック間ギャップ(IBG) ... ブロックが小さいと、ギャップ領域大となり、使用効率落ちる。 デブロッキング ... バッファに読み込んだブロックを複数のレコードに分割して、プログラムに渡す ダブルバッファリング ... 作業用バッファと、転送用バッファの2つを1組にして使用する プログラムは、作業用バッファに対して入出力操作を行う 作業用バッファと転送用バッファのコピーがOSによって行われる

端末入出力制御 キー入力の流れ エコー(echo) ... デバイスドライバが、入力した文字を一文字ずつ画面に表示する キーボードからの文字入力は、割込みにより通知される 押されたキーのコードを入力ポートから取り出す ASCIIコードなどの文字コードに変換 SHIFTやCTRLなどのキーが押された状態をチェック 大文字、小文字、制御文字の解釈 主記憶上のバッファに格納される エコー(echo) ... デバイスドライバが、入力した文字を一文字ずつ画面に表示する エコーさせるかどうかは、ソフトウェアが指定する

端末入出力の手法 文字単位の入出力 ... 1文字ずつ転送し、文字単位でエコー 行あるいは画面単位の入出力 ... バッファを持ち、行単位あるいは画面単位で転送し、局所的にエコーを返す ↵キーが押されると、バッファがフラッシュされるなど

端末入出力のモード 標準モード(canonical mode) ... 個々の文字の解釈をユーザプログラムではなく、デバイスドライバが行う 生モード(raw mode) ... 個々の文字の解釈をユーザプログラムが行い、デバイスドライバは生データを渡すのみ

入出力を行うソフトウェアの階層 入出力ライブラリ ユーザプログラム ディレクトリ管理 ファイル管理 バッファ管理 デバイスドライバ 割込みハンドラ 装置に 依存しない 装置依存