Tuesday, January 30, 2007

Research Topic -- Virtual Memory

The key to using memory most efficiently is virtual memory management. Consider both Windows and UNIX operating systems. Compare and contrast how each implements virtual memory. Describe how each one handles page faults, working sets, and page sizes, and how it reconciles thrashing issues. Cite your sources (URLs), and remember to include your name in your comment.

Blog on!

12 Comments:

Blogger Jane said...

To get you started, a source for Windows memory is here. This site discusses page faults and page sizes.

To locate another site for UNIX/Linux, I would search Google with a query "Linux + virtual memory" and review the hits from this query.

10:08 AM  
Anonymous Anonymous said...

From what I can gather Virtual Memory is a Word plus point from what i found out was both Word and UNIX operate on the same principal as both swap in and out from RAM to hard drive whilw Thrushing, Word uses four (4)kilobyte page size. I haven't used lenix but from Word useage it seems slow.
http://www.aumba.org/nin5/a/xpvm
C.J.

9:38 PM  
Anonymous Anonymous said...

sorry to say but, when it comes to memory comparison I, at the moment, have know clues on which one is better or what benifits they present that the other does not. If I get a better grasp on it I will repost with a more desired answer.

Jessie Cajigas

9:19 AM  
Anonymous Anonymous said...

From what I can gather Virtual Memory is a Word plus point from what i found out was both Word and UNIX operate on the same principal as both swap in and out from RAM to hard drive whilw Thrushing, Word uses four (4)kilobyte page size. I haven't used lenix but from Word useage it seems slow.

keante

9:54 AM  
Anonymous Anonymous said...

It looks to me like linux has better mem manegement than windows.

marcus Thomas

9:57 AM  
Blogger Zero Armada said...

Virtual Memory is better becuse you can access more of it at a time the physical memory is limited to what u have on the computer so the thought that virtual memory would expand ur computers speed would show that its better.

10:48 AM  
Anonymous Anonymous said...

The above comment is mine

Shawn Speigner

9:55 AM  
Anonymous Anonymous said...

Here goes nothing...

As we all know, Virtual Memory allows the operating system to increase the size of RAM by placing a file on the harddrive where data is swapped. The size of that increased memory usually corresponds to the RAM, but can be changed manually, assuming the user knows what they're doing. While I didn't find any information that contradicts the possibility of a lack of effeciency with too high a Virtual Memory, I do know that it would take a large chunk of Harddrive space from the user, which means less storage for programs, media, etc. Anyways, the topic says to compare Windows and Linux, so let's begin with Windows.

In Windows, Virtual Memory is established with the creation of the pageswap file. This is installed with the operating system and typically located in the roots directory of the Harddrive. For the NT-based OS, it is called pagefile.sys, while Windows 3.0 and 95 had either 386SPart.par or Win386.swp. The pageswap file is used to swap pages from RAM to the Harddrive, thus creating virtual memory.

In comparison, Linux offers the user two choices. In order to create that "swap space" so that virtual memory can take place, you can either 1) create it along with the filesystem (I assume that means, similar to Windows, it being installed within the same partition as the O.S.) or 2) In a seperate partition. Okay I lied (Actually didn't read everything)... there's a third choice; you can do both. For the first choice, a swapfile is created just like in Windows, and the size of it can be changed, again just like with Windows. For the second choice, it's faster, however it requires knowledge of the amount of memory needed, as it's much harder to repartition the drive than to simply increase the swapfile size.

Pagefaults. From what I can gather, they're identical between the two, with one minor difference. In Windows, when a page fault occurs, that is, when the page cannot be found at the address given in memory, if the page exists in the swap file, a copy will be made and placed in a new address, while Windows will update the tables so that the page can be found later. In Linux, the same is true but the process continues after the tables have been updated. Of course, this could just be the case of a lack of information being given, and Windows does indeed continue with the process aswell, but this material is pretty heavy and online resources don't help to make people without a background in Computer Science understand it. Regardless, from what little I could gather I came up with what you see above.

Sauces:
http://www.microsoft.com/technet/archive/winntas/training/ntarchitectoview/ntarc_7.mspx?mfr=true
http://www.faqs.org/docs/linux_admin/x1752.html
http://www.redhat.com/magazine/001nov04/features/vm/
http://en.wikipedia.org/wiki/Virtual_memory

Joeshua Ladouceur

5:21 PM  
Anonymous Anonymous said...

virtual memory is a word plus point. Both windows and linux operate mostly the same. Windows uses a 4 kb page size. When it comes to page faults they are close to the same. I havent had much experience with linux so i wouldnt be able to give my personal point of view on this subject.


Joseph D.

9:49 AM  
Anonymous Anonymous said...

i agree with Joeshua Ladouceur, he pretty much covered everything

albert

9:25 PM  
Anonymous Anonymous said...

One property of all memory managers is that they return memory chunks which are aligned best for the architecture of the machine on which they are run. Alignment means that the memory chunks returned to the user begin on an address that divides by the size of a word for the CPU they are running on. This size is often of 4 bytes (for 32 bit architectures) or 8 bytes (for 64 bit architectures). Further, the size of returned chunks is also kept to a multiple of the word size. This ensures that the returned memory blocks can be used to store the largest data type the machine supports (e.g. a long integer).

jennifer
http://users.actcom.co.il/~choo/lupg/tutorials/unix-memory/unix-memory.html#unix

10:30 PM  
Blogger JJ said...

My experience has been that both Linux and Unix machines have more robust memory management than Windows. I need to research the claims, probably on the net. I am posting this to see if I can get it up.

8:38 AM  

Post a Comment

<< Home