No.1
- 回答日時:
> メモリ上のページテーブル(ページ枠テーブル・・?)に、アクセスした時刻を添えて記録し
これこそが「専用のハードウェアが無いと実装が困難」の理由では?
メモリ上のアクセスを記録する領域もメモリ上。
従って、メモリ上のアクセスをメモリ上に記録し、そのまたメモリ上のアクセスを・・・。
だからメモリ上のアクセスを記録する仕組みが必要なんだと思います。
この回答への補足
すいません、急に疑問に思ったのですが、ページテーブル事態もページアウトの対象になってしまうと、ページテーブルの意味がなくなってしまうのでは・・
補足日時:2004/12/15 23:21>メモリ上のアクセスを記録する領域もメモリ上。
とありますが、ページテーブルを管理するのはOSで、ページテーブルもカーネル領域にあり、これ自体はページアウトされないものだと決め付けてしまっていました(ユーザ領域のデータのみページアウトされると思い込んでいた)。そうではなかったんですねぇ。
ありがとうございました。
No.2
- 回答日時:
LRUとはLast Recent Usedですねその対抗馬として
FIFOが有る訳でFirst in First outと成っているのですね。
FIFOは前近代的で今は大抵はLRUではないかと。。。。
>専用のハードって
FIFOはスタックでしょうがLRUは 少し難しいか?
>FIFOはスタック・・・
ですねぇ。FIFOならキューを使って、いっぱいになったら先頭に戻って・・ってやれば簡単ですよね。。
ありがとうございました。
No.3ベストアンサー
- 回答日時:
>> #1の方の回答とそのお礼
> ページテーブルを管理するのはOSで、ページテーブルもカーネル領域にあり、これ自体はページアウトされないものだと決め付けてしまっていました
いえ、質問者の方の認識でいいと思いますよ。
> LRUとはLast Recent Used
Least Recently Usedでは?
> 実現は不可能でもないが、その古いページ枠の検索に時間がかかかってしまう
それが一番大きな理由でしょう。
質問者さんの方法は一番率直な方法ですが、これをソフトウェアでやるとページ入れ替えのたびに、ページサイズに比例する時間がかかってしまいますよね。
これを高速にやろうとすると、連想メモリのようなハードウェアの支援が必要になるわけです。
あと、「アクセスした時刻」のための領域を何ビット用意するのかも大きな問題です。ページごとに用意する必要があるわけですから。
「率直ではない」方法もありますが(参考URL)、やはりオーバーヘッドの面で厳しいです。
それで、LRUを近似的に実現する方法としてaging方式や時計針のアルゴリズムがあるわけですが、これらはもうご存知でしょうか?
参考URL:http://f.csce.kyushu-u.ac.jp/~furusho/OS_4/OS4.h …
詳しく回答していただきありがとうございます。
> LRUとはLast Recent Used
>Least Recently Usedでは?
おっしゃるとおりでした。#2の方もそれをご指摘してくれたのですね^^;お騒がせいたしました。
>それで、LRUを近似的に実現する方・・・
はい、agingやWSclockは授業で一通り学びました。
他に、アクセスしたごとに参照ビットを1にし、しかし定期的に参照bit(1bit)を定期的に0にリセットする、という簡易的な近似アルゴリズムやNFU(Not Frequently Used)も学びました。一応理解はしたつもりですが、厳密なLRUにするには「ハードウェアのサポートが必要」ということに引っかかってしまっていたのでので。。
専用のハードウェアとしてはやはり連想メモリが必要になってくるんですねぇ。連想メモリ自体もあまり段数を増やせない(あとお金がかかる)ということもなるみたいなので、なかなか実現が難しいということなんですね・・・。
参考にあげていただいたURLも前に見てみたのですが、そのときは何故かリンク切れだったような・・^^;
しかしこうしてWSclock等の参考文献も無事見ることができるのでとても助かりました。
こちらの方を改めて読んでみますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- WordPress(ワードプレス) ワードプレス。複数の投稿ページを、複数の固定ページに区別して、表示させる方法は 1 2023/03/04 19:54
- Android(アンドロイド) Androidには、iPhoneにあるSafariのような機能はないのでしょうか…? ホーム画面の検 2 2023/04/23 08:46
- ホームページ作成・プログラミング パスワードつきホームページ トップページ以下はどうなる 6 2022/08/16 12:04
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- SEO 検索エンジンにインデックスされない 3 2023/02/20 08:59
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- SEO 検索エンジンペナルティについて 2 2022/04/13 12:07
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- SEO 検索エンジン反映遅い 1 2022/06/04 07:35
- PHP PHP ページング データベース 1 2022/06/16 10:30
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SP領域とはなんですか?
-
アイソレータとはなんですか?
-
ミキサの原理
-
ページ置き換え LRU方式
-
hdmiはパラレル?シリアル?
-
ubuntuで デイスク/deb/loopと...
-
パソコンでインターネット接続...
-
ライン数とステップ数の違いに...
-
タイピングの癖
-
スタックとキューの使い所
-
昔したタイピングソフトが思い...
-
[ASP]If~Else If~End If 対 Case
-
ステップ数について
-
関数のプロローグとエピローグ...
-
ルータの負荷対策でL2スイッチ...
-
タイピングソフト
-
基本情報技術者のデータ構造あ...
-
サブネットマスクが255.255.255...
-
COBOLのPtoPとは?
-
Excelでの統計処理(合計点、平...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ic-PcAn はどこのこと?
-
ミキサの原理
-
コンパクションとガーベジコレ...
-
アイソレータとはなんですか?
-
第一級陸上特殊無線技士
-
SP領域とはなんですか?
-
ドライブ段の意味(回路用語)
-
RS-FF回路について
-
リユーザブル,リエントラント...
-
パソコンでインターネット接続...
-
プログラムの規模を表す単位「k...
-
ubuntuで デイスク/deb/loopと...
-
ライン数とステップ数の違いに...
-
Macと iPadの違いについて 今現...
-
命令口調について
-
VB.netでDLLを読み込んで実行す...
-
hdmiはパラレル?シリアル?
-
ステップ数について
-
最大スタックサイズを大きくす...
-
エラー?メッセージ
おすすめ情報