計算機システム概論

Similar documents
OS

Microsoft PowerPoint - No3.ppt

Microsoft PowerPoint - sp ppt [互換モード]

PowerPoint プレゼンテーション

出 アーキテクチャ 誰が 出 装置を制御するのか 1

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS02.ppt

Microsoft PowerPoint - kougi7.ppt

Microsoft PowerPoint - OS02.pptx

020204.入出力制御割込解説

計算機アーキテクチャ

ComputerArchitecture.ppt

PowerPoint Presentation

Microsoft PowerPoint - OS02.pptx

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

User Support Tool 操作ガイド

Microsoft PowerPoint - OS07.pptx

04-process_thread_2.ppt

利用ガイド

01-introduction.ppt

Microsoft PowerPoint - sp ppt [互換モード]

計算機システム概論

Microsoft PowerPoint - os ppt [互換モード]

今さら聞けない!? Oracle入門 ~後編~

今週の進捗

Microsoft PowerPoint - pc11.ppt

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

BIOSセットアップメニュー 一覧

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

CPUスケジューリング

TopSE並行システム はじめに

Information Theory

Microsoft PowerPoint - 11Web.pptx

2.RL78 での割り込み処理 ( 割り込み受け付け ) マスクが解除された (xxmk ビットが 0 の ) 割り込み要求信号は 2 つの用途で使用されます 一つ目は,CPU のスタンバイ状態の解除です この動作は, 割り込み優先順位とは全く無関係で, マスクされていない (xxmk=0 の )

スライド 1

User Support Tool 操作ガイド

2. セットアップ手順の開始 セットアップ手順を進める前に OS をインストールするパーティションのサイズを決定して ください システムをインストールするパーティションのサイズは 次の計算式から求めること ができます インストールに必要なサイズ + ページングファイルサイズ + ダンプファイルサイズ

Microsoft PowerPoint - No6note.ppt

Data-Add User Manual.book

コンピュータのしくみ

Microsoft Word - USB2-PCI…V…−†[…Y_04†iWinNt40_PDFŠp†j.doc

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

05-scheduling.ppt

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

TOPPERS 活用アイデア アプリケーション開発 コンテスト 部門 : 活用アイデア部門アプリケーション開発部門 作品のタイトル : Toppers_JSP と Scicos_lab / (Scilab でも可 ) による 組込みメカトロニクス制御シミュレーション 作成者 : 塩出武 ( シオデタ

Microsoft PowerPoint - OS04.pptx

TFTP serverの実装

Operating System 仮想記憶

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

新OS使用時の留意事項

PN-L802B / PN-L702B / PN-L602B

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - SDK_info [äº™æ‘łã…¢ã…¼ã…›]

10-vm1.ppt

BIOSセットアップメニュー 一覧

PN-L601B

情報工学Ⅰ-02

電子納品チェックシステム利用マニュアル

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

ユーザーズマニュアル

Microsoft Word - Setup_Guide

Windows Server 2003 Service Pack 適用手順書

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

手順書 20 イメージ最小化作業 はじめに JumboSpot を動かすために使用している RaspberryPi( 以下 ラズパイ という ) に Pi-Star という OS 兼ソフトウェアを microsd カードにセットアップして利用しているが バックアップイメージを残す際に利用するソフトウ

Microsoft PowerPoint - chap4_slide a.ppt

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

親指シフトキーボード(FMV-KB611)、JISキーボード(FMV-KB621)、FMV-LIFEBOOK(親指シフトキーボードモデル)をお使いになる方へ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

スライド 1

kaisetu.book

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS1.ppt [互換モード]

OS

改版履歴 版数 改訂日 該当頁 / 該当項目 改訂の要点 /03/31 6 対応 OSの変更に伴う修正 動作環境 の OS に以下を追加 Windows 8.1 Update (64Bit) Windows 8.1 Update Pro (64Bit) 動作環境 の OS から以

インストーラー 管理番号 内容 対象バージョン 230 HULFT がすでにインストールされているパスに対してサイレントインストールを実行すると インストールされていた HULFT の動作環境が不正な状態になる 7.3.0~7.3.1 ユーティリティ 管理番号 内容 対象バージョン 231 管理情報

Microsoft Word - eRecovery v3-1.doc

Microsoft Word - XPC4ソフトマニュアル.doc

Touch Panel Settings Tool

オペレーティングシステム 2014

PowerPoint プレゼンテーション

Imation Encryption Manager Plus Imation Encryption Manager Plus ソフトウェアにより 対応 USB フラッシュドライブにパスワード保護に対応した総合セキュリティーを設定することができます Imation Encryption Manage

PN-L600B

第 1 回 C 言語講座 1. コンピュータって? だいたいは 演算装置 制御装置 記憶装置 入出力装置から構成されている 演算装置 CPU の一部で実際に計算を行う装置 制御装置 CPU の一部で演算装置や入出力装置 記憶装置の読み書きなどを制御する装置 記憶装置プログラムや情報 データを一時的

演算増幅器

目次 初めに必ずお読みください ソフトウェアのインストール ソフトウェアの選択 ソフトウェアのインストール レシーバー用ドライバのインストール WindowsXP のインストール方法 Win

ic3_cf_p1-70_1018.indd

1

1. はじめに Systemwalker Desktop Patrol V 以降でセキュリティ監査として BIOS パスワード設定の監査 を提供しています しかし Systemwalker Desktop Patrol メインメニュー のセキュリティ情報に表示される起動パスワード 設定パ

PowerPoint プレゼンテーション

はじめにお読みください

もくじ 1 ファームウェアのアップデート (Windows). 1 必要なシステム. 2 ファームウェアアップデーターの起動.. 3 プリンターが正しく接続されていない場合 ファームウェアのアップデート (Macintosh)... 8 必要なシステム. 9 ファームウェアアップデータ

Microsoft PowerPoint - dev1.ppt

他のOSをお使いになる方へ

改版履歴 版数改版履歴改版年月日 1 新規作成 2013/3/29 2 TESTIO_MODE を追加 OVER_ACTION VG_STALL_ACTION の設定値を変更 2013/9/30 3 CLUSTERPRO MC StorageSaver for BootDisk (for Linux

OS

Transcription:

計算機システム概論 3 回目 本日のトピック : 割込みと入出力制御について割込み制御について問題点の明確化割込みとは割込みに対する処理について 入出力制御について入出力装置の接続入出力の操作入出力を効率的に行うための仕組み 1

入出力制御の歴史 OS 誕生のキッカケとなった動機 : プロセッサと入出力装置を同時並行的に動かしたい 実現したいこと入出力処理を行うジョブ ( 実行中のプロセス ) を 眠らせる 眠らせたプロセスと入れ替わりで, 他のプロセスを実行入出力処理が完了したら, 元のプロセスを 起こす 入出力開始入出力完了プロセスA sleep プロセス B 実行中待機中入出力中 2

どのようにアプローチするか プロセスの入出力処理を, 監視 制御する仕組みが必要 アプローチ1: 常時監視型プロセスを自由に動作させ, その動作を監視するプロセスの作業内容は千差万別自己中心的なプロセス, ズルをするプロセスの存在 アプローチ2: 専売特許型入出力処理は, プロセスから 委託 を受けてOSが担当する勝手な入出力を許さない仕組みの 作り込み が必要ソフトウェア的な仕組みだけでは, 対応が難しい 3

モード制御 プロセッサ (CPU) に 実行モード と呼ばれる状態を持たせる 特権モード ( カーネルモード, スーパバイザモード ) 入出力を含む全ての機械語命令が実行可能 一般モード ( ユーザモード ) 入出力等, 一部の機械語命令が使えない ハードウェアとソフトウェアが協調して, 問題に対処する 4

モードの切り替え OS の機能を実行するときは, プロセッサを特権モードに 通常ののプロセス実行時は, プロセッサを一般モードに プロセスから入出力の依頼があったとき... 一時的に特権モードに切り替えて,OS が入出力処理を代行 OS プロセス A プロセス B CPU モード 特権モード 一般モード 5

モード切替の方法 CPUモードは誰が, どのように切り替えるか特権モードから一般モード OSがモード切替命令を発行して切り替える 一般モードから特権モード単純な方法では切替を実現できないユーザジョブによるモード切替は防止しないといけない OSにだけモード切替を許可したい CPUからは,OSとジョブを区別できないハードウェア的な助けを借り, 特権モードへの切替を行う 割込み 6

基本的な考え方 特権モードが必要になるパターンは, 非常に限定的入出力処理をOSに依頼したい入出力の完了処理をしたいジョブ実行中にエラーが発生した ( ジョブ ( プロセス ) の切替を行いたい ) 対応策 : 各パターンの処理内容を固定する OSの機能を呼び出す スイッチ を設置するスイッチが押されると, プロセッサが特権モードに移行し, 決められた処理を実行する 7

割込みとは 割込み = 特権モードが必要な操作をシステムに要求すること入出力処理をOSに依頼したい入出力の完了処理をしたい実行プロセスを切り替えたい 適当なモノが割り込みを起こすことで, 実現する 割込みが起こると... OS が, 現在実行中のプロセスから CPU を横取りする ( プロセスから見ると,OS が仕事に割り込んでくる ) 8

割込みイベント 割り込みを起こすモノ : 実行中プロセスの外にあるもの : 外部割込み入出力装置タイマー 実行中プロセスの中にあるもの : 内部割込み ( 例外, 割り出しと呼ばれることも ) APIの呼び出し ( 入出力 ) プロセス実行中に発生するエラー 2 0=? 9

割込み処理 割込みが発生したとき... 1. CPUが割込み発生を検出 2. CPUが特権モードへ自動的に移行 3. OS 内の割込み処理ルーチンへジャンプ 4. OS 内ルーチンは, 現在実行中のプロセスを退避 5. 割り込みの種類を判定して処理を行う 6. OSが,CPUモードを一般モードに変更 7. プロセスの処理に戻る 外部割込み... 中断していたプロセスに復帰 内部割込み... プロセススケジューラに委ねる 10

割込み処理のフロー 割込み事象 通知 情報格納 メモリ CPU 特権モードへ割込み種類判別割込み受付 入出力装置 OS 入出力制御部 wakeup switch sleep 一般モードへ 制御をプロセスへ 11

入出力依頼割り込み (API 呼び出し ) 出力! 通知 CPU 特権モードへ 情報格納 メモリ 割込み種類判別 割込み受付 入出力装置 OS 入出力制御部 wakeup switch sleep 一般モードへ 制御をプロセスへ 12

入出力完了割込み 完了! 通知 CPU 特権モードへ 情報格納 メモリ 割込み種類判別 割込み受付 入出力装置 OS 入出力制御部 wakeup switch sleep 一般モードへ 制御をプロセスへ 13

タイマ割込み CPU 交代! 通知 特権モードへ 情報格納 メモリ 割込み種類判別 割込み受付 入出力装置 OS 入出力制御部 wakeup switch sleep 一般モードへ 制御をプロセスへ 14

割込み処理への割込み 割込み処理中に, 他の割込み事象が発生したら?...3 通りの対策がある. どれを使うかはケースバイケース 追加割込み禁止割込み処理中は, 他の割り込みを一切受け付けない選択的割込み許可現在処理中のものより優先度の高いものだけ受付サーバプロセス利用割込み処理を,OS 外部のプロセスへアウトソーシング 15

前半部のまとめ 割込み制御 : プロセッサと入出力を同時並行的に動かす仕組み抜け道を塞ぐため, かなり複雑な仕掛けが必要主として, 入出力の タイミング を制御する仕組み 後半部のお話 : 入出力を行うための仕組みと操作について 16

入出力装置 入力装置 : キーボード, マウス, CD-ROM 等 ユーザや外部機器から, 計算機に情報を与える装置 出力装置 : ディスプレイ, プリンタ, スピーカ等 計算機の保持する情報を, 計算機外部に取り出す装置 入力, 出力の両方に用いられる装置もある : フロッピーディスク, ハードディスク等 CPU の処理速度に比べると, 動作速度はかなり遅い 17

古典的な入出力処理方式 プロセッサによる直接制御プロセッサが直接, 入出力装置を制御していた ABCとタイプして改行, 一行分紙を進めてから... プロセッサが, 速度の遅い入出力装置にあわせる CPU の利用効率が非常に悪い CPU システムバス メモリ 入出力装置 CPU ディスク ( ディスク ) 18

やや進んだ入出力処理方式 入出力制御装置の導入独立した入出力制御装置を, コンピュータ内に設置プロセッサは, 制御装置にデータと指示を送るだけ入出力の完了は, 割込みによって通知される 直接制御より高速だが, データ転送に時間がかかる CPU メモリ CPU コントローラ ディスク 入出力制御装置 入出力装置 19

より進んだ入出力処理方式 着眼点 : 入出力装置に送りたいデータは, メモリ上にある DMA 方式 (Direct Memory Access) プロセッサは, 制御装置にデータの場所と指示を送る制御装置がメモリを直接参照しにいく入出力の完了は, 割込みによって通知される CPU メモリ CPU コントローラ メモリ 入出力制御装置 ( コントローラ ) 入出力装置 20

OS の構造と入出力処理 ユーザプログラムには, 入出力 APIを提供 API: Application Program Interfacce API 内部 : 必要なデータをセットし, 割込みを発生させる入出力の制御を行うルーチンは, 二重構造デバイス非依存部デバイス依存部 ( デバイスドライバ ) ユーザプログラム API 割込み制御部 入出力制御部 非依存部 デバイス 依存部 デバイス デバイス 21

入出力処理の流れ プログラム : 必要なデータを引数として入出力 APIを実行 API: 決められた領域に, 与えられたデータをセット API: 入出力機能呼出し割込みをかけるデバイス非依存部 : ユーザの要求を解釈, 翻訳デバイス依存部 : 入出力制御装置に指示を与える ユーザプログラム API 割込み制御部 入出力制御部 非依存部 デバイス 依存部 デバイス デバイス 22

入出力制御部の内部構造 入出力制御部 : デバイス依存部 ( デバイスドライバ ) 入出力機器を駆動する部分デバイス非依存部ユーザに対し, 抽象的 論理的なビューを与える入出力のタイミングを調整することで, 効率を改善 ファイルシステム 非依存部 デバイス 02 34 1b e3 22 4f 7a b2 55 生データ 依存部 デバイス 23

入出力の効率改善策 入出力には割込み処理が必要 割込み処理は, 複雑で効率が悪い 入出力回数をできるだけ少なくすれば, 全体の効率アップ 入出力処理の回数を減らすテクニックがよく使われるキャッシュ ( 入力対応 ) バッファリング ( 出力対応 ) 24

キャッシュ 多くの入力装置 : データを固まり ( ブロック ) として読み込む典型的なハードディスクの場合... 一度の読み出し操作で,1024バイトのデータが得られる キャッシュとは読み出したデータを一時的に保管し, 将来に備える機構入出力制御部システムバスへ遅い キャッシュ ( メモリ ) 速い 25

キャッシュの動作概要 1. 参照アドレス通知 2. キャッシュ内容チェック 3A. キャッシュに値がある場合, その値をリターン 3B-1. キャッシュに値がない場合, ディスクアクセス 3B-2. 1ブロック分のデータを読み込み, キャッシュへ格納 3B-3. 参照されたアドレスの内容をリターン 1 A-3, 3B-3 入出力制御部 2 3B-1 3B-2 キャッシュ ( メモリ ) 26

バッファリング 基本的なアイデア : リクエストのたびに出力を行うのは面倒ある程度リクエストがたまるのを待って, まとめて書込むリクエストは, メモリ上で一時保管 ( バッファ ) バッファリングなし バッファリングあり 27

UNIX のディスク管理 UNIXにおけるディスク装置入力にキャッシュを, 出力にバッファを用いるキャッシュ領域, バッファ領域は, 空きメモリ領域を利用定期的に, バッファの内容をディスクに書き込む いきなりコンピュータの電源を切ると... バッファで書き込まれるのを待っていた出力内容が, ディスク装置に反映されずに消えてしまう 28

本日のまとめ 入出力に関連する話題割込み制御のお話入出力制御のお話 次回の講義... メモリの管理 実験 ( 結果の提出不要 ): 少し規模の大きなプログラムを,2 回続けて起動する. 1 回目,2 回目それぞれについて, 起動にかかる時間, ハードディスクへのアクセス状況等を観察せよ. 29