Typical virtual memory layout, Operating System

Assignment Help:

Using pages makes it easier to manage the whole memory, avoiding excessive fragmentation and waste. As an analogy, think of Tetris, but with only square blocks: it is relatively easy to avoid fragmentation in this case. Both the virtual and the physical memory are divided into pages. As an aside, we often refer to physical memory pages as frames. Every virtual page consists of a range of virtual addresses. Virtual pages are then mapped to physical pages in the physical memory. When an application needs to access a virtual page, the corresponding virtual address is translated into a "real" physical address, and then the actual data might be read and/or written. As a consequence, note that although arrays are contiguous in virtual memory, they may be non-contiguous in physical memory. Note also that some virtual pages do not map to any actual physical memory address, because not all virtual pages are necessarily being used at any given time. The unused virtual pages are called invalid. If a program ever tries to access an invalid page, it pagefaults.

A typical virtual memory layout includes a stack, a mmap region, a heap, and the code of the program (the "text" section). Since mmap and heap grow towards each other, in the worst case they could smash into each other. The same could happen with the stack: if a program recurses for a large number of times, the stack could grow over the mmap region ("stack over?ow") and in this case something bad and usually unpredictable will happen.


Related Discussions:- Typical virtual memory layout

What is a process, What is a process? A process is a program in impleme...

What is a process? A process is a program in implementation. It is an active entity and it contains the process stack, having temporary data and the data section includes globa

Why interrupt can be used, Why interrupt can be used? The majority of t...

Why interrupt can be used? The majority of the different parts of the PC need to send information to and from the processor and they expect to be able to get the processor's at

Hj, scheduling

scheduling

Define a program that is in execution is known as, Define a program in exec...

Define a program in execution is known as A program in execution is known as a process

Virtual memory and paging, A- Consider a computer system that provides a vi...

A- Consider a computer system that provides a virtual memory space that consists of 8  pages. The physical memory contains 4 pages where the page size is 4Kbytes. Assume that at sp

Palm os provides no signifies of concurrent processing, Q. Palm OS provides...

Q. Palm OS provides no signifies of concurrent processing. Discuss three major complications that concurrent processing adds to an operating system. Answer: a. A meth

Explain how the system can deal with the starvation problem, Q. Can a syste...

Q. Can a system detect that some of its processes are starving? If you answer "yes," explain how it can. If you answer "no," explain how the system can deal with the starvation pro

Define pure and impure interpreters, Pure and impure interpreters      ...

Pure and impure interpreters      In a pure interpreter, the source program is maintained in the source form throughout its interpretation. This arrangement acquires substantia

Operation research, scattered resposibi;ity and authority -necessity of ope...

scattered resposibi;ity and authority -necessity of operation research

Determine a component of a process precedence sequence, Determine a compone...

Determine a component of a process precedence sequence Process name, Sequence operator ‘;’ and Concurrency operator ‘,’

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd