Re: Ideal Swap Partition Size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Jan 24, 2009 at 09:03:28AM -0600, Aaron Konstam wrote:
> On Fri, 2009-01-23 at 15:42 -0800, Gordon Messmer wrote:
> > Aaron Konstam wrote:
> > > 
> > > This is explained in nearly all textbooks on Computer Architecture. So
> > > the question remains, where is the address space in Linux.
> > 
> > Patrick isn't the only one confused by your question.  I can't make 
> > heads or tails of it.  Are you asking where the mapping between the 
> > virtual address space and physical memory is done, or what?
> > 
> No I am asking where the virtual address space resides of the machine.

Research TLB, here is a link to start with:

   http://en.wikipedia.org/wiki/Translation_lookaside_buffer

With a TLB and clever kernel software a process has the luxury of living
in a virtual address space and not having to relocate itself to run.

This implies that the virtual address spaces (plural) reside in data
structures (tables) managed by the kernel (the answer to your question).
A process is activated with some TLB entries setup to map the process
address space to some real memory.   Any time the process reads or writes
outside of valid TLB entries a page fault handler is called in the kernel
and if the access is allowed/ valid then a real resource is allocated
and mapped as valid for the process and the instruction restarted.

The TLB and the ability to restart an instruction after a page fault
is central to building a demand paged virtual memory system.   Implied
in this is user mode and kernel mode state in the processor.

Most TLB hardware has less entries than a valid process may need
over its life.  However they can be reloaded (on demand) as the program counter
and data pointers change.

Most of the x86 and x86_64 processor documentation is difficult to understand
on this point.   If you can find a copy of a MIPS or perhaps M68020 processor
manual to read.   As a point of history the M68010 had no TLB/MMU but could
restart instructions.   With an external TLB virtual memory systems could
be built on the ability to restart instructions.

A TLB also has the side effect of letting the kernel isolate my process
from your process permitting multi user multitask systems.  


-- 
	Regards,
	T o m   M i t c h e l l

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux