Memory Allocation Table question ??
William Case
billlinux at rogers.com
Thu Feb 21 16:57:51 UTC 2008
Hi Gilboa and others;
On Thu, 2008-02-21 at 15:22 +0200, Gilboa Davara wrote:
> On Wed, 2008-02-20 at 11:41 -0500, William Case wrote:
[snip]
> Bill,
>
> This is not a memory allocation table - it's a stack trace.
I understand that. I just used the term 'memory allocation table' in an
effort to explain what I was looking for.
> Kernel stack traces can be generated when a certain kernel
> process/function calls the dump_stack() function. (Or when something
> dies/OOPs.)
>
Yes
> Other then that, a user may trigger such a stack by using the magic
> SysRQ [1] key combination.
Fascinating. I had always been told that the SysRQ key didn't have a
use on a desktop PC. (I went to the Wiki page cited below)
>
> If you're looking for information about kernel space, I'd start by
> googling for "Linux Device Drivers" and "Understanding The Linux
> Kernel" (Both can be downloaded in PDF form)
>
I have "The Linux Kernel Primer" here (for the 2.6 kernel) and I have
read it. I also have two books on Computer Organization and
Architecture. So I will be more specific about my question.
In the text books I have, memory allocation is shown diagrammatically as
a column with broad representational divisions. Example:
_______ Ox000000000
| |
| |
---------
| | BIOS
| |
---------
| |
| | Kernel Space
| |
---------
| |
| |
| | User Space
| |
| |
... 0xFFFFFFFF
Or some such. The representations in my texts are perhaps a little more
complex, but I think you get the idea.
What I would like to do is capture a snapshot at a moment in time of
exactly how MY memory could be represented. I.E. addresses, size and
tag (name, identifier). I have read about it; now I would like to see
it.
I can capture the latest processes using top, and I can use objdump or
stack traces in gdb to capture a small portion of a process (but that
gives me every line -- more than I want).
I had hoped that someone with my type of curiosity and/or a programming
need had written a command or program that shows the layout of memory in
a more detailed representational or textual way. For example, I would
like to see where and how pipes and sockets get created or where devices
get grouped together. And yes, I understand the differences between
Virtual Memory, Actual Memory and how DMA and buffers work. However,
there must be a way to view this all as something meaningful. And yes,
I understand that this could be a large amount of data, but hopefully it
wouldn't take more than 2 or 3 days to pick through the information and
create a columned representation that is meaningful to me. (Good chance
to practise the use of grep, awk and sed.)
In my own defence, it seems I have a peculiar view of learning how
computers and operating systems work. But, I can also say, with reading
and help from people on this list and my local LUG, I have been able to
chase down all those questions and get satisfying answers.
> - Gilboa
> [1] http://en.wikipedia.org/wiki/Magic_SysRq_key
>
--
Regards Bill
More information about the fedora-list
mailing list