Microsoft PowerPoint - OS02.pptx

Similar documents
Microsoft PowerPoint - OS02.pptx

Microsoft PowerPoint - OS02.ppt

OS

計算機システム概論

PowerPoint プレゼンテーション

Microsoft PowerPoint - No3.ppt

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

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - OS07.pptx

04-process_thread_2.ppt

Microsoft PowerPoint - chap4_slide a.ppt

今週の進捗

Microsoft PowerPoint - kougi7.ppt

CPUスケジューリング

PowerPoint Presentation

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

020204.入出力制御割込解説

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

Microsoft PowerPoint - pc11.ppt

Microsoft PowerPoint - OS03.pptx

コンピュータのしくみ

15群(○○○)-8編

05-scheduling.ppt

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

10-vm1.ppt

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

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

01-introduction.ppt

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

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

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

ComputerArchitecture.ppt

Microsoft PowerPoint - No6note.ppt

スレッドとプロセス

計算機アーキテクチャ

PowerPoint プレゼンテーション

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

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

TopSE並行システム はじめに

TFTP serverの実装

スライド 1

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

Microsoft PowerPoint - OS12.pptx

Operating System 仮想記憶

< B8CDD8AB B83685D>

OS

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

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

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

PowerPoint プレゼンテーション

ex04_2012.ppt

PowerPoint プレゼンテーション

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

-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

新OS使用時の留意事項

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - OS11.pptx

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

2015/04/01 改定 オムロン DeviceNet ユニット CJ1W-DRM21 に関するコンフィグレーション作業について 1. 概要 DeviceNet ユニット CJ1W-DRM21 を装着したオムロン製 CJ2 シリーズと WAGO-I/0-SYSTEM DeviceNet 対応バスカ

cmpsys15w07_os.ppt

回路 7 レジスタ ( 同期イネーブル及び非同期リセット付 ) 入力データを保持するのに用いる記憶素子 使用用途として, マイクロプロセッサ内部で演算や実行状態の保持に用いられる Fig4-2 のレジスタは, クロック信号の立ち上がり時かつ 信号が 1 のときに外部からの 1 ビットデータ R をレ

2006年10月5日(木)実施

User Support Tool 操作ガイド

スライド 1

OS

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

1. ボードの複数台制御 コンフィグ ROM から FPGA が起動できる場合を想定しています FPGA 回路には 特定のレジスタアドレスにプリセットしたデータが必要です 製品出荷時のサンプル FPGA 回路では レジスタ No.3 を 8bit 幅に設定し FPGA 外部の 4bit ディップスイ

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

VG シリーズ用ローカルファームアップ / 自動ファームウェア更新設定手順書 VG400aⅡ ローカルファームアップ / 自動ファームウェア更新設定手順書

計算機のリソースとは 1.CPU 2. 主記憶 3. 補助記憶装置 の抽象化

ソフトウェアご使用の手引き

スライド 1

まず,13 行目の HardwareTimer Timer(1); は,HardwareTimer というクラスを利用するという宣言である. この宣言によって Timer というインスタンスが生成される.Timer(1) の 1 は,OpenCM に 4 個用意されているタイマのうち,1 番のタイマ

要求受付機能 管理番号内容対象バージョン 314 トレースログに重複してメッセージが出力される場合がある 6.3.2~ 大量のファイルトリガ情報が登録されている状態でファイルトリガプロセスを起動するとファイルトリガプロセスが停止する場合がある 7.2.0~7.3.1 ユーティリティ

マニュアル訂正連絡票

MMUなしプロセッサ用Linuxの共有ライブラリ機構

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

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

Microsoft Word - TestReport_PRIMEPOWER250_ doc

メモリ管理

WLX302 取扱説明書

Windows 10の注意点

RDX へのバックアップ 3 ベアメタル復旧手順書 2014 年 11 月

23_TRENDPOINTセットアップ(バージョンアップ)

Arcserve Replication/High Availability 製品の仕組み

Windows Server 2003 Service Pack 適用手順書

HULFT の通信をよりセキュアに HULFT と SSH Tectia を組み合わせたセキュアで強力なファイル転送 Compatibility Note 2008 年 9 月 株式会社セゾン情報システムズの企業内 企業間通信ミドルウェアである HULFT は ファイル転送のアプリケーションとして

Netcommunity SYSTEM αNXⅡメディアIP電話機取扱説明書

TOMOYO Linux

33_TRENDCOREセットアップ(バージョンアップ)

PowerPoint プレゼンテーション

国土数値情報 XML シェープ変換ツール 操作説明書 平成 23 年 7 月 国土交通省国土政策局

<4C696E A B835E A CC8A D20838A B835E B838982CC8EC08CB

OSの切替えについて

(2) 開放性 (openness) 開放性とは, システムをさまざまな方法で拡張できるかどうかを決定する特性である. 分散システムの開放性とは, 新しい資源共有サービスを, 既存のサービスの破壊や重複なしに, どの程度追加できるかということを決定する. 各コンピュータのカーネル (kernel)

Microsoft PowerPoint - dev1.ppt

管理対象クライアント端末のログを管理画面で日時 端末名等により複合検索を行える機能を有すること 外部記億媒体の使用ログを CSV 形式で出力する機能を有すること 外部記億媒体の未使用期間 最終使用クライアント端末 最終使用ユーザー名を把握できること 1.3 階層管理機能 - 外部記憶媒体使用設定権限

改版履歴 版数改版履歴改版年月日 1.0 新規作成 2013/03/ OverAction と DiskStallAction の値変更 (ActionNone ServiceCmdDisable ProcessOfRdmstatKillEnable ServiceCmdEnable)

目次 はじめに システム環境 インストール手順 インストール前の注意点 インストールの準備 ライセンスの登録 インストール先の選択 インストールの開始 インストール

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

Transcription:

オペレーティングシステム 第 2 回 割り込みと OS の構成 http://www.info.kindai.ac.jp/os 38 号館 4 階 N-411 内線 5459 takasi-i@info.kindai.ac.jpkindai ac

プログラムの実行中の動作 CPU プログラム キーボードからの入力 遊び 画面への出力 遊び IO 装置 入力処理 出力処理 CPU の遊び時間ができてしまう

単一プログラムの問題点 単一プログラムだと CPU の遊び時間が大きくなる 多重プログラムにする 多重プログラム 複数のプログラムを並行して実行させる

多重プログラムの実行中の動作 CPU プログラム 1 CPUが使えるので実行開始 優先度が低い方は実行中断 プログラム2 ( 優先度低 ) 遊び IO 装置 多重プログラムにすれば CPU の遊び時間を減らせる

逆に下がる効率実行プロセス数と処理効率CP処理CPU の遊び時間が減り効率が上がるU入力待ち等で効率が低い あまり増え過ぎると逆に下がるこの部分は第 12 回講義で 実行プロセス数

多重プログラムの実行中の動作 CPU プログラム 1 ここでプログラム 2 が中断される 割込み プログラム2 ( 優先度低 ) IO 装置

割込み (interrupt) 割込み (interrupt) 実行中の処理を中断して特別な処理をする 事務処理 電話が鳴ったので事務処理中断事務処理再開 電話応対 応対終了

割込みの発生 割込みは非同期に発生する 電話はいつ鳴るかは分からない ユーザ入力はいつ完了するかは分からない 事務処理 電話は処理中に突然鳴る プログラム ユーザ入力はプログラム実行中に突然起きる

割込み ユーザ入力発生 CPU プログラム 1 IO 装置 プログラム 2 入力終了 割り込み発生 プログラム 2 を中断, プログラム 1 を再開 プログラムを切り替える処理が必要

割込み CPU プログラム切り替え用プログラム 割込み処理 IO 装置

プログラム実行中の入力要求 CPU プログラム 1 入力要求 IO 装置 しかし プログラム 1 から直接 IO 装置を起動はできない

プログラム実行中の入力要求 ユーザプログラムが直接 IO 装置を起動することはできない どのプログラムが IO 装置を使うかの管理 実行プログラムの切り替え これらを処理するプログラムが必要

プログラム実行中の入力要求 CPU プログラム 1 入力処理用プログラム IO 装置

特別な処理を行うプログラム 特別な処理を行うプログラム プログラム切り替え用プログラム 入出力処理用プログラム CPU IO 装置 カーネル (kernel) カネル (kernel) OS の中核部分

カーネル (kernel) OS の基本的なサービス 資源の割付と保護 プログラムの実行 入出力操作 ファイル操作 カーネル (kernel) 基本的サービスを行うOSの根幹

義のカーネル ユーザ ユーザ ユーザ ユーザ プログラム プログラム プログラム プログラム アプリケーションプログラム エディタ, コンパイラ広システムプログラムリンカ, ローダ等 狭カネルプロセス管理, 同期と通信制御義Oカーネル (kernel) ファイルシステム, メモリ管理のOスケジューラ, 割り込み制御, 入出力制御Sスケジューラタイマ管理, デバイスドライバ等 Sハードウェア機械語, 物理デバイスマイクロプログラム等

カーネルの特徴 カーネルの特徴 割込みにより起動 カーネルモード ( 特権モード ) で動作 アプリケーションプログラムから記憶保護 プログラム実行の管理 計算機資源の管理 特別な特権命令でユーザプログラムに戻る

ユーザプログラム カーネルモード, 特権モード (kernel mode,,privileged mode) 計算機全体に影響を与える命令を実行できるモード 資源の管理, 制御ユーザプログラムが直接メモリアクセスするのは禁止 例 : メモリ管理 メモリ 他のプログラムの領域を書き換えられる危険ユーザプログラムにメモリ管理という余計な負荷 メモリ管理は OS が行う

資源の管理, 制御 例 : メモリ保護 メモリ アプリケーション1 アプリケーションプログラム 1 アプリケーション 2 アプリケーションプログラム 2 アプリケーションプログラム 3 1 が 2 の領域へ不当な書き込み 2 が 1 の領域から不当な読み込み 3 が OS の領域に不当な書き込み アプリケーション 3 OS アプリケーションを停止する

システムコール (system call) ユーザプログラムから OS へのサービス要求 入出力をしたい 他のプログラムを起動 停止したい ファイルに読み 書きしたい 手続き呼び出しの形式を取る

システムコール ユーザプログラム ユーザプログラムを中断, OS に処理が移る OS システムコール処理ルーチン SC #k #1 #2 #k

カーネルモード, ユーザモード (kernel mode, user mode) OS カーネルモード システムコール等の割り込みにより発生, 各種割込み処理ルーチン実行中 ユーザモード ユーザプログラムを実行中 SC 処理ルーチン カーネルモード ユーザプログラム ユーザモード

割込み メモリの OS 領域内に割込みの処理ルーチン メモリ OS ソフトエラー処理 ハードエラー処理 システムコール処理 入出力完了処理 OS 外部信号処理タイマ処理

割込み OS アドレスベクタテーブル コード 割込み名 アドレス 0 ソフトエラー 1 ハードエラー 2 システムコール 3 入出力完了 4 外部信号 5 タイマ 割込みルーチン ソフトエラー処理ハードエラー処理システムコール処理入出力完了処理外部信号処理タイマ処理 ユーザプログラム システムコール発動

カーネルの構成要素 1. 割り込み制御 2. 入出力制御 3. タイマ管理 4. 記憶管理 5. CPU スケジューラ 6. プロセス管理 7. 同期と通信制御 8. ファイルシステム

1. 割込み制御 CPU カーネルの構成要素 割込み制御 割り込み要因の解析と処理ルーチンへの分岐 ユーザプログラム OS アドレスベクタテーブル 割込み処理ルーチン IO 装置

2. 入出力制御 カーネルの構成要素 割込み制御 入力動作のスケジューリング 入出力装置の仮想化 java System.out.print(x); c OS printf ( %d, x);

2. 入出力制御 カーネルの構成要素 割込み制御 入力動作のスケジューリング 入出力装置の仮想化 ユーザプログラム 1 ユーザプログラム 2 このデータを表示して このデタを表示して OS 1 このデータを表示して OS 2

3. タイマ制御 時刻の管理 カーネルの構成要素 タイマ制御 時間経過の監視, 通知など ユーザプログラム OS 5 分計ってください タイマ処理 5 分経ちました タイマからの割込み

4. 記憶管理 ユーザプログラム1 ユーザプログラム2 カーネルの構成要素 記憶管理 主記憶管理 : メモリ割り付け 仮想記憶管理 : ページング, 動的置き換え メモリを使いたい メモリを使いたい メモリ プログラム 1 プログラム 2 プログラム3は緊急性が低いので少し待ってもらおう ユーザプログラム 2 メモリを使いたい OS

4. 記憶管理 カーネルの構成要素 記憶管理 主記憶管理 : メモリ割り付け 仮想記憶管理 : ページング, 動的置き換え データ1が必要 データ2が必要 データ 3 が必要 メモリ ハードディスク データ1 データ1 データ2 データ2 データ3

4. 記憶管理 カーネルの構成要素 記憶管理 主記憶管理 : メモリ割り付け 仮想記憶管理 : ページング, 動的置き換え データ 3 が必要 メモリ データ1をHDに退避ハードディスク データ3 データ1 データ2 データ2 データ3

カーネルの構成要素 CPU スケジューラ 5. CPU スケジューラ CPU のプロセスへの割り付けを管理 OS ユーザプログラム 1 ユーザプログラム2 ディスパッチャ (dispatcher) プロセスへのCPU 割り付けを行うプログラム ユーザプログラム 2

6. プロセス管理 カーネルの構成要素 プロセス管理 プロセスの生成と消滅アイコンがクリックされた IO 装置 OS ユーザプログラム プロセス 1 プロセス 2

7. 同期と通信制御 カーネルの構成要素 同期と通信制御 並行プロセス間の協調処理 プロセス間同期 : 排他制御, read-writeの同期 プロセス間通信 : メッセージ転送 プロセス 1 プロセス 2 プロセス 3 プロセス 4 メモリ

8. ファイルシステム カーネルの構成要素 ファイルシステム ファイル制御の規定と提供 ファイル構造 : バイト列 / レコード列, キー アクセス法 : 順アクセス, ランダムアクセス ディレクトリ管理 ファイル保護 領域割り付け 一貫性制御

OS の実現法 OS は多数のモジュールから構成される OS 入出力モジュール ファイル管理モジュール プロセス管理モジュール タイマモジュール 割込制御モジュール スケジューラモジュール

OS の実現法 モジュール化 モジュール化の基準 情報隠蔽 (information hiding) 方針と機構の分離 階層化 (Layering)

OS の実現法 情報隠蔽 モジュール内部の情報を隠蔽 インタフェースのみ公開 モジュール インタフェース モジュールのプログラム ローカル変数ブラックボックス ローカルメソッド モジュール内で どう処理をしているか ローカル変数 ローカルメソッドを隠蔽する モジュール内の変更が他のモジュールに影響しない モジュル内の変更が他のモジュルに影響しない システム全体の見通しが立ちやすい

OS の実現法 抽象データ型 (abstract data type) 抽象データ型 (abstract data type) 複数の手続きによりデータ型を定義 モニタ (monitor) 同時に 1 つのプロセスのみがデータにアクセス可能 例 : 時計モジュール 時計モジュール 現時刻を教えてくれる 時間を計れる 決まった時刻にアラーム

OS の実現法 方針と機構の分離 方針を実現する部分と実際の処理を行う部分を別のモジュールにする 例 : CPU スケジューラとディスパッチャ CPUスケジューラ スケジューリングアルゴリズムの実現 プロセッサを割り当てるプロセスを選択 ディスパッチャ 類似例方針 : 財政方針機構 : 金融 機構 プロセッサ割り付けの際のレジスタの退避, 回復 おのおのの変更, 拡張を独立に行える

OS の実現法 階層化 (layering) 下位層のサービスを利用上位層にサービスを提供 メインの手続き サービス手続き ( システムコールを実行 ) 他の層の実装を知る必要は無い ( インタフェースのみ知っていればよい ) 実装を考慮した階層化が必要 ユーティリティ手続き ( サービス手続きの支援 )

OS の実現法 モノリシックカーネル (monolihic kernel) OS の機能を全て取り込んだカーネル ユーザプロセス ( ユーザモード ) monolihic : SC#k 一枚岩の, 単層の モノリックカーネル ( カーネルモード ) 割込みハンドラ #1 #2 #3 #k ディスパッチャ

OS の実現法 モノリシックカーネル OS の機能を全て取り込む = 巨大なカーネル 例 : UNIX 機能強化に伴って巨大化 モノリシックカーネルの問題点 カーネルはメモリに常駐 不必要にメモリを占有 1つの巨大なプログラム 機能変更, 拡張に対する柔軟性に欠ける

OS の実現法 マイクロカーネル (micro kernel) カーネル + システムサーバで構成 カーネル 割込み処理, スケジューリング, プロセス間通信, メモリ管理等 システムサーバ (system server) メモリマネージャ, ファイルサーバ, ネームサーバ, デバイスドライバ等 カーネルは必要最低限の機能のみを持つ クライアント サーバ型

OS の実現法 マイクロカーネル ユーザプロセス ( ユーザモード ) SC#k システムサーバ群 ( ユーザモード ) システムサーバ システムサーバ システムサーバ マイクロカーネル ( カーネルモード ) 割込みハンドラ ディスパッチャ

長所 OS の実現法 マイクロカーネル 見通しの良いシステム設計 変更, 拡張の容易性 分散システムに適合 短所 プロセス間通信の多用によるオーバヘッド

まとめ :OS の概要 多重 ( マルチ ) プログラム 複数のプログラムを見かけ上同時に実行 CPUの遊び時間を減らせる割り込み 実行中のプログラムを中断して特別な処理をする カーネル ( 特権 ) モードで割り込み処理ルーチン システムコール ユーザプログラムから OS へのサービス要求

まとめ : カーネルの構成要素 1. 割り込み制御カーネルの実現 2. 入出力制御 3. タイマ管理 4. 記憶管理 5. CPU スケジューラ 6. プロセス管理 7. 同期と通信制御 8. ファイルシステム モジュール化 情報隠蔽抽象データ型 階層化 モノシリックカーネル マイクロカーネル