Talk:Memory paging

message: Clearly there are portions of this article that assume the x86 architecture is understood.  I say, remove these architecture-specific parts as the concepts in the article apply universally.
:I've removed the "only on 286" and "only on 386" bits and replaced with a 'for example' note for Intel.  Could probably be removed entirely.  The example looks like an Intel system, but since it's an only example that can probably stay. - Lady Lysine Ikinsile 12:19, Jun 9, 2004 (UTC)
Add that this definition doesnt stand right with Windows.
Because RAM is faster than auxiliary storage, paging is avoided until there is not enough RAM to store all the data needed
Windows starts to swap even when still has 30% or more RAM free. Even if you have ton of RAM (e.g. 2GB under XP) it still Swaps
and slows down all operation and make system unstable if you turn it off. Should be noted to have worse swapping out of all and biggest swap file fragmentation. Linux and AmigaOS use partition as solution which is more efficient even it sound weird.  —Preceding unsigned comment added by 79.175.123.185 (talk) 22:47, 7 February 2011 (UTC)
thread_title: x86-architecture specific

message: Given two ratios:  2:10 and 8:10, which is high and whicn is low? —The preceding unsigned comment was added by Sailorman2003 (talk • contribs) 14:51, 3 March 2007 (UTC)
thread_title:  Definition of terms 

message: If one graphs the number of faults on one axis and working set size on the other, the graph will look like a hockey stick.
Why don't we get an actual graph or pseudograph instead? I had a difficulty imagining that, because I imagined the "hockey stick" as pointing rightwards instead of pointing leftwards. For now, I'm just going to edit that so it reads "will look like a leftward pointing hockey stick." Miggyb 05:33, 24 August 2007 (UTC)
replies: text: Use the  template on talk pages; maybe someone can create it for us. -- intgr #%@! 23:06, 25 August 2007 (UTC)
thread_title: Last paragraph

message: Since the bus speed of physical memory is far greater than that of virtual memory stored on hard-disks, why is virtual memory used long before physical memory is used. For example I have 1.5GB of RAM, yet only 512MB of that is used, whilest at the same time 300-500MB of virtual memory is used. It's NOT more effeciant because of the difference in speed, so why isn't most of my ram being used? 
PS: I'm using Windows XP
anon 16:48 GMT 09/09/2007
:Good question, bad place - ask a Windows expert... Or just don't worry, it's only Windows after all. --Kubanczyk 20:55, 19 September 2007 (UTC)
replies: text:  Really, it is not a case of "virtual is used before physical" at all. This confusion derives from Windows' misleading displays and nomenclature. The best reference for this would be Windows Internals by Russinovich and Solomon. Or you could ask in the forums at arstechnica.com. Jeh (talk) 01:32, 8 January 2008 (UTC)
thread_title: Virtual Memory VS Physical memory

message: Please see the discussion I started on Talk:Demand paging. -- intgr [talk] 13:09, 24 September 2008 (UTC)
thread_title: "Demand paging" misleading

message: "The fragmentation of the pagefile that occurs when it expands is temporary" From context, that is talking about some version of Windows, but it's not particularly true. Specifically, a page file on Windows XP will probably be fragmented on a clean disk with free space, be it fixed size or system managed, even if it is not used, and even if the disk is entirely defragmented. Windows doesn't normally create a contiguous pagefile.sys.  —Preceding unsigned comment added by 218.214.18.240 (talk) 14:22, 5 June 2010 (UTC)
replies: text: Whether Windows creates a perfectly contiguous pagefile at install time isn't the point. The claim quoted above regarding "fragmentation that occurs when it expands" is absolutely true. When all processes using the expanded areas are gone - at OS shutdown time if nothing else - the expansion extents are freed and the pagefile is back to whatever state it was in prior to expansion. Jeh (talk) 17:02, 17 November 2010 (UTC)
thread_title:  fragmentation 

