Enthalpy said:
T (including swap file, or call it paging as you want).
No, I don't think you can call it whatever you want, maybe in the context of what you're talking about, but swapping and paging are two very distinct things in regards to memory management. Whereas swapping places the entire process onto your hard-disk, paging only places part of a process onto storage - that seems to be the major difference between the two.
I need to review the material, as we're discussing this in class right now, but I think that address space sizes and 32-bit vs. 64-bit relates to
Page Table and Base Registers, where you have a page number then a frame number or something like that. So, depending on the size of each memory block, the formula to determine the size of your address space is like log-base:2 of
n = address_size, where n is the number of blocks of memory. So, when talking about 2^32 = n, you're talking about an address size of 32-bits for n blocks of memory.
When you're talking about page-numbers and frame numbers, things become more complicating as the page number includes p which is the difference of m and n, and d which is the page offset (displacement of memory); where 2^m is the size of the logical address space and a page size 2^n shows how many units of memory a page refers to.
So, if every fixed-size frame of memory is one byte large, a memory address space of 32-bits is sufficient for up to 2^32 bytes. When implementing paging, we'll divide the 2^32 bytes among 8 pages, each page of a size of 4-bytes. So, the page number itself (32-4) will be 28-bits long. 4-bits will be used to signify the page-offset, which works out since each page is 4-bytes long, thus proving that the logical address is correct.
Windows uses pages because paging uses hardware support. For instance, the page table - which, references a page number (logical address) to a frame number (physical address) by having array-index: page number equal the corresponding frame-number - can be stored on a set of registers instead of on main memory. Thus, improving the speed of accessing memory by page-table. Since, modern page tables are too large to be stored on a CPU's registers, the registers really point to the page-table, which is stored in main memory - thus, defeating the purpose of registers in the first place.
So, OS's now make use of this special hardware cache known as the translation look-aside buffer. Which, reduces the delay in accessing memory by 10%.
When talking about using 64-bit processors and memory management, I think that has to do with the CPU being able to store a memory address space of 64-bits in its registers. I don't know how 64-bits comes into play with swapping, but it seems that swapping isn't as efficient as page-tables anyways.