Linux 仮想メモリについて



Similar documents
Microsoft PowerPoint - OS08 [互換モード]

1. 前 払 式 支 払 手 段 サーバ 型 の 前 払 式 支 払 手 段 に 関 する 利 用 者 保 護 等 発 行 者 があらかじめ 利 用 者 から 資 金 を 受 け 取 り 財 サービスを 受 ける 際 の 支 払 手 段 として 前 払 式 支 払 手 段 が 発 行 される 場 合

PowerPoint プレゼンテーション

<4D F736F F D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A B E A2E646F63>

3. 選 任 固 定 資 産 評 価 員 は 固 定 資 産 の 評 価 に 関 する 知 識 及 び 経 験 を 有 する 者 のうちから 市 町 村 長 が 当 該 市 町 村 の 議 会 の 同 意 を 得 て 選 任 する 二 以 上 の 市 町 村 の 長 は 当 該 市 町 村 の 議

国 税 クレジットカード 納 付 の 創 設 国 税 のクレジットカード 納 付 については マイナンバー 制 度 の 活 用 による 年 金 保 険 料 税 に 係 る 利 便 性 向 上 に 関 するアクションプログラム( 報 告 書 ) においてその 導 入 の 方 向 性 が 示 されている

Microsoft PowerPoint - OS10.pptx

養 老 保 険 の 減 額 払 済 保 険 への 変 更 1. 設 例 会 社 が 役 員 を 被 保 険 者 とし 死 亡 保 険 金 及 び 満 期 保 険 金 のいずれも 会 社 を 受 取 人 とする 養 老 保 険 に 加 入 してい る 場 合 を 解 説 します 資 金 繰 りの 都

Microsoft Word - TS _J Edited3.doc

目 次. WEB メールへのログイン.... メール 送 信 手 順.... メール 受 信 手 順 アドレス 帳 の 操 作 手 順 フォルダーの 操 作 手 順 メール 発 信 者 登 録 署 名 登 録 手 順 基 本 的 な 設 定

検 討 検 討 の 進 め 方 検 討 状 況 簡 易 収 支 の 世 帯 からサンプリング 世 帯 名 作 成 事 務 の 廃 止 4 5 必 要 な 世 帯 数 の 確 保 が 可 能 か 簡 易 収 支 を 実 施 している 民 間 事 業 者 との 連 絡 等 に 伴 う 事 務 の 複 雑

<4D F736F F D208E9197BF CF092CA8F88979D82CC96CA82A982E782CC984890FC82CC90AE979D81698BC792B CE3816A2E646F63>

スライド 1

説 明 内 容 料 金 の 算 定 期 間 と 請 求 の 単 位 について 分 散 検 針 制 日 程 等 別 料 金 料 金 の 算 定 期 間 と 支 払 義 務 発 生 日 日 程 等 別 料 金 の 請 求 スケジュール 料 金 のお 支 払 い 方 法 その 他 各 種 料 金 支 払

Microsoft Word 印刷ver 本編最終no1(黒字化) .doc

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

スライド 1

メモリ管理

主要生活道路について

Taro13-01_表紙目次.jtd

<4D F736F F D208ED089EF95DB8CAF89C193FC8FF38BB CC8EC091D492B28DB88C8B89CA82C982C282A282C42E646F63>

技術報告会原稿フォーマット

<4D F736F F D203193FA8AD45F95CA8E86325F89898F4B315F94F093EF8AA98D AD97DF914F82CC8FEE95F182CC8EFB8F C28E8B89BB2E646F63>

平成19年9月改定

1

PowerPoint プレゼンテーション

<8BB388F58F5A91EE82A082E895FB8AEE967B95FB906A>

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

している 5. これに 対 して 親 会 社 の 持 分 変 動 による 差 額 を 資 本 剰 余 金 として 処 理 した 結 果 資 本 剰 余 金 残 高 が 負 の 値 となるような 場 合 の 取 扱 いの 明 確 化 を 求 めるコメントが 複 数 寄 せられた 6. コメントでは 親

Box-Jenkinsの方法

目 改 正 項 目 軽 自 動 車 率 の 引 上 げ 〇 国 及 び 地 方 を 通 じた 自 動 車 関 連 制 の 見 直 しに 伴 い 軽 自 動 車 の 標 準 率 が 次 のとおり 引 き 上 げられます 車 種 区 分 引 上 げ 幅 50cc 以 下 1,000 円 2,000 円

