仮想アドレスを物理アドレスに変換します。タスク解決 -- memory-management フィールド と virtual-memory フィールド 関連 問題

Converting virtual address to physical address. Task solving












0
vote

問題

日本語

私はこれを持っています: picture

64kbの仮想アドレススペース、32KBの物理アドレススペース、ページとフレームサイズは4KBです。

と論理アドレス20,4010,8300を物理アドレスに変換したい。

物理アドレスを見つけることができますか?

私はこれを見ようとしました:論理(仮想)アドレスを物理アドレスに変換しかしそれはあまり役に立ちませんでした。

ありがとう

英語

I have this: picture

We have 64KB virtual addresses space, 32KB physical adress space, page and frame sizes are 4KB.

And I want to convert the logical addresses 20, 4010, 8300 to a physical addresses.

How can I find the physical addresses?

I tried looking at this : Convert logical (virtual) address to physical address but it wasn't very helpful.

Thanks

</div
     
 
 

回答リスト

1
 
vote

PAGE SIZE = OFFSET仮想アドレスを物理アドレスに変換すると、オフセットは変更されません。#ページテーブルから#FRAME NUMを見つけるには#ページが必要です.Add offset.first転送20からバイナリ、12ページ番号のためのオフセット4ビットのビット、フレーム番号の3ビット。

 

page size = offset, when you translate virtual address to physical address, the offset will not change, you need the #page to find the #frame num from the page table.the add offset.first transfer 20 to binary, 12 bits for offset 4 bits for page num, 3 bits for frame num.

</div
 
 

関連する質問

-2  物理アドレスを異なるサイズの仮想アドレスにマッピングする方法は?  ( How to map physical addresses to virtual addresses with different sizes ) 
現在仮想アドレスをページングで物理アドレスにマッピングする方法を現在調査し、例えば仮想アドレスの長さ=仮想アドレスの長さの場合は意味があります。 4KBのページサイズで32ビットの仮想アドレスを持っている場合、私たちのページオフセットは12ビットで、PPNと...

1  Ring 0プログラムは物理メモリアドレスを使用しますか?  ( Do ring 0 programs use physical memory addresses ) 
私はメモリチップを設計しています、そしてこれは関連するシステムソフトウェアの質問をするのに最適な場所のように思われるので... 最新のx86プロセッサでは、システムレベルのコード(保護リング0)は物理メモリアドレスで実行されますか? そしてそれは64ビットス...

6  複数のスレッドを持つMProtectの動作  ( Behavior of mprotect with multiple threads ) 
並行/並列GCの目的のために、 私は、MPROTECT保証がMPROTECT SYSCALL(すなわち、複数のスレッドとのMPROTECTの動作またはMProtectのメモリモデル)によって提供されるのかに興味があります。私の質問は(コンパイラの並べ替え、十分...

4  カーネルとUserSpaceの間にMMAP&PROC共有メモリを使用する方法  ( How to use mmapproc shared memory between kernel and userspace ) 
Linuxカーネルモジュールを開発しています。<コード> mmap proc ファイルシステムを使用して、カーネルとUserSpaceの間のメモリを共有したいです。私はいくつかの部分を実装しましたが、完了方法がわかりません。 カーネルモジュールで何かを書い...

26  Linuxカーネルの任意のアドレスからStructページを取得する方法  ( How to get a struct page from any address in the linux kernel ) 
struct page * のリストを取得し、デバイスを使用してメモリを共有するための記述子テーブルを構築します。そのコードの上位層は現在、 9988777661 またはユーザースペースから割り当てられたバッファーを予定しており、 <コード> 対応する s...

3  Windows用のMREMAPはありませんか?  ( No mremap for windows ) 
それを理解しているように、Linuxで仮想メモリのチャンクを予約するには、 mmap と MAP_PRIVATE 、および同等のものと呼びます。 Windows上のシステムコールは<コード> VirtualAlloc です。 しかし、Linuxはメモリマッピン...

11  ヒープの境界は何ですか?  ( What are the bounds of the heap ) 
特定のプロセスのヒープの境界は何ですか?私はおそらくこの質問に対する簡単な答えがないことを理解しているので、具体的には以下の答えに興味があります。 AMD64のLinuxで64ビットプロセスの標準ヒープサイズ/場所はありますか? 言語ランタイムを実装してい...

0  メモリ管理(ページ/フレームの論理アドレスへの割り当て)  ( Memory management allocating pages frames to logical addresses ) 
私はオペレーティングシステムにとって新しいものであり、私はこのハンドブックを追いかけていましたが、コンピュータが本当に働く方法をより良い把握しています。ただし、メモリ管理時につまずいたPAGE TABLESを使用してページとフレームを割り当てるときにやや混乱し...

0  すべてのページフォルトにディスクアクセスがありますか?  ( Is there a disk access in every page fault ) 
私の質問は(述べたように)ページフォルトがあるたびにディスク/仮想メモリへのアクセスがあるのですか? そうでない場合は、ディスクアクセスはありませんか? (これはページングに関する一般的な質問であり、実装依存のためのものです) ありがとう ...

1  Linuxで連続したキャッシュページを割り当てるときの例外ページを処理する方法  ( How to handle exceptional page when allocating contiguous cache pages in linux ) 
私は連続したキャッシュページを割り当てるカーネルモジュールコードを持っています。 radix_tree_for_each_contig()を使用します。これがコードの部分スニペットです。 <事前> <コード> radix_tree_for_each_conti...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有