message: The Paging#Implementations section only discusses recent systems; should that section not mention at least these following notable instances?
* Ferranti Atlas and Atlas 2
* DEC PDP-11 (paging versions)
* DEC PDP-10
** paging version of KA10 with TENEX
** KI10 and KL10 with TOPS-10 (DECsystem-10)
** KI10 and KL10 with TOPS-20 (DECsystem-20)
* DEC VMS on the  VAX
* GE 645 (Multics)
* IBM System/360 Model 67
** TSS/360
** CP-67 (CP/CMS)
* IBM System/370 and IBM 4300
** DOS/VS
** DOS/VSE
** OS/VS1, OS/VS2 (SVS), OS/VS2 (MVS) and successor MVS systems
** VM Shmuel (Seymour J.) Metz Username:Chatul (talk) 15:12, 17 November 2010 (UTC)
replies: text: It depends on what our purpose is in this article.  Are we trying to show the evolution and different fundamental concepts, or are we making a train-spotter's list of instances of the concept? What is notable about these particular machines that a general reader must know about? --Wtshymanski (talk) 15:48, 17 November 2010 (UTC)
replies: text: In the case of tha Atlas, it's notable because it was the first paging system. CP-67, Multics and TSS were notable for innovations in the exploitation of virtual memory, although those weren't releated to paging per se. The others were notable due to their prevalence. Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:04, 17 November 2010 (UTC)
replies: text: I encourage you to write up these points in the article. I don't like laundry lists, but if we talk about milestones and turning points, that is, I think, the point of an encyclopedia article. There's never enough history in Wikipedia technology articles. --Wtshymanski (talk) 21:55, 17 November 2010 (UTC)
replies: text: I′ve created a  list and taken a first crack at a section for the Ferranti Atlas; I could use some guidance on what level of detail to provide for the IBM implementations, some of which I plan to write up. Also, I'm soliciting people with a DEC background to write up the PDP-10, PDP-11 and VAX-11 systems. Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:55, 23 November 2010 (UTC)
replies: text:  If you're asking my opinion - in *this* article, I'd recommend just an overview in the Children's Museum tour-guide level - accurate, fairly comprehensive, but simple. Hit the high points about why the Binford 6100 was a turning point or notable development in the history of memory paging, but don't get into a cycle-by-cycle account of what each backplane pin was doing during a page fault. (It's too easy to get into minute details that unbalance an article, in my opinion. This isn't the article to teach people how to wire up a mainframe.) If there are notable developments, say, within the IBM line that affected their commercial life, perhaps the IBM computer articles are the place to develop more details. Pitfalls, flaws, errors, dead-ends, mistakes, and blunders, and why they were considered such, are always interests of mine, and I think they contribute perspective to an article.  And as always, good references are essential; we wouldn't let Bill Gates Himself write a history of MS DOS without published references.  — Preceding unsigned comment added by Wtshymanski (talk • contribs) 12:17, 23 November 2010 (UTC)
thread_title:  Recentism 

message: I came here looking for information about the mechanisms of memory paging. I.e. the way in which memory is split into pages and noncontiguous areas of memory can be mapped into contiguous spaces different for each process. But instead, this article deals mostly with swapping pages between main memory and hard drives. There is no information at all about the paging mechanisms themselves. CodeCat (talk) 23:36, 23 October 2011 (UTC)
replies: text: "Paging" does refer to moving pages between main memory and backing store. You probably want the Virtual memory article, specifically the material on page tables (address translation). Jeh (talk) 02:14, 24 October 2011 (UTC)
replies: text:  Maybe it does for some people but it's not very clear where to find the information I'm looking for. I think it would be better if this page is moved to Swapping, and Paging is turned into a disambiguation page. As far as I know, 'swapping' is not ambiguous so it would be a less confusing name. CodeCat (talk) 10:33, 24 October 2011 (UTC)
replies: text: "Swapping" can refer to swapping of entire processes or of segments into or out of memory on systems that don't support paging.  It can also be used to refer to marking a process on a paging system as "swapped out" so that it's not scheduled to run until "swapped in" again; that way it doesn't compete with other processes for pages, to avoid thrashing. Guy Harris (talk) 16:49, 24 October 2011 (UTC)

text: To which algorithms are you referring?  Paging algorithms obviously only allow for paging, but not all forms of virtual memory involve paging.  Most if not all current systems implement virtual memory with paging, but I have the impression the Burroughs/Unisys Master Control Program for the Burroughs large systems and its Unisys successors swaps memory objects pointed to by descriptors into and out of memory.  I've seen comments indicating that memory objects that are arrays can be paged rather than swapped as a whole, at least in the B6000-series machines and its successors. Guy Harris (talk) 18:16, 15 November 2011 (UTC)
replies: text: Yes, an array descriptor on the B6x00 and B7x00 has a bit to indicate that the array is split into fixed length pages, and MCP has code to handle the presence fault when there is a reference to a page of the array that is not in memory. I don't have any information on the successor systems at Unisys, but it seems unlikely that they would have dropped the facility. Shmuel (Seymour J.) Metz Username:Chatul (talk) 22:39, 16 November 2011 (UTC)
thread_title:  The name of this article is confusing 

message: To answer a query from Guy Harris, The address space of early MVS was limited to 2^24 8-bit bytes and ultimately IBM supported processors with 2^25 octets, although MVS systems with less than 2^24 were common. With the advent of MVS/XA and MVS/ESA, the address space size became substantially larger than the physical memory limit.
I know of no Multics processor with a physical capacity anywhere near the size of an address space.
TSS/360 supported a 24-bit mode and a 32-bit mode. In 24-bit mode, the address space was close to the maximum physical memory, especially with LCS. In 32-bit mode, the address space was substantially larger. I don't know whether the TSS/370 PRPQ had 31-bit mode (there was no 32-bit mode on S/370.) Shmuel (Seymour J.) Metz Username:Chatul (talk) 17:03, 14 November 2013 (UTC)
thread_title:  Size of address space 

message: *Paging: scheme by which a computer can store and retrieve data from secondary storage for use in primary storage
*RAM drive: block of primary storage that a computer's software uses as secondary storage
I think that, at least conceptually, paging is the opposite of RAM drive. So RAM drive should appear at least in "See also". --Edupedro (talk) 08:06, 21 July 2014 (UTC)
replies: text: Let's have this discussion in one place. I have already answered at the RAM drive talk page. Thanks. Jeh (talk) 08:37, 21 July 2014 (UTC)
thread_title:  Paging vs RAM drive (See also) 

message: "Before Windows 8,[dubious – discuss] the file used for paging in Windows NT was pagefile.sys." The implication is that it has changed. I don't claim much expertise in Win8, but a quick google search doesn't find anything to support such a change. JMP EAX (talk) 02:22, 1 August 2014 (UTC)
replies: text: Yes. But the swapfile doesn't have much to do with paging: It isn't read in response to page faults, and it isn't written from stuff that is on the modified page list that was put there because of page replacement that happened after a page fault. The description at your second link raises several questions, but as far as paging (the subject of this article) is concerned, the backing store is pagefile.sys. Jeh (talk) 06:48, 1 August 2014 (UTC)
replies: text:  "Well, with the introduction of the Modern App, we needed a way to manage their memory outside of the traditional Virtual Memory/Pagefile method."  Hmm...  Perhaps that's related to the fact Windows 8 is also used on mobile devices, which have only one application facing the user? — Dsimic (talk | contribs) 08:55, 1 August 2014 (UTC)
thread_title:  Dubious claim about Win8 

message: I have added a slightly poor diagram that illustrates virtual memory paging with reference to pages of a book, and removed 'Computing diagram requested' tag. Egmason (talk) 12:02, 22 February 2016 (UTC)
replies: text: I'm sorry but "pages of a book" is not really a good analogy for paging in computer memory. I've been working with OSs that do paging, and virtual memory OSs in particular, for quite a while and I can't fit your diagram to anything I know. Maybe if you added some text labels? Jeh (talk) 16:39, 22 February 2016 (UTC)

text: Thanks for your effort, but I agree with Jeh, the diagram doesn't add much to the article. -- intgr [talk] 00:43, 29 February 2016 (UTC)
replies: text:  After completing a quick B.Comp.Sci. (joking; just browsing Google images "paging site:.ac"), I have replaced the original image with one that I hope overviews the article without misleading anyone. Most of the diagrams I found were either older ones trying to explain some sort of page register memory addressing schemes, or they were illustrated using formal process imagery that I don't think is very accessible to the average user. Let me know what you think. Egmason (talk) 05:31, 10 April 2016 (UTC)
replies: text: I think this story could be better told in words (which, by the way, it has been).  A "thought bubble" emanating from a chip as it "thinks"?  Do readers know (or care) that that is what a microprocessor looks like, and that that is what a SIMM/DIMM memory looks like?  (With a caption with inexplicable capitalization and a run-on sentence.)  Although a single concept, such as a page fault, might be illustrated, I think it is a mistake to render the entire paging process in comic-book form, especially in the History section, which covers present and past implementations including some that are not similar at all.  Spike-from-NH (talk) 15:10, 10 April 2016 (UTC)
replies: text:  Sorry but I agree with Spike. Someone who knows what the diagram is showing will be able to follow it but it's not going to be helpful to the newcomer to the concept. Besides, this... diagram... cartoon... something... looks like something you'd find in a children's book. No, you'd never find information like this in a children's book; it's the art style I'm carping at. Besides being childish in style, it also looks like it was cobbled together from several different images, all drawn with different styles. It's very non-encyclopedic. Jeh (talk) 16:10, 10 April 2016 (UTC)
replies: text: Okay. Deleted. If you don't want a picture then don't reinstate the Diagram requested tag. 02:17, 11 April 2016 (UTC)

