网站大量收购独家精品文档,联系QQ:2885784924

L4-Linux のメモリ管理における問題点とその解決策.ppt

L4-Linux のメモリ管理における問題点とその解決策.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
L4-Linux のメモリ管理における問題点とその解決策

L4-Linux のメモリ管理における問題点とその解決策 Linuxスレッドをリアルタイム?スレッドとして使うために x86 のページング機構 1024 x 1024 x 4 K = 4 G 話(図)を簡単にするために ページ?サイズを 256KB とする 仮想アドレス空間を 2GB に制限する 8ページで2GB 一層(8エントリ)のページ?テーブル 1GB の RAM を使うものとする 4ページの物理ページ 仮想空間とページ?テーブル    仮想空間    物理メモリ プロセスとページ?テーブル 各プロセスはそれ自身の仮想空間を持つ ユーザ空間とカーネル空間 仮想空間はユーザ空間とカーネル空間から成る カーネル空間のマッピング    仮想空間    物理メモリ 仮想空間に関連する Linux のシステム?コール mlockall() プロセスの実行に必要な全てのページをメモリ常駐にする。 mmap() デバイスのメモリをプロセスの仮想空間にマップする。 clone() スレッド(メモリ空間を共有するプロセス)を生成する。 … mlockall()    仮想空間    物理メモリ mlockall()    仮想空間    物理メモリ mmap()    仮想空間    物理メモリ mmap()    仮想空間    物理メモリ clone() ページ?テーブルを共有するプロセスを生成する clone() ページ?テーブルを共有するプロセスを生成する Linux と L4-Linux の比較 Linux は L4 タスクの1つ Linux Server の page table    仮想空間    物理メモリ システム?コール 例えば getpid() の場合 プロセス切替を伴う場合 例えば read() で休眠するとき L4-Linux におけるメモリ管理 ページ?テーブルはどこにある? L4-Linux におけるメモリ管理 ページ?テーブルの2重構造 2つのページ?テーブルに対する操作 はじめにページ?フォルトありき 2つのページ?テーブルに対する操作 何をどうするかは全て Linux サーバが決める 2つのページ?テーブルに対する操作 何をどうするかは全て Linux サーバが決める 2つのページ?テーブルに対する操作 マッピングを実現するのは L4 カーネル L4-Linux と mlockall() 全てのページが読み込まれた後も、、、 L4-Linux と mlockall() 本物のページ?テーブルは空っぽのまま L4-Linux と mmap() Linux のページ?テーブルを書き換えても、、、 L4-Linux と mmap() 本物のページ?テーブルには反映されない L4-Linux における clone() 各スレッドが独自のページ?テーブルを持つ L4-Linux における clone() 各スレッドが独自のページ?テーブルを持つ 問題点の整理 Linux が管理?操作する仮のページ?テーブルと L4 の中にある本物のページ?テーブルの2つが存在する。 前者に対する操作が後者に反映される機会はプロセスがページ?フォルトを起こした時であり、その時だけである。 リアルタイム?プロセスにするためには、実行開始前に本物のページ?テーブルを論理的なページ?テーブルに従って埋め尽くしておく必要がある。 2つのページ?テーブルに対する操作 マッピングを実現するのは L4 カーネル 2つのページ?テーブルを 一致させるための追加機能 相手の同意なしに一方的にマップする機能 2つのページ?テーブルを 一致させるための追加機能 Linux のページ?テーブルの内容を掃き出させる 2つのページ?テーブルを 一致させるための追加機能 Linux のページ?テーブルの内容を掃き出させる 2つのページ?テーブルを 一致させるための追加機能 Linux のページ?テーブルの内容を掃き出させる 2つのページ?テーブルを 一致させるための追加機能 Linux のページ?テーブルの内容を掃き出させる Linux IPC(receive) IPC(send) Linux process fpage_map() Linux mflush() fpage_map() Scan process Linux mflush() fpage_map() Scan process Linux mflush() fpage_map() Scan process * * x86 1024 1024 CR3 page table page directory table 0000x0000000

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档