The data tlb caches ptes for the virtual instructions

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: al address 0x08048000, the stack always grows down from address 0xbfffffff, shared library code always starts at address 0x40000000, and the operating system code and data start always start at address 0xc0000000. Such uniformity greatly simplifies the design and implementation of linkers, allowing them to produce fully linked executables that are independent of the ultimate location of the code and data in physical memory. 10.4.2 Simplifying Sharing Separate address spaces provide the operating system with a consistent mechanism for managing sharing between user processes and the operating system itself. In general, each process has its own private code, data, heap, and stack areas that are not shared with any other process. In this case, the operating system creates page tables that map the corresponding virtual pages to disjoint physical pages. 10.4. VM AS A TOOL FOR MEMORY MANAGEMENT memory invisible to user code %esp (stack pointer) 495 0xc0000000 kernel virtual memory user stack (created at runtime) 0x40000000 memory mapped region for shared libraries brk run-time heap (created at runtime by malloc) read/write segment (.data, .bss) read-only segment (.init, .text, .ro...
View Full Document

This note was uploaded on 09/02/2010 for the course ELECTRICAL 360 taught by Professor Schultz during the Spring '10 term at BYU.

Ask a homework question - tutors are online