text: I think we do need an diagram. Egmason's offering is here: https://commons.wikimedia.org/wiki/File:Paging.svg While I would say that it does a reasonable job of showing the concept of swap, it doesn't go as far to capture the concept of paging. Anyone have anything better? Regards, Ben Aveling 03:04, 19 February 2018 (UTC)
replies: text:  Sorry, I don't think it does a "reasonable job" of anything, for reasons I already mentioned. Jeh (talk) 03:25, 19 February 2018 (UTC)
replies: text:  I could explain how I understand Egmason's diagram, but I don't think that would be useful.  I had to explain the concept of paging earlier today, to explain why low free memory wasn't necessarily a problem. What would have been useful to me would have been a FSM diagram showing how and when pages move between different states - although I was explaining active/inactive/cached, so maybe going beyond the scope of this article. Anyway, you know this better than I - how would you propose showing what happens? Regards, Ben Aveling 07:31, 19 February 2018 (UTC)
replies: text:  Perhaps there can't be "a" diagram; the topic might simply be too complicated for a single diagram. Guy Harris (talk) 10:03, 19 February 2018 (UTC)
replies: text:  And there are multiple possibilities of what might be meant by "paging". The PDP-8 and the early HP 2100 series used a "paged" organization of memory, but they had no address translation unit , no page tables, etc. Before anyone goes haring off to produce diagrams we should probably agree on what they should be portraying. Jeh (talk) 12:02, 19 February 2018 (UTC)
thread_title:  Added diagram 

message: Windows 10 has both, so what is the difference? ZFT (talk) 19:13, 11 April 2016 (UTC)
replies: text: It's a Windows 8 thing, described in this blog post. Guy Harris (talk) 19:42, 11 April 2016 (UTC)
thread_title:  pagefile.sys vs. swapfile.sys 

message: It's a little suprising that this article has no coverage at all of address translation. Address translation faults (page faults) are what drive a virtual memory manager. The "paging enabled" bit in the x86/x64 control registers actually just enables pagetable-based address translation; actually moving stuff between RAM and backing store is the OS's job. Virtual memory on most platforms includes three mechanisms: Address translation; paging; and file mapping. Jeh (talk) 07:11, 4 June 2016 (UTC)
replies: text: Address translation is probably best discussed in the memory management unit article, although it needs to be at least mentioned in an article about paging. Guy Harris (talk) 08:16, 4 June 2016 (UTC)
replies: text:  And there is the page table article too. As in many other large and complex subject areas here, the information is spread across several articles. Jeh (talk) 09:38, 4 June 2016 (UTC)
thread_title:  Terminology in general 

message: The problem described in Paging#Swap death is simply thrashing, described in Paging#Thrashing. The discussion in Paging#Linux should simply link to Paging#Thrashing, note the difference in nomenclature and give any information specific to Linux.  Shmuel (Seymour J.) Metz Username:Chatul (talk) 20:06, 2 July 2017 (UTC)
replies: text: Agreed, you're welcome to merge these sections. -- intgr [talk] 13:25, 19 July 2017 (UTC)
replies: text:  Agreed. Jeh (talk) 14:08, 19 July 2017 (UTC)
thread_title:  Redundant section swap death 

message: Not all executable program files are memory mapped. In particular, IBM mainframe operating systems have fetch and load components that read programs into virtual storage prior to execution. As an example, while MVS program objects in a PDSE program library and executable files in a UNIX System Services file system are memory mapped, load modules in a PDS are not. Shmuel (Seymour J.) Metz Username:Chatul (talk) 14:29, 8 May 2018 (UTC)
thread_title:  Demand paging and program loading