Linux Kernel Architecture

(Jacob Rumans) #1

Chapter 10: Filesystems without Persistent Storage


cff80000-cff8dfff : ACPI Tables
cff8e000-cffdffff : ACPI Non-volatile Storage
cffe0000-cfffffff : reserved
d0000000-dfffffff : PCI Bus #01
d0000000-dfffffff : 0000:01:00.0
d0000000-d0ffffff : vesafb
...
fee00000-fee00fff : Local APIC
ffa00000-ffafffff : pnp 00:07
fff00000-ffffffff : reserved
100000000-12fffffff : System RAM

wolfgang@meitner>cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0070-0077 : rtc
0080-008f : dma page reg
00a0-00a1 : pic2
...
e000-efff : PCI Bus #03
e400-e40f : 0000:03:00.0
e400-e40f : libata
e480-e483 : 0000:03:00.0
e480-e483 : libata
e800-e807 : 0000:03:00.0
e800-e807 : libata
e880-e883 : 0000:03:00.0
e880-e883 : libata
ec00-ec07 : 0000:03:00.0
ec00-ec07 : libata

Similarly, some files provide a rough overview of the current memory management situation.buddyinfo
andslabinfosupply data on current utilization of the buddy system and slab allocator, andmeminfo
gives an overview of general memory usage — broken down into high and low memory, free, allocated
and shared areas, swap and writeback memory, and so on.vmstatyields further memory management
characteristics including the number of pagescurrently in each memorymanagement subsystem.


Thekallsymsandkcoreentries support kernel code debugging. The former holds a table with the
addresses of all global kernel variables and procedures including their addresses in memory:


wolfgang@meitner>cat /proc/kallsyms
...
ffffffff80395ce8 T skb_abort_seq_read
ffffffff80395cff t skb_ts_finish
ffffffff80395d08 T skb_find_text
ffffffff80395d76 T skb_to_sgvec
ffffffff80395f6d T skb_truesize_bug
ffffffff80395f89 T skb_under_panic
ffffffff80395fe4 T skb_over_panic
ffffffff8039603f t copy_skb_header
ffffffff80396273 T skb_pull_rcsum
Free download pdf