Microsݯft Word - 91 forܠ2009November.docx

二 資本金の管理


Microsoft Word - 第3章.doc

2 県 公 立 高 校 の 合 格 者 は このように 決 まる (1) 選 抜 の 仕 組 み 選 抜 の 資 料 選 抜 の 資 料 は 主 に 下 記 の3つがあり 全 高 校 で 使 用 する 共 通 の ものと 高 校 ごとに 決 めるものとがあります 1 学 力 検 査 ( 国 語 数

Microsoft PowerPoint _リビジョンアップ案内_最終.pptx

2


( 別 途 調 査 様 式 1) 減 損 損 失 を 認 識 するに 至 った 経 緯 等 1 列 2 列 3 列 4 列 5 列 6 列 7 列 8 列 9 列 10 列 11 列 12 列 13 列 14 列 15 列 16 列 17 列 18 列 19 列 20 列 21 列 22 列 固 定

する ( 評 定 の 時 期 ) 第 条 成 績 評 定 の 時 期 は 第 3 次 評 定 者 にあっては 完 成 検 査 及 び 部 分 引 渡 しに 伴 う 検 査 の 時 とし 第 次 評 定 者 及 び 第 次 評 定 者 にあっては 工 事 の 完 成 の 時 とする ( 成 績 評 定

1 書 誌 作 成 機 能 (NACSIS-CAT)の 軽 量 化 合 理 化 電 子 情 報 資 源 への 適 切 な 対 応 のための 資 源 ( 人 的 資 源,システム 資 源, 経 費 を 含 む) の 確 保 のために, 書 誌 作 成 と 書 誌 管 理 作 業 の 軽 量 化 を 図

VPS では 通 常 はインスタンスが 1 個 です 停 止 と 再 起 動 を 選 択 できます CloudStack では インスタンスの 追 加 と 破 棄 の 機 能 を 利 用 することにより お 客 様 が 契 約 されているインスタンス 数 分 の 仮 想 サーバを 自 由 に 追 加

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

平成27年度大学改革推進等補助金(大学改革推進事業)交付申請書等作成・提出要領

加 算 税 制 度 の 見 直 し 等 1. 現 行 制 度 の 概 要 関 税 においては 国 税 ( 輸 入 貨 物 に 対 する 内 国 消 費 税 を 含 む 以 下 同 じ ) の 制 度 と 同 様 の 過 少 申 告 加 算 税 無 申 告 加 算 税 及 び 重 加 算 税 の 制

PowerPoint Presentation

< F2D91E F18BDF91E389BB955C8E D8E9689EF2E>

就 業 規 則 ( 福 利 厚 生 ) 第 章 福 利 厚 生 ( 死 亡 弔 慰 金 等 ) 第 条 法 人 が 群 馬 県 社 会 福 祉 協 議 会 民 間 社 会 福 祉 施 設 等 職 員 共 済 規 程 に 基 づき 群 馬 県 社 会 福 祉 協 議 会 との 間 において 締 結 す

( 別 紙 ) 以 下 法 とあるのは 改 正 法 第 5 条 の 規 定 による 改 正 後 の 健 康 保 険 法 を 指 す ( 施 行 期 日 は 平 成 28 年 4 月 1 日 ) 1. 標 準 報 酬 月 額 の 等 級 区 分 の 追 加 について 問 1 法 改 正 により 追 加

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

第 40 回 中 央 近 代 化 基 金 補 完 融 資 推 薦 申 込 み 公 募 要 綱 1 公 募 推 薦 総 枠 30 億 円 一 般 物 流 効 率 化 促 進 中 小 企 業 高 度 化 資 金 貸 付 対 象 事 業 の 合 計 枠 2 公 募 期 間 平 成 28 年 6 月 20

通 知 カード と 個 人 番 号 カード の 違 い 2 通 知 カード ( 紙 )/H27.10 個 人 番 号 カード (ICカード)/H28.1 様 式 (おもて) (うら) 作 成 交 付 主 な 記 載 事 項 全 国 ( 外 国 人 含 む)に 郵 送 で 配 布 希 望 者 に 交

03_主要処理画面.xlsx

1. 業 務 概 要 貨 物 情 報 登 録 済 の 貨 物 に 対 して システムを 介 さずに 行 われた 税 関 手 続 きについて 税 関 が 許 可 承 認 等 を 行 った 旨 を 登 録 する また システムで 行 われた 以 下 の 税 関 手 続 き( 以 下 輸 出 申 告 等

4 参 加 資 格 要 件 本 提 案 への 参 加 予 定 者 は 以 下 の 条 件 を 全 て 満 たすこと 1 地 方 自 治 法 施 行 令 ( 昭 和 22 年 政 令 第 16 号 ) 第 167 条 の4 第 1 項 各 号 の 規 定 に 該 当 しない 者 であること 2 会 社

小 売 電 気 の 登 録 数 の 推 移 昨 年 8 月 の 前 登 録 申 請 の 受 付 開 始 以 降 小 売 電 気 の 登 録 申 請 は 着 実 に 増 加 しており これまでに310 件 を 登 録 (6 月 30 日 時 点 ) 本 年 4 月 の 全 面 自 由 化 以 降 申

<4D F736F F D2091E F18CB48D C481698E7B90DD8F9590AC89DB816A2E646F63>

目 論 見 書 補 完 書 面 ( 投 資 信 託 ) <コード 8027> 当 ファンドに 係 る 当 社 は ファンドの 販 売 会 社 として 募 集 の 取 扱 いおよび 販 売 等 に 関 する 事 務 を 行 います 金 融 商 品 取 引 契 約 の 概 要 当 社 が 行 う 金 融

1.1 評 価 サマリー 作 業 手 順 に 関 しては 全 体 的 に 誤 謬 防 止 やデータの 整 合 性 を 保 つためのチ ェックが 組 み 込 まれており 支 障 の 無 い 水 準 と 評 価 できます 一 部 作 業 漏 れチェックの 不 があったので 今 後 は 手 順 に 含 む

中根・金田台地区 平成23年度補償説明業務

<4D F736F F D2095CA8E A90DA91B18C9F93A289F1939A8F D8288B3816A5F E646F63>

検 索 しよう... 1 結 果 を 見 よう ~ 検 索 結 果 一 覧 ~... 2 結 果 を 見 よう ~ 検 索 結 果 詳 細 ( 図 書 )~... 3 結 果 を 見 よう ~ 検 索 結 果 詳 細 ( 雑 誌 )~... 4 ログインしよう... 5 私 の 本 棚 を 活 用

Microsoft PowerPoint - 経営事項審査.ppt

0 目 次 1. 畑 のあしあとの 使 い 方 P.3 2.オプション P.6 3.モバイルデバイスより 履 歴 取 得 P.8 4. 基 本 情 報 管 理 P 栽 培 計 画 P.22 6.ドキュメント 出 力 P 栽 培 履 歴 管 理 P.28 8.モバイルでの 栽

( ) 3 1 ( ), ( ).. 1

<4D F736F F F696E74202D B E E88E68C9A90DD8BC65F E DC58F4994C52E >

現 行 工 業 地 域 準 工 業 地 域 商 業 地 域 近 隣 商 業 地 域 改 正 後 準 工 業 地 域 ( 特 別 業 務 地 区 ( 第 2 種 ) 及 び 指 定 集 積 区 域 を 除 く) 近 隣 商 業 地 域 2 / 7

Speed突破!Premium問題集 基本書サンプル

参 考 改 正 災 害 対 策 基 本 法 1 ( 災 害 時 における 車 両 の 移 動 等 ) 第 七 十 六 条 の 六 道 路 管 理 者 は その 管 理 する 道 路 の 存 する 都 道 府 県 又 はこれに 隣 接 し 若 しくは 近 接 する 都 道 府 県 の 地 域 に 係

<819A955D89BF92B28F BC690ED97AA8EBA81418FA48BC682CC8A8890AB89BB816A32322E786C7378>

> 回 復 性 の 種 類 > 記 憶 域 (Storage Spaces) を 構 築 するには 記 憶 域 プール を 形 成 したのちに 記 憶 域 の 作 成 にお いて 回 復 性 の 種 類 を 指 定 する 必 要 があります 回 復 性 の 種 類 には 耐 障 害 性 がない シン

01_07_01 データのインポート_エクスポート_1

(3) 小 単 元 の 指 導 と 評 価 の 計 画 小 単 元 第 11 章 税 のあらまし の 指 導 と 評 価 の 計 画 ( 四 次 確 定 申 告 制 度 抜 粋 ) 関 心 意 欲 態 度 思 考 判 断 技 能 表 現 知 識 理 解 小 単 元 の 評 価 規 準 税 に 関 す

財政再計算結果_色変更.indd

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

電子申告直前研修会(所得税編)

スライド 1

<4D F736F F D204D46834E A6D92E8905C8D905F93B193FC819593FA8E9F95D C5292E646F63>

WebMail ユーザーズガイド

text

2. 会 計 規 程 の 業 務 (1) 規 程 と 実 際 の 業 務 の 調 査 規 程 や 運 用 方 針 に 規 定 されている 業 務 ( 帳 票 )が 実 際 に 行 われているか( 作 成 されている か)どうかについて 調 べてみた 以 下 の 表 は 規 程 の 条 項 とそこに

Gmail 利用者ガイド

MakeShop5 階 層 化 & 集 商 品 が 登 録 しているカテゴリーを 確 認 することはできますか? 各 商 品 がどのカテゴリーに 登 録 されているかは 商 品 情 報 の 編 集 画 面 でご 確 認 いただけます 商 品 管 理 > 商 品 の 設 定 > 商 品 の 検 索 /

1 狭 あい 道 路 等 整 備 事 業 について 1-1 はじめに 私 たちが 安 心 して 安 全 に 暮 らしていくうえで, 道 は 重 要 な 役 割 を 担 っています しかし, 道 が 狭 いと, 日 照 通 風 等 の 確 保 が 難 しいといった 住 環 境 の 面 だけでなく, 災

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

<4D F736F F D2090BC8BBB959491BA8F5A91EE8A C52E646F63>

平成21年10月30日

住宅改修の手引き(初版)

株価指数先物オプション取引 - リスクディスクローズ

は 固 定 流 動 及 び 繰 延 に 区 分 することとし 減 価 償 却 を 行 うべき 固 定 の 取 得 又 は 改 良 に 充 てるための 補 助 金 等 の 交 付 を 受 けた 場 合 にお いては その 交 付 を 受 けた 金 額 に 相 当 する 額 を 長 期 前 受 金 とし


<4D F736F F D208CA990CF96BE8DD78F918EAE82CC95CF8D >

Linux on ITRON-ハイブリッド構造の実装

データコピーとは データコピーは 古 い NAS のデータを 新 しい HDL-Z シリーズに 簡 単 にコピーできます 環 境 例 本 製 品 は 以 下 の 用 途 の 際 に 最 適 です 古 い HDL-Z シリーズから 新 しい HDL-Z シリーズへのコピー 古 い HDL-Z シリーズ

調 査 結 果 トピック1: 性 年 代 別 利 用 率 の 利 用 率 は 男 女 ともに 各 年 代 で 大 きく 伸 長 している 2011 年 9 月 の 調 査 では の 年 代 別 利 用 率 は 男 女 とも が 最 も 高 く が 23.9% が 20.5%だったが 今 年 の 調

Microsoft Word - Ⅱ章.doc

Microsoft Word - 奨学金相談Q&A.rtf

PowerPoint プレゼンテーション

Transcription:

組 込 みエンジニアのためのLinux 入 門 仮 想 メモリ 編 2007.2.22 株 式 会 社 アプリックス 小 林 哲 之 1

このスライドの 対 象 とする 方 今 までずっと 組 込 み 機 器 のプロジェクト に 携 わってきて 最 近 はOSにLinuxを 使 っ ている 方 々 2

このスライドの 目 的 Linuxの 仮 想 メモリの 仕 組 みを 理 解 し 現 在 のプロジェクトに 役 立 てる 仕 組 みを 知 らなくてもプログラムは 動 くが 性 能 を 引 き 出 すためには 仕 組 みの 理 解 が 重 要 3

まず 基 本 の 概 念 から 仮 想 ~ 論 理 ~ virtual, logical 仮 想 アドレス 論 理 デバイス 論 理 セ クタ 仮 想 マシン あたかも... のように 扱 う 実 ~ 物 理 ~ real, physical 実 アドレス 物 理 デバイス 物 理 セクタ そのもの そのまんま 4

仮 想 化 : あたかも 実 は あたかも 巨 大 のようだが 実 は 少 ない あたかも 平 らのようだが 実 は 凸 凹 あたかもたくさんのようだが 実 はひとつ あたかも 占 有 しているようだが 実 は 共 有 仮 想 化 は 複 雑 さや 個 々に 依 存 することを 隠 蔽 するマジック マジックなので 種 も 仕 掛 けもある = 実 と 仮 想 の 対 応 付 け(マッピング) あたかもそう 見 えるように 変 換 している 5

仮 想 化 の 代 償 マイナス 面 よりもプラス 面 が 勝 っている から 仮 想 化 を 行 うわけだが 常 にプラス とは 限 らない 6

物 理 メモリと 仮 想 メモリ いままでの 大 抵 の 組 込 み 機 器 プロジェクトで は 物 理 メモリしか 扱 うことがなかった 最 近 は 組 み 込 みシステムの 規 模 の 増 大 化 に 伴 ってLinuxやWindow CEなどPC 向 けOSの 流 れを 持 つOSを 使 用 することが 多 くなってき た これらのOSは 仮 想 メモリシステムを 備 え ている このスライドではLinuxについて 説 明 する 7

物 理 メモリ 単 一 のメモリ 空 間 機 器 ごとにROM,RAM,I/Oの 実 装 アドレスが 異 なるので それを 意 識 してプログラムする ROM RAM I/O I/O I/O 8

仮 想 メモリ 利 点 ユーザープログラムは 実 際 のメモリマップ( 実 装 アドレス 実 装 サイズ)に 依 存 しなくなる 不 連 続 な 物 理 メモリの 断 片 を 連 続 する 仮 想 メモリとして 利 用 できる メモリ 保 護 :バグによって 無 関 係 の 部 分 のメモリが 破 壊 さ れることを 防 止 できる 新 しい 概 念 の 導 入 アドレス 変 換 多 重 メモリ 空 間 デマンドページング 9

仮 想 メモリの 概 念 図 出 典 : フリー 百 科 事 典 ウィキペディア(Wikipedia) 10

アドレス 変 換 仮 想 アドレス 空 間 物 理 アドレス 空 間 ROM MMU アドレスy RAM アドレスx Linux kernel がコントロー ル I/O I/O I/O 11

仮 想 メモリはCPUの 中 だけ 仮 想 アドレス 空 間 物 理 アドレス 空 間 ROM MMU アドレスy RAM アドレスx I/O CPU I/O I/O CPUから 外 にでてくるアドレスバスにのるのは 物 理 アドレスだけ ロジアナでは 仮 想 アドレスは 観 測 できない 12

ユーザープログラムは 仮 想 アドレスだけ 仮 想 アドレス 空 間 物 理 アドレス 空 間 ROM アドレスx CPU MMU アドレスy RAM I/O I/O I/O 物 理 アドレスを 扱 うのはカーネルモードだけ つまりカーネル 本 体 とデバイスドライバ 13

MMUでのアドレス 変 換 31 22 21 12 11 0 仮 想 アドレス Directory Index Page Table Index Page Offset Page Directory Base Register Page Directory Directory Entry Page Table Page Table Entry No page!... page fault Page 物 理 アドレス 14

TLB 仮 想 アドレスページ 物 理 アドレスページ... Translation Lookaside Buffers 仮 想 アドレスをkeyとして 物 理 アドレスを 得 る ハッシュテーブルのようなもの 大 抵 のアドレス 変 換 はTLBにヒットするので 実 際 にPage Directory, Page Tableをアクセ スせずに 済 む 15

多 重 メモリ 空 間 プロセスごとに 独 立 した 仮 想 メモリ 空 間 物 理 アドレス 空 間 ROM RAM I/O I/O 16

デマンドページング ページ 単 位 でマッピングされる ページのサイズはたいていは4Kbytes 2 段 階 で 行 われる 1. 仮 想 メモリの 割 り 当 て(mmap) 管 理 台 帳 に 登 録 するだけ 2. 実 際 にアクセスがあったときに 初 めて そのページに 物 理 メモリが 割 り 当 てられる アクセスのないページには 物 理 メモリが 割 り 当 てられないので 仮 想 メモリサイズ >= 実 際 に 必 要 な 物 理 メモリサイズ 17

デマンドページングの 動 作 例 (1) 仮 想 アドレス 空 間 物 理 アドレス 空 間 read access 対 応 する 物 理 ページが ない! ページフォールト 発 生 カーネルモードへ 18

デマンドページングの 動 作 例 ( 続 ) (2) 仮 想 アドレス 空 間 物 理 アドレス 空 間 マッピング DMA 転 送 カーネルがデータをロードして 物 理 アドレスをマッピングする 19

デマンドページングの 動 作 例 ( 続 ) (3) 仮 想 アドレス 空 間 物 理 アドレス 空 間 data ユーザーモードに 復 帰 ユーザープログラムからは 何 事 もなかったように データが 読 める... でも 実 際 に 時 間 はかかっている 20

ページキャッシュ 物 理 アドレス 空 間 ディスクからの 読 んだ 内 容 はメモリに 余 裕 がある 限 り 保 持 しておく シーケンシャルにアクセスされる 場 合 が 多 いので 数 ページ 分 を まとめて 先 読 みを 行 う そのため(2)では 毎 回 ディスクアクセスが 発 生 するとは 限 らない 21

ページアウト (2)で 物 理 メモリの 空 きがなかった 場 合 使 用 頻 度 の 低 いと 思 われるページを 解 放 する そのページの 内 容 が 変 更 されていなければそのまま 破 棄 変 更 されていればスワップデバイスに 掃 きだす 仮 想 アドレス 空 間 物 理 アドレス 空 間 swap device 掃 きだす ページ ただし 組 込 みLinuxではswap deviceを 装 備 していない ことが 多 い 22

ページアウト( 続 ) 解 放 した 分 のページを 使 って 要 求 されたページの 割 り 当 てを 行 う このような お 手 玉 をすることで 実 際 に 搭 載 されている 物 理 メモリサイズ よりも 大 きなサイズの 仮 想 メモリを 扱 うことができる 仮 想 アドレス 空 間 物 理 アドレス 空 間 DMA 転 送 no page 23

ページの 共 有 仮 想 アドレス 空 間 プロセスA 物 理 アドレス 空 間 プロセスB 同 じファイルの 同 じページは 複 数 の プロセスから 共 有 される Read onlyのページだけでなく write 可 のページも 24

コピーオンライト write access プロセスA Write 可 でプライベートのページに 書 き 込 みが 発 生 すると r/w private ページフォルト 発 生 read only プロセスB 25

コピーオンライト( 続 ) write access プロセスA read/write read only copy プロセスB カーネルはコピーしてページの 設 定 を read/writeに 変 更 する 26

プロセスのメモリ 空 間 0x00000000 process A B C user space 1プロセスあたり 約 3GBのユーザメモリ 空 間... TASK_SIZE 0xffffffff kernel space TASK_SIZEはi386では0xc0000000 ARMでは 0xbf000000 カーネルの 空 間 は 各 プロセスで 共 通 カーネルの 空 間 はユーザーモードでは Read/Write/Execute 不 可 プロセス 切 り 替 えに 伴 ってユーザーメモリ 空 間 が 切 り 替 わる 27

ユーザプロセスのメモリ 空 間 の 実 例 cat /proc/<process_id>/maps 00101000-0011a000 r-xp 00000000 fd:00 15172739 /lib/ld-2.4.so 0011a000-0011b000 r-xp 00018000 fd:00 15172739 /lib/ld-2.4.so 0011b000-0011c000 rwxp 00019000 fd:00 15172739 /lib/ld-2.4.so 0011e000-0024a000 r-xp 00000000 fd:00 15172740 /lib/libc-2.4.so 0024a000-0024d000 r-xp 0012b000 fd:00 15172740 /lib/libc-2.4.so 0024d000-0024e000 rwxp 0012e000 fd:00 15172740 /lib/libc-2.4.so 0024e000-00251000 rwxp 0024e000 00:00 0 08048000-08049000 r-xp 00000000 fd:00 11666681 /home/koba/lab/loop/a.out 08049000-0804a000 rw-p 00000000 fd:00 11666681 /home/koba/lab/loop/a.out b7fef000-b7ff1000 rw-p b7fef000 00:00 0 b7fff000-b8000000 rw-p b7fff000 00:00 0 bffeb000-c0000000 rw-p bffeb000 00:00 0 [stack] アドレス 範 囲 file offset inode r: read device w: write major:minor x: execute s: shared p: private (copy on write) file name 28

ユーザプロセスのメモリ 空 間 の 実 例 ( 詳 細 ) cat /proc/<process_id>/smaps... 0011e000-0024a000 r-xp 00000000 fd:00 15172740 Size: 1200 kb Rss: 136 kb Shared_Clean: 136 kb Shared_Dirty: 0 kb Private_Clean: 0 kb Private_Dirty: 0 kb 0024a000-0024d000 r-xp 0012b000 fd:00 15172740 Size: 12 kb Rss: 8 kb Shared_Clean: 0 kb Shared_Dirty: 0 kb Private_Clean: 0 kb Private_Dirty: 8 kb 0024d000-0024e000 rwxp 0012e000 fd:00 15172740 Size: 4 kb Rss: 4 kb Shared_Clean: 0 kb Shared_Dirty: 0 kb Private_Clean: 0 kb Private_Dirty: 4 kb... /lib/libc-2.4.so RSS = 物 理 メモリサイズ /lib/libc-2.4.so /lib/libc-2.4.so 29

システムコールmmap #include <sys/mman.h> void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset); int munmap(void *start, sizt_t length); ファイルやデバイスをメモリにマップ/アンマップする 引 数 prot PROT_NONE または PROT_EXEC, PROT_READ, PROT_WRITEのOR 演 算 引 数 flags MAP_FIXED, MAP_SHARED, MAP_PRIVATE, MAP_ANONYMOUS,... 30

mmapのtips MAP_FIXEDを 指 定 しなければカーネルが 空 いているページをさがしてくれる MAP_FIXEDを 指 定 したときに 既 存 のページ と 重 なっていたら そのページは 内 部 的 に munmapされる なのでこのオプションは 通 常 は 使 用 しない ファイルのオフセットはページサイズの 整 数 倍 でなければならない mmapとmunmapのアドレス サイズは 一 致 していなくてもよい 31

mmapの 使 い 方 (1) 巨 大 サイズのmallocの 代 用 コンパクションなどデータのコピーが 発 生 しない malloc/freeと 違 ってmunmapするときのaddr, size はmmapで 確 保 したときと 異 なっていてもよい まとめて1 回 のmmapで 確 保 して 少 しづつ 分 割 し てmunmapで 返 却 するのもあり glibcのmallocの 実 装 ではある 一 定 以 上 のサイズ のmallocはmmapを 呼 び 出 す DEFAULT_MMAP_THRESHOLD = (128*1024) 32

mmapの 使 い 方 (2) 高 速 なファイルアクセス read, writeのシステムコールでは 内 部 で 物 理 ページにバッファリングしている そこか らユーザの 指 定 した 配 列 にコピーしている mmapを 使 うことで 直 接 ページにアクセスで きるようになるのでデータのコピーを 減 らす ことができる Java1.4の java.nio.mappedbytebuffer 33

mmapの 使 い 方 (3) プロセス 間 の 共 有 メモリ 複 数 のプロセスから 同 じファイルをR/W 可 sharedでマッピングする IPCの 共 有 メモリのシステムコール (shmget, shmat,..)は 内 部 で 同 様 のことを 行 っている 34

mmapの 使 い 方 (4) 物 理 メモリ I/Oポートのアクセス デバイスファイル /dev/mem をマッピング することでユーザーモードで 物 理 メモリ 空 間 をread/writeすることが 可 能 /dev/memをアクセスするにはrootの 権 限 が 必 要 35

まとめ 仮 想 メモリの 使 用 量 と 物 理 メモリの 使 用 量 は 異 なる 実 際 に 問 題 になるのは 物 理 メモリの 使 用 量 仮 想 メモリのオーバーヘッドはいつ 発 生 するのかを 意 識 する TLBミス ページフォルト システムコールmmapの 活 用 36

参 考 文 献 Linux kernel ソース http://www.kernel.org/ GNU C ライブラリのソース http://www.gnu.org/software/libc/ 詳 解 LINUXカーネル 第 2 版 オライリージャパン Linuxカーネル2.6 解 読 室 SoftBank Creative Linux manコマンド その 他 たくさんのWEB 検 索 結 果 37

おまけ: 最 近 の 話 題 CELFのBootTimeResourcesより KernelXIP ApplicationXIP (DataReadInPlace) CELFのMemoryManagementResoucesより Huge/large/superpages Page cache compression 38