Microsoft PowerPoint - OS07.pptx

Similar documents
Microsoft PowerPoint - OS08.pptx

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - OS04.pptx

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

10-vm1.ppt

PowerPoint プレゼンテーション

Operating System 仮想記憶

Microsoft PowerPoint - OS06.pptx

Microsoft PowerPoint - No6note.ppt

OS

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

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

Microsoft PowerPoint - No7note.ppt

スライド 1

Microsoft PowerPoint - OS12.pptx

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

Microsoft PowerPoint ppt

メモリ管理

04-process_thread_2.ppt

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

Microsoft PowerPoint - 11.pptx

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

計算機アーキテクチャ

Microsoft PowerPoint - No3.ppt

Microsoft PowerPoint - 09.pptx

スライド 1

PowerPoint Presentation

OS

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

Microsoft PowerPoint - OS10.pptx

Microsoft PowerPoint ppt

PowerPoint プレゼンテーション

スライド 1

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

01-introduction.ppt

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

OS

Microsoft PowerPoint - OS02.pptx

Microsoft PowerPoint - pc11.ppt

COMET II のプログラミング ここでは機械語レベルプログラミングを学びます 1

コンピュータのしくみ

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

今週の進捗

020105.メモリの高機能化

TFTP serverの実装

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

05-scheduling.ppt

スライド 1

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

コンテンツセントリックネットワーク技術を用いた ストリームデータ配信システムの設計と実装

Microsoft PowerPoint - OS02.ppt

ライセンスの注意事項 サーババンドル版のライセンスについてサーババンドル版では 通常のサーバライセンスおよび 4 コアライセンスを ベースライセンス 追加サーバライセンスおよび追加 2 コアライセンスを 追加ライセンス と呼びます 1 台の物理サーバに対してベースライセンスは 1 つしか購入すること

計算機システム概論

02: 変数と標準入出力

21 章のお話

< B8CDD8AB B83685D>

Fortran 勉強会 第 5 回 辻野智紀

複数の Nios II を構成する際の注意事項

PowerPoint Presentation

(2) 構造体変数の宣言 文法は次のとおり. struct 構造体タグ名構造体変数名 ; (1) と (2) は同時に行える. struct 構造体タグ名 { データ型変数 1; データ型変数 2;... 構造体変数名 ; 例 : struct STUDENT{ stdata; int id; do

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

Microsoft PowerPoint ppt

スライド 1

ソフトウェア基礎技術研修

Microsoft PowerPoint - 計算機言語 第7回.ppt

memo

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

PowerPoint プレゼンテーション

Microsoft PowerPoint ppt

KSforWindowsServerのご紹介

CPUスケジューリング

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

第1回 プログラミング演習3 センサーアプリケーション

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - OpenMP入門.pptx

スライド 1

長崎大学大学院生産科学研究科(博士前期課程)

gengo1-11

マネージドクラウド with bit-drive 仮想マシンサービス 管理者マニュアル [ 管理者さま向け ] 2018 年 10 月 15 日 Version 3.0 bit- drive 2018/10/15 Version 3.0 マネージドクラウド with bit-drive 仮想マシン

Microsoft PowerPoint - C++_第1回.pptx

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

スライド 1

02: 変数と標準入出力

コンピュータの仕組み(1)ハードウェア

Prog1_10th

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

スライド 1

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Taro-ポインタ変数Ⅰ(公開版).j

Notes and Points for TMPR454 Flash memory

Microsoft Word - 3new.doc

Monthly Research / セキュアハードウェアの登場とその分析

ログを活用したActive Directoryに対する攻撃の検知と対策

Microsoft PowerPoint - kougi7.ppt

Microsoft Word - HOKUSAI_system_overview_ja.docx

gengo1-8

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

講習No.1

Transcription:

この資料は 情報工学レクチャーシリーズ松尾啓志著 ( 森北出版株式会社 ) を用いて授業を行うために 名古屋工業大学松尾啓志 津邑公暁が作成しました 主記憶管理 主記憶管理基礎 パワーポイント 27 で最終版として保存しているため 変更はできませんが 授業でお使いなる場合は松尾 (matsuo@nitech.ac.jp) まで連絡いただければ 編集可能なバージョンをお渡しする事も可能です 復習 OS 複数プロセスによるリソース使用の調停 OS 自体とユーザプログラムもリソース共有 これまで 主に CPU のリソース使用調停について 7. 主記憶管理の目的 これから 主記憶のリソース使用調停について詳しく

主記憶の構成 主記憶の共有 プログラム間で共有 OS ユーザプログラム データ領域 一般にマルチプロセス 主記憶は共有資源 複数のプロセスがアクセス メモリアドレス 場所を示す番地 アドレスは 次元 (Word) (Excel) データ領域 (Word) 他のプログラムとの調停が必要 アクセス時刻だけでなく アクセス領域も (Word) (Excel) データ領域 (Word) 問題点 () データ保護 問題点 (2) 有限性 不正アクセス ユーザプログラムのバグ 初期化されていないポインタ変数への代入 配列のサイズを超えた要素への代入 他プロセスだけでなく も破壊してしまう可能性 データ領域 データ領域 主記憶領域は有限 そのままではある程度の数のプロセスしか同時処理できない 他にどんなプロセスが動作しているかを意識しながらプログラムを作成するのは無理

主記憶の仮想化 アドレス空間 データ保護機能 他のプロセスからの意図しない読み出し 書き換えを防ぐ必要 自プロセスも, 自分のやデータ領域を破壊しないための防御 警告システムが必要 主記憶サイズの制限の排除 主記憶の物理的サイズに関係なく, プロセスに必要なメモリ量を割り当てる必要 プログラマに主記憶サイズを意識させない 物理アドレス空間 28 番地 は, メモリ上のまさに 28 番地 を指す 論理アドレス空間 28 番地 は, メモリ上のどこかの番地 ( 物理アドレス ) を指すが, 実際の 28 番地 とは限らない プロセスによって異なる場合も MMU(Memory Management Unit) が, 論理 物理アドレスの変換を行う 28 物理空間 論理空間 28 28 主記憶も仮想化で対応 理想的な論理アドレス空間 変数と主記憶 大きさが無制限 プロセスは主記憶の空き容量を考慮する必要なし プログラムの簡単化, バグの可能性減少 プロセスごとに固有 他のプロセスからのアクセスに対し保護 プログラム部, データ部, スタック部など分離 用途ごとに空間を分けることで, 自プロセス内での不正アクセスの可能性を低減 必要時にはプロセス間で共有も可能 並列動作するプロセス間で共有し, 高速な通信機構として使用 変数 数値を記憶するために使用 変数に相当する記憶場所が必要 主記憶上に確保 変数と主記憶上のアドレスとの対応づけが必要 プログラム x = ; y = 2; z = x + y; 変数 アドレス x 8923 y 2733 z 482 コンパイル時 482 8923 論理空間 2733 y z x

変数アクセス時の様々な変換 変数アクセス時の様々な変換 ネーミング関数 変数, 定数などの識別子を論理アドレスに変換 コンパイル リンク時に行われる. ネーミング関数 ( コンパイラ等 ) 物理空間 メモリ関数 論理アドレスから物理アドレスに変換 OS によって行われる 内容関数 物理アドレスから, そのアドレスに格納された内容に変換 ハードウェアによって行われる プログラム x = ; 変数 addr x 28 2. メモリ関数 (OS) 634 論理空間 28 3. 内容関数 ( ハードウェア ) 変数アクセス時の様々な変換 メモリ関数の設計 ネーミング関数 変数, 定数などの識別子を論理アドレスに変換 コンパイル リンク時に行われる メモリ関数 論理アドレスから物理アドレスに変換 OS によって行われる 内容関数 物理アドレスから, そのアドレスに格納された内容に変換 ハードウェアによって行われる メモリ関数の処理 遅いと, プログラムの実行速度に大きく影響 メモリ関数に要求されること 論理アドレスから物理アドレスへの変換を高速に ハードウェアを簡潔に プログラマに使いやすい論理アドレス空間を提供

目的 主記憶空間の他プロセスからの保護 を書き換えられると, プロセスの誤動作 停止などの危険 7.2 下限レジスタ機構 他プロセスからの保護が特に重要 システム全体の停止につながる ユーザプログラムの使用領域と OS の使用領域を厳密に分ける必要 下限レジスタ機構の仕組み 下限レジスタ機構の仕組み 方針 ユーザプログラムが使用できる記憶領域の下限を設定 破壊 ユーザプログラムによるアクセスか OS によるアクセスかは, 実行モードで判断 復習 スーパバイザモード OS を実行するモード CPU 内の全てのリソースを利用可能ユーザモード アプリケーションを実行するモード利用できるリソースに制限あり データ領域

下限レジスタ機構の仕組み 下限レジスタ機構の仕組み 下限レジスタ LL LL < > 比較器 不正アクセスで例外として処理 LL 下限レジスタ LL 比較器 LL 比較器を通さずアクセス 実行モードユーザモード 実行モードスーパバイザモードユーザモード 下限レジスタ機構とその問題 ユーザ領域の下限を設定 下限レジスタが示す境界で OS/ ユーザ領域を区別 7.3 ロック / キー機構 問題点 領域境界がつしかない を保護することしかできない 複数のプロセス間でアクセス権は設定できない 任意 複数の境界を設定し, プロセスごとにアクセス権を設定したい

ロック / キー機構の仕組み ロック 2 3 領域 ( アドレスの上位数桁が同じ部分比較器 ) に分割し, それぞれにアクセス権を設定 実行モード ユーザ領域 自由領域 ロック / キー機構の仕組み ロック 2 3 比較器 実行モード 実行モードとアクセス権が一致すれば許可 ユーザ領域 自由領域 スーパバイザモードのみ可 2 ユーザモードのみ可 3 全てのモードで可 スーパバイザモードのみ可 2 ユーザモードのみ可 3 全てのモードで可 ロック機構における領域分割 まとめ キー アドレス上位数桁 キーが同じ部分を同じ領域とする このキーをロック表のキーとしても使用 2 3 x x999 x x999 x2 x2999 x3 x3999 主記憶管理 ユーザに独立した論理アドレス空間を提供 論理アドレス空間の要件 無限大 プロセスごとに固有 プロセス間で共有可能 複数の 次元アドレス ( プログラム部, データ部等の分離 ) ロック

まとめ 下限レジスタ機構 ユーザ領域の下限を設定 とユーザ領域を分離 実行モードに応じてアクセス可否を判断 ロック / キー機構 アドレスの上位数桁でメモリ領域を分割 各領域ごとにアクセス権限を設定 アドレスに応じた権限 ( ロック値 ) と実行モードからアクセス可否を判断