From: Peter Olcott on 30 Mar 2010 12:18 "Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in message news:0m74r55bg41pnng8ef66a4t12347iq7f4n(a)4ax.com... > See below.... > On Mon, 29 Mar 2010 21:39:00 -0500, "Peter Olcott" > <NoSpam(a)OCR4Screen.com> wrote: > >>None of the above, although most like (b) They pay me in >>advance in at least $1 increments and this amount is >>placed >>in their local server account file. The real time >>transaction goes against this local file. > **** > And the access cost to this local file is zero? Or is the > new requirement for performance > going to take this into account? > > And you know PayPal is going to handle this correctly? > You've checked with them? > joe > **** Of course you already know that this is clearly irrelevant. They send me a buck and its up to me, not them to keep track of this buck. If they lack the capability to send me a buck they would not be in this business. I boil things down to their simple essence and go in the opposite direction.
From: Peter Olcott on 30 Mar 2010 12:41 "Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in message news:q3v3r594leecok45c018d1m5mcljg48i0i(a)4ax.com... > > > On Mon, 29 Mar 2010 22:33:57 -0500, "Peter Olcott" > <NoSpam(a)OCR4Screen.com> wrote: > >> >>"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in >>message news:uk12r5die24557r1evjkvrqovj58qjvc9e(a)4ax.com... >>> See below... >>> On Sun, 28 Mar 2010 23:03:42 -0500, "Peter Olcott" >>> <NoSpam(a)OCR4Screen.com> wrote: >>> >>>>>But you can run >>>>> with virtual memory WITHOUT paging being a part of it, >>>> >>>>How is that not like running an automobile's engine >>>>without >>>>any form of fuel? >>> **** >>> Because you are being dense and stupid. For example, a >>> better analogy would be running an >> >>Calling me stupid (an opinion) > **** > Actually, it is a demonstrated fact, as anyone who has > been following this thread can > attest. We keep telling you "X" and you keep saying "not > X", not because you have any I kept telling you that I wanted a way to prevent page faults, and you kept providing memory mapped files as the solution, knowing that memory mapped files do not prevent page faults, and also knowing that VirtualLock() does prevent pages faults. So who is acting stupidly in this case? > evidence of not-X, but simply because you believe non-X > MUST be true (apparently based on > once having read half of an introductory textbook, 25 > years ago), and all attempts to > educate you seem to have no effect; your insistence that > "virtual memory" == "paging > activity" in spite of massive efforts to tell you that you > are completely wrong proves you > are uneducable. This is easily shortened to "stupid". I > got tired of trying to be > polite, since all my efforts to educate you failed and you > kept insisting "not-X" when we > kept telling you "X" (and "go read this article by Mark > Russinovich" and "go read the > MSDN" and "go read the Intel manuals", and you kept > insisting "I don't need no stinkin' > details, I know what I know, and by gum, that's good > enough for me!") You kept insisting > that you wanted to boil things down "to their essence" and > when you had boiled them down > to a thick sludge, you stopped and said "this, I believe, > is the essence" and when > everyone else said "No, you have nothing but a thick > sludge, and you don't have the > essence, the essence is THIS" you ignored them. What > adjective would YOU apply to someone > who so pig-headedly refused to learn from all our answers? > I decided that it was time to > stop being polite and hit you over the head with what you > were showing. If you can > demonstrate that you are not stupid, we would all be very > pleased, but thus far you have > been very consistent in demonstrating a lack of knowledge, > and you have explicitly stated > that you have no desire to learn (something about all > those details just getting in the > way of the essence, or something like that...I forget the > actual reasonably incoherent > rantings about why you didn't think it was inappropriate > to spend any effort to learn > more, so you didn't sound like a complete fool) I have a > label for this kind of person, > and I used it. If you think the label is inappropriate, > demonstrate some behavior that > convinces us otherwise. > **** >> demonstrate a lack of >>professionalism (a fact). > **** > A refusal to learn the proper vocabulary, based on a view > that it is not necessary to use > the technical language correctly, also demonstrates a lack > of professionalism (a fact). > > When you stop talking about the need to allocate > contiguous physical memory, recognize > virtual memory for what it really is, and stop explaining, > erroneously, that memory-mapped > files induce more paging than other forms of data > representation, then I'll start to > recognize you are a professional. Because after we have > carefully explained that you are > incorrect in all of these ideas, you continued to insist > they HAD to be correct, because > you THOUGHT they had to be correct! When you acknowledge > that meaningful performance > tests must be conducted, and stop extrapolating from a > single experiement, I will > recognize that you are showing comprehension. But > explaining "I don't need no stinkin' > valid experiment, I have my experiiment and I INFER, > without evidence, that it tells me > everything I will ever need to know" flies in the face of > common sense. Right now, you > are failing to demonstrate that you have a clue as to what > is going on, and you are > ignoring the facts, advice by experts, etc. in your > ill-conceived attempts to tell us what > the truth REALLY is, which we recognize to be mere > fantasies you are spinning. > Professionals don't make statements that contradict > reality when they are told what > reality is. What would you use to label a person who > consistently refused to accept > advice, even simple advice such as how to use technical > terms accurately? As long as you > continue to have erroneous interpretations of the > technical vocabulary, you will bias your > decisions based on those errors, and consequently never > arrive at correct answers. You > yourself said it: start with a set of axioms and derive > proofs. You keep mis-stating the > axioms, so conclusions you arrive at are going to be > flawed. If your conclusions are > consistent with what we have told you, you have not > convinced us, because you keep > re-stating, incorrectly, the "axioms" of your system, > which leave us with the impression > you are reasoning from flawed permises. > > Your definitiions of "realtime" contradict accepted > definitions, your definition of > "virtual memory" is pure fantasy, and you expect us to > think you are reasoning properly > about these issues? Get real! > joe > > I know it is useless to give you articles to read, but > just to point out, the wikipedia > definition of realtime corresponds to the one I gave you: > > from http://en.wikipedia.org/wiki/Real-time_computing : > ============== > In computer science, real-time computing (RTC), or > "reactive computing", is the study of > hardware and software systems that are subject to a > "real-time constraint"--i.e., > operational deadlines from event to system response. > ============== > > It further goes on to explain that your system is NOT a > real-time system: > > ============== > By contrast, a non-real-time system is one for which there > is no deadline, even if fast > response or high performance is desired or preferred. > ============== > > and reinforces this somewhat later (under the heading > "Real time and High Performance" > =========== > Furthermore, if a network server is highly loaded with > network traffic, its response time > may be slower but will (in most cases) still succeed. > Hence, such a network server would > not be considered a real-time system: temporal failures > (delays, time-outs, etc.) are > typically small and compartmentalized (limited in effect) > but are not catastrophic > failures. > ============ > So stop with the meaningless noises and start using the > language correctly, or people will > come up with other labels to describe you, They will be > less polite. > **** >> >>> automobile engine without transferring the power to the >>> wheels. Running the engine is a >>> valid act; whether or not that power is transferred to >>> something that generates motion is >>> a second-order effect. >> >>OK granted you analogy is better than mine. Yet even your >>analogy still makes my point. The essential purpose of an >>automobile is to drive around. Running the engine in >>neutral >>is not meeting the essential purpose of an automobile. >>Likewise for virtual memory. Virtual memory without page >>faults is like running and engine in neutral not meeting >>the >>essential purpose. > **** > No, you are talking now about the essential purpose of an > automobile, not the essential > purpose of an engine. I might be adjusting the > carbuerator, or the timing. Suppose I'm > doing what is called "static testing"? That's a valid > action, and the engine has to work > to do static testing; perhaps I'm calibrating the > speedometer. The wheels move, and a > highly-accurate set of transducers tells me what the > actual MPH is, and I can adjust the > speedometer so it reads correctly. It is clear that you > are clueless, becuase you think > the ONLY valid use of an automobile engine running is to > move the car. > > Running virtual memory without page faults is what you > want, and which many systems using > CP Embedded DO, and you cannot argue that virtual memory's > sole puprose is to have paging > faults. This is what I mean when I say you are "stupid". > You have come up with some > silly idea that the purprose of virtual memory is to take > page faults (erroneous) and that > failure to take page faults invalidates the idea of > virtual memory (erroneous), and any > attempt to explain to you that page faults are just an > add-on to the basic concept falls > on deliberately deaf ears. "I don't care that the > definition isn't what I think it is!" > is just STUPID, and I finally had to say so. The > consequence of your flawed definition is > a long chain of flawed reasoning leading to a flawed > conclusion. So can I ask, if you > want to defend yourself against the label I applied, why > you then make a statement that > removes all doubt that I was correct? > **** >> >>Is the car driving around with the engine in neutral, No. >>The practical effect of running a car with its engine in >>neutral is the same practical effect as if the car is >>turned >>off when measured against the essential purpose of a car, >>driving around. > *** > OK, genius, tell me how to adjust the timing on a > turned-off engine. Or adjust the > carbuerator. Or measure the effectiveness of the fuel > injection. And exactly how you > propose these should be done, if the engine is on, with > the car in motion down the > highway. > --------- > "It is better to keep your mouth shut, and be thought a > fool, than to open it and remove > all doubt" > --Mark Twain > --------- >> >>Is the Virtual Memory meeting its essential purpose with >>zero page faults, No. Is the practical effect of VM >>without >>pages faults essentially the same as if VM was turned off >>in >>terms of it fulfilling its essential purpose, yes. > **** > Sorry, it is meeting its essential purpose. You just > don't understand the essential > purpose of virtual memory. Instead, you invent your own > definition, and when reality > doesn't meet your fantasy definition, you insist that > something else is happening. > > Your insistence that virtual memory can be turned off in > spite of the fact we have tried > to educate you that you are wrong proves beyond any doubt > that my label is based not on > opinion but demonstrated fact! > **** >> >>So for short hand notation a car turned off or a car with >>its engine in neutral could be considered essentially the >>same in terms of the car fulfilling its essential purpose, >>driving around. > *** > The essential purpose of a CAR is to drive around. The > essential purpose of an ENGINE is > to consume gasoline and convert the energy of the gasoline > to rotational energy. The > engine is an IMPLEMENTATION STRATEGY by which an > automobile achieves its purpose. The > essential purpose of a multiprocess operating system is to > run multiple processes. To do > this, certain decisions were made. One decision was that > each process will run in a > private address space. Virtual memory is an > implementation mechanism that makes that > possible. Some people decided that they would like to > oversubscribe physical memory. The > paging mechanism, built on top of virtual memory, provides > that capability. If you EVER > claim something different from the fact that virtual > memory is anything more than a > mapping scheme that maps virtual addresses to physical > addresses, you are WRONG, and > demonstrate that my label is appropriate. > > Does a Prius running on battery consume "no fuel"? Be > careful with your analogies! > > Note that some operating systems in the past and present > do not require separate address > spaces. The JVM is capable of running multiple processes > without separate address spaces, > as was the CEDAR system from Xerox PARC (ca. 1980) which > was programmed in a language > called MESA (which was quite similar in philosophy to > Java; it is not surprising that one > of the architects of MESA, Jim Mitchell, was the person > who gave Jim Gosling the go-ahead > to form the Java project at Sun (Jim was VP Research there > at the time)). The point was > that the nature of these languages meant that even running > in a single, flat physical > address space, it was not possible to cause damage or > compromise security because the > language had no way to break out from the protected > environment of references that it > used, just like Java. So virtual memory is not required > to build a multiprocess > environment. But it IS required in WIndows, and your > denial is about as credible as the > Holocaust Deniers. Your claim that you can "turn it off" > is a demonstrable falsehood, and > any insistence that you can is further evidence that my > label is valid. Because we have > already told you that this whole viewpoint is completely > nonsensical, complete with > citations. Go read the Russinovich article Hector pointed > you at. > joe > ***** >> >> >>> **** >>>>Please try to be very concise. >>> **** >>> Concise: you are stupid. Slightly longer: virtual >>> memory >>> is a system that maps virtual >> >>You ramble far too much around the point without ever >>actually getting to the point. I could make up all kinds >>of >>childish insults to address this, but, that would be both >>unprofessional and inaccurate. > **** > What is rambling about > > "Virtual memory is a system that maps virtual addresses to > physical addresses" > > THis says EXACTLY what is going on! I do not know how to > say it more concisely, since > that is the absolute, complete, and ONLY definition of > virtual memory! READ IT! Nowhere > in that statement is a hint about "paging". This is > because paging is not an essential > part of virtual memory. It is, as I explained, an > optional add-on. >> >>> addresses to physical addresses (which I have said >>> several >>> times, and I know of no reason >>> you would ignore this other than being stupid). Even >>> longer: one of the possible mappings >>> is etended to include the value "not in memory". which >>> induces paging. > **** > This is where I have introduced the concept of page > faults. Note that this is an > EXTENSION of the mapping to include the value "invalid > mapping" as a result, and the > consequence of hitting an "invalid mapping" value is to > cause the processor to take an > access fault interrupt; the operating system examines the > reason for the failure, > determines that the page exists but not in memory at this > instant, and initiates a > transfer to bring the page into memory. It then repairs > the mapping to map to a valid > physical address, and restarts the instruction that > failed. > > Is this terribly hard to understand? READ THE WORDS! > Then tell me why I am wrong. And > if you ONCE appeal to your flawed definition of virtual > memory, then my label was correct! > **** >>>But if there are >>> no page faults, virtual memory is still running (which >>> Hector and I both told you, and >>> which Hector pointed you at a Mark Russinovich article, >>> in >>> which he explicitly stated that >>> virtual memory is ALWAYS running). Realy concise: >>> CR0<0>==1. > **** > It is impossible to get more concise than this last > definition. I even gave you the > citation to the Intel manual. This took 9 characters. > Show me where I am "rambling". And > tell me why I am wrong (if you try, you will demonstrate > that my label was correct, > because the Russinovich article will contradict anything > you can say) > joe > **** > Joseph M. Newcomer [MVP] > email: newcomer(a)flounder.com > Web: http://www.flounder.com > MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Joseph M. Newcomer on 30 Mar 2010 12:54 See below... On Tue, 30 Mar 2010 11:41:12 -0500, "Peter Olcott" <NoSpam(a)OCR4Screen.com> wrote: > >"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in >message news:q3v3r594leecok45c018d1m5mcljg48i0i(a)4ax.com... >> >> >> On Mon, 29 Mar 2010 22:33:57 -0500, "Peter Olcott" >> <NoSpam(a)OCR4Screen.com> wrote: >> >>> >>>"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in >>>message news:uk12r5die24557r1evjkvrqovj58qjvc9e(a)4ax.com... >>>> See below... >>>> On Sun, 28 Mar 2010 23:03:42 -0500, "Peter Olcott" >>>> <NoSpam(a)OCR4Screen.com> wrote: >>>> >>>>>>But you can run >>>>>> with virtual memory WITHOUT paging being a part of it, >>>>> >>>>>How is that not like running an automobile's engine >>>>>without >>>>>any form of fuel? >>>> **** >>>> Because you are being dense and stupid. For example, a >>>> better analogy would be running an >>> >>>Calling me stupid (an opinion) >> **** >> Actually, it is a demonstrated fact, as anyone who has >> been following this thread can >> attest. We keep telling you "X" and you keep saying "not >> X", not because you have any > >I kept telling you that I wanted a way to prevent page >faults, and you kept providing memory mapped files as the >solution, knowing that memory mapped files do not prevent >page faults, and also knowing that VirtualLock() does >prevent pages faults. So who is acting stupidly in this >case? **** Oh. A new fantasy. Memory-mapped files do not prevent page faults, but that is not your question. Your question was, could you create a situation in which page faults did not occur. You demonstrated, by conducting a proper experiment, that in a memory-rich system, you had zero page faults. You were not using VirtualLock. Why is it you think that memory-mapped files are any more subject to paging faults than a system which does not use VirtualLock? Oh, I missed that leap of logic. Furthermore, you did not justify why you must have zero page faults, other than some bizarre reasoning that said if you have page faults, you cannot meet your realtime window. I don't recall that you measured this; if you did, then it is true (and the quantity of page faults was known); if you did not see any impact from a small number of page faults, then you cannot claim that zero is the upper limit of acceptable page faults. The prorper scientific approach to this is to create experiments which induce higher and higher number of page faults until active interference with the realtime window is detected, then back off (remember the Calvin and Hobbs cartoon I cited?) and back off enough that you have "headroom" in case there are mechanisms that induce additional page faults. VirtualLock reduces the probability of page faults by locking the pages you specify into memory. Did you think that applies only to your data? You will have to VirtualLock your code, also. joe > >> evidence of not-X, but simply because you believe non-X >> MUST be true (apparently based on >> once having read half of an introductory textbook, 25 >> years ago), and all attempts to >> educate you seem to have no effect; your insistence that >> "virtual memory" == "paging >> activity" in spite of massive efforts to tell you that you >> are completely wrong proves you >> are uneducable. This is easily shortened to "stupid". I >> got tired of trying to be >> polite, since all my efforts to educate you failed and you >> kept insisting "not-X" when we >> kept telling you "X" (and "go read this article by Mark >> Russinovich" and "go read the >> MSDN" and "go read the Intel manuals", and you kept >> insisting "I don't need no stinkin' >> details, I know what I know, and by gum, that's good >> enough for me!") You kept insisting >> that you wanted to boil things down "to their essence" and >> when you had boiled them down >> to a thick sludge, you stopped and said "this, I believe, >> is the essence" and when >> everyone else said "No, you have nothing but a thick >> sludge, and you don't have the >> essence, the essence is THIS" you ignored them. What >> adjective would YOU apply to someone >> who so pig-headedly refused to learn from all our answers? >> I decided that it was time to >> stop being polite and hit you over the head with what you >> were showing. If you can >> demonstrate that you are not stupid, we would all be very >> pleased, but thus far you have >> been very consistent in demonstrating a lack of knowledge, >> and you have explicitly stated >> that you have no desire to learn (something about all >> those details just getting in the >> way of the essence, or something like that...I forget the >> actual reasonably incoherent >> rantings about why you didn't think it was inappropriate >> to spend any effort to learn >> more, so you didn't sound like a complete fool) I have a >> label for this kind of person, >> and I used it. If you think the label is inappropriate, >> demonstrate some behavior that >> convinces us otherwise. >> **** >>> demonstrate a lack of >>>professionalism (a fact). >> **** >> A refusal to learn the proper vocabulary, based on a view >> that it is not necessary to use >> the technical language correctly, also demonstrates a lack >> of professionalism (a fact). >> >> When you stop talking about the need to allocate >> contiguous physical memory, recognize >> virtual memory for what it really is, and stop explaining, >> erroneously, that memory-mapped >> files induce more paging than other forms of data >> representation, then I'll start to >> recognize you are a professional. Because after we have >> carefully explained that you are >> incorrect in all of these ideas, you continued to insist >> they HAD to be correct, because >> you THOUGHT they had to be correct! When you acknowledge >> that meaningful performance >> tests must be conducted, and stop extrapolating from a >> single experiement, I will >> recognize that you are showing comprehension. But >> explaining "I don't need no stinkin' >> valid experiment, I have my experiiment and I INFER, >> without evidence, that it tells me >> everything I will ever need to know" flies in the face of >> common sense. Right now, you >> are failing to demonstrate that you have a clue as to what >> is going on, and you are >> ignoring the facts, advice by experts, etc. in your >> ill-conceived attempts to tell us what >> the truth REALLY is, which we recognize to be mere >> fantasies you are spinning. >> Professionals don't make statements that contradict >> reality when they are told what >> reality is. What would you use to label a person who >> consistently refused to accept >> advice, even simple advice such as how to use technical >> terms accurately? As long as you >> continue to have erroneous interpretations of the >> technical vocabulary, you will bias your >> decisions based on those errors, and consequently never >> arrive at correct answers. You >> yourself said it: start with a set of axioms and derive >> proofs. You keep mis-stating the >> axioms, so conclusions you arrive at are going to be >> flawed. If your conclusions are >> consistent with what we have told you, you have not >> convinced us, because you keep >> re-stating, incorrectly, the "axioms" of your system, >> which leave us with the impression >> you are reasoning from flawed permises. >> >> Your definitiions of "realtime" contradict accepted >> definitions, your definition of >> "virtual memory" is pure fantasy, and you expect us to >> think you are reasoning properly >> about these issues? Get real! >> joe >> >> I know it is useless to give you articles to read, but >> just to point out, the wikipedia >> definition of realtime corresponds to the one I gave you: >> >> from http://en.wikipedia.org/wiki/Real-time_computing : >> ============== >> In computer science, real-time computing (RTC), or >> "reactive computing", is the study of >> hardware and software systems that are subject to a >> "real-time constraint"--i.e., >> operational deadlines from event to system response. >> ============== >> >> It further goes on to explain that your system is NOT a >> real-time system: >> >> ============== >> By contrast, a non-real-time system is one for which there >> is no deadline, even if fast >> response or high performance is desired or preferred. >> ============== >> >> and reinforces this somewhat later (under the heading >> "Real time and High Performance" >> =========== >> Furthermore, if a network server is highly loaded with >> network traffic, its response time >> may be slower but will (in most cases) still succeed. >> Hence, such a network server would >> not be considered a real-time system: temporal failures >> (delays, time-outs, etc.) are >> typically small and compartmentalized (limited in effect) >> but are not catastrophic >> failures. >> ============ >> So stop with the meaningless noises and start using the >> language correctly, or people will >> come up with other labels to describe you, They will be >> less polite. >> **** >>> >>>> automobile engine without transferring the power to the >>>> wheels. Running the engine is a >>>> valid act; whether or not that power is transferred to >>>> something that generates motion is >>>> a second-order effect. >>> >>>OK granted you analogy is better than mine. Yet even your >>>analogy still makes my point. The essential purpose of an >>>automobile is to drive around. Running the engine in >>>neutral >>>is not meeting the essential purpose of an automobile. >>>Likewise for virtual memory. Virtual memory without page >>>faults is like running and engine in neutral not meeting >>>the >>>essential purpose. >> **** >> No, you are talking now about the essential purpose of an >> automobile, not the essential >> purpose of an engine. I might be adjusting the >> carbuerator, or the timing. Suppose I'm >> doing what is called "static testing"? That's a valid >> action, and the engine has to work >> to do static testing; perhaps I'm calibrating the >> speedometer. The wheels move, and a >> highly-accurate set of transducers tells me what the >> actual MPH is, and I can adjust the >> speedometer so it reads correctly. It is clear that you >> are clueless, becuase you think >> the ONLY valid use of an automobile engine running is to >> move the car. >> >> Running virtual memory without page faults is what you >> want, and which many systems using >> CP Embedded DO, and you cannot argue that virtual memory's >> sole puprose is to have paging >> faults. This is what I mean when I say you are "stupid". >> You have come up with some >> silly idea that the purprose of virtual memory is to take >> page faults (erroneous) and that >> failure to take page faults invalidates the idea of >> virtual memory (erroneous), and any >> attempt to explain to you that page faults are just an >> add-on to the basic concept falls >> on deliberately deaf ears. "I don't care that the >> definition isn't what I think it is!" >> is just STUPID, and I finally had to say so. The >> consequence of your flawed definition is >> a long chain of flawed reasoning leading to a flawed >> conclusion. So can I ask, if you >> want to defend yourself against the label I applied, why >> you then make a statement that >> removes all doubt that I was correct? >> **** >>> >>>Is the car driving around with the engine in neutral, No. >>>The practical effect of running a car with its engine in >>>neutral is the same practical effect as if the car is >>>turned >>>off when measured against the essential purpose of a car, >>>driving around. >> *** >> OK, genius, tell me how to adjust the timing on a >> turned-off engine. Or adjust the >> carbuerator. Or measure the effectiveness of the fuel >> injection. And exactly how you >> propose these should be done, if the engine is on, with >> the car in motion down the >> highway. >> --------- >> "It is better to keep your mouth shut, and be thought a >> fool, than to open it and remove >> all doubt" >> --Mark Twain >> --------- >>> >>>Is the Virtual Memory meeting its essential purpose with >>>zero page faults, No. Is the practical effect of VM >>>without >>>pages faults essentially the same as if VM was turned off >>>in >>>terms of it fulfilling its essential purpose, yes. >> **** >> Sorry, it is meeting its essential purpose. You just >> don't understand the essential >> purpose of virtual memory. Instead, you invent your own >> definition, and when reality >> doesn't meet your fantasy definition, you insist that >> something else is happening. >> >> Your insistence that virtual memory can be turned off in >> spite of the fact we have tried >> to educate you that you are wrong proves beyond any doubt >> that my label is based not on >> opinion but demonstrated fact! >> **** >>> >>>So for short hand notation a car turned off or a car with >>>its engine in neutral could be considered essentially the >>>same in terms of the car fulfilling its essential purpose, >>>driving around. >> *** >> The essential purpose of a CAR is to drive around. The >> essential purpose of an ENGINE is >> to consume gasoline and convert the energy of the gasoline >> to rotational energy. The >> engine is an IMPLEMENTATION STRATEGY by which an >> automobile achieves its purpose. The >> essential purpose of a multiprocess operating system is to >> run multiple processes. To do >> this, certain decisions were made. One decision was that >> each process will run in a >> private address space. Virtual memory is an >> implementation mechanism that makes that >> possible. Some people decided that they would like to >> oversubscribe physical memory. The >> paging mechanism, built on top of virtual memory, provides >> that capability. If you EVER >> claim something different from the fact that virtual >> memory is anything more than a >> mapping scheme that maps virtual addresses to physical >> addresses, you are WRONG, and >> demonstrate that my label is appropriate. >> >> Does a Prius running on battery consume "no fuel"? Be >> careful with your analogies! >> >> Note that some operating systems in the past and present >> do not require separate address >> spaces. The JVM is capable of running multiple processes >> without separate address spaces, >> as was the CEDAR system from Xerox PARC (ca. 1980) which >> was programmed in a language >> called MESA (which was quite similar in philosophy to >> Java; it is not surprising that one >> of the architects of MESA, Jim Mitchell, was the person >> who gave Jim Gosling the go-ahead >> to form the Java project at Sun (Jim was VP Research there >> at the time)). The point was >> that the nature of these languages meant that even running >> in a single, flat physical >> address space, it was not possible to cause damage or >> compromise security because the >> language had no way to break out from the protected >> environment of references that it >> used, just like Java. So virtual memory is not required >> to build a multiprocess >> environment. But it IS required in WIndows, and your >> denial is about as credible as the >> Holocaust Deniers. Your claim that you can "turn it off" >> is a demonstrable falsehood, and >> any insistence that you can is further evidence that my >> label is valid. Because we have >> already told you that this whole viewpoint is completely >> nonsensical, complete with >> citations. Go read the Russinovich article Hector pointed >> you at. >> joe >> ***** >>> >>> >>>> **** >>>>>Please try to be very concise. >>>> **** >>>> Concise: you are stupid. Slightly longer: virtual >>>> memory >>>> is a system that maps virtual >>> >>>You ramble far too much around the point without ever >>>actually getting to the point. I could make up all kinds >>>of >>>childish insults to address this, but, that would be both >>>unprofessional and inaccurate. >> **** >> What is rambling about >> >> "Virtual memory is a system that maps virtual addresses to >> physical addresses" >> >> THis says EXACTLY what is going on! I do not know how to >> say it more concisely, since >> that is the absolute, complete, and ONLY definition of >> virtual memory! READ IT! Nowhere >> in that statement is a hint about "paging". This is >> because paging is not an essential >> part of virtual memory. It is, as I explained, an >> optional add-on. >>> >>>> addresses to physical addresses (which I have said >>>> several >>>> times, and I know of no reason >>>> you would ignore this other than being stupid). Even >>>> longer: one of the possible mappings >>>> is etended to include the value "not in memory". which >>>> induces paging. >> **** >> This is where I have introduced the concept of page >> faults. Note that this is an >> EXTENSION of the mapping to include the value "invalid >> mapping" as a result, and the >> consequence of hitting an "invalid mapping" value is to >> cause the processor to take an >> access fault interrupt; the operating system examines the >> reason for the failure, >> determines that the page exists but not in memory at this >> instant, and initiates a >> transfer to bring the page into memory. It then repairs >> the mapping to map to a valid >> physical address, and restarts the instruction that >> failed. >> >> Is this terribly hard to understand? READ THE WORDS! >> Then tell me why I am wrong. And >> if you ONCE appeal to your flawed definition of virtual >> memory, then my label was correct! >> **** >>>>But if there are >>>> no page faults, virtual memory is still running (which >>>> Hector and I both told you, and >>>> which Hector pointed you at a Mark Russinovich article, >>>> in >>>> which he explicitly stated that >>>> virtual memory is ALWAYS running). Realy concise: >>>> CR0<0>==1. >> **** >> It is impossible to get more concise than this last >> definition. I even gave you the >> citation to the Intel manual. This took 9 characters. >> Show me where I am "rambling". And >> tell me why I am wrong (if you try, you will demonstrate >> that my label was correct, >> because the Russinovich article will contradict anything >> you can say) >> joe >> **** >> Joseph M. Newcomer [MVP] >> email: newcomer(a)flounder.com >> Web: http://www.flounder.com >> MVP Tips: http://www.flounder.com/mvp_tips.htm > Joseph M. Newcomer [MVP] email: newcomer(a)flounder.com Web: http://www.flounder.com MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Joseph M. Newcomer on 30 Mar 2010 13:02 See below... On Mon, 29 Mar 2010 23:27:42 -0500, "Peter Olcott" <NoSpam(a)OCR4Screen.com> wrote: > >"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in >message news:s5n2r5lj03ktt52logni11mhgsudskmkgn(a)4ax.com... >> See below... >> On Mon, 29 Mar 2010 16:35:54 -0500, "Peter Olcott" >> <NoSpam(a)OCR4Screen.com> wrote: >> >> >>> >>>It is not that I am stupid it is that for some reason (I >>>am >>>thinking intentionally) you fail to get what I am saying. >>>I needed something the PREVENTS page faults**, MMF does >>>not >>>do that, VirtualLock() does. >> **** >> I never promised that memory mapped files would give you >> ZERO page faults; I only pointed >> out that it can reduce the total number of page faults, >> and distribute the cost of them >> differently than your simplistic model that takes several >> thousand page faults to load the >> data. And I said that in any real world experiment, it is >> essential to gather the data to >> show the exact impact of the architecture. >> **** > >The whole goal of the original architecture was to find a >way to prevent pages faults to my several GB of data because >it would have taken several minutes to load this data, thus >it was to be kept loaded. All this time I am sure that you >were aware of VirtualLock() but said nothing. *** I am reminded that I pointed out VirtualLock to you MONTHS previously. *** > >I kept saying that I need zero page faults and you kept push >MMF as the solution. I kept saying that MMF are no good >because they don't prevent pages faults and I need something >that prevents pages faults, and you kept push MMF all the >while knowing about VirtualLock(). **** No, I pointed out that MMF reduce page faults during loading. Of course, the addresses which are mapped are subject to VirtualLock. I also pointed out that MMF reduce page fault overheads to zero if the segment is shared with other processes, which is a Good Thing. YOU were the one that kept saying MMF are no good because they don't prevent page faults, and I kept saying that you were wrong in this opinion. You are still wrong. You were not paying any attention to my saying that you got to AMORTIZE any page faults across ALL processes, and these page faults would only occur during loading into the first process, no different than what you are already experiencing. Oh well, I'm sorry reality doesn't conform to your fantasies, but I can tell you repeatedly you are wrong. Your insistence that you are right does not make you right. It only proves you don't understand what anyone is telling you. joe **** Joseph M. Newcomer [MVP] email: newcomer(a)flounder.com Web: http://www.flounder.com MVP Tips: http://www.flounder.com/mvp_tips.htm
From: Peter Olcott on 30 Mar 2010 13:14
"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in message news:ipa4r55sc1jr36e27ub95g7uiot8c6g36g(a)4ax.com... > See below... > On Tue, 30 Mar 2010 11:41:12 -0500, "Peter Olcott" > <NoSpam(a)OCR4Screen.com> wrote: > >> >>"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in >>message news:q3v3r594leecok45c018d1m5mcljg48i0i(a)4ax.com... >>> >>> >>> On Mon, 29 Mar 2010 22:33:57 -0500, "Peter Olcott" >>> <NoSpam(a)OCR4Screen.com> wrote: >>> >>>> >>>>"Joseph M. Newcomer" <newcomer(a)flounder.com> wrote in >>>>message >>>>news:uk12r5die24557r1evjkvrqovj58qjvc9e(a)4ax.com... >>>>> See below... >>>>> On Sun, 28 Mar 2010 23:03:42 -0500, "Peter Olcott" >>>>> <NoSpam(a)OCR4Screen.com> wrote: >>>>> >>>>>>>But you can run >>>>>>> with virtual memory WITHOUT paging being a part of >>>>>>> it, >>>>>> >>>>>>How is that not like running an automobile's engine >>>>>>without >>>>>>any form of fuel? >>>>> **** >>>>> Because you are being dense and stupid. For example, >>>>> a >>>>> better analogy would be running an >>>> >>>>Calling me stupid (an opinion) >>> **** >>> Actually, it is a demonstrated fact, as anyone who has >>> been following this thread can >>> attest. We keep telling you "X" and you keep saying >>> "not >>> X", not because you have any >> >>I kept telling you that I wanted a way to prevent page >>faults, and you kept providing memory mapped files as the >>solution, knowing that memory mapped files do not prevent >>page faults, and also knowing that VirtualLock() does >>prevent pages faults. So who is acting stupidly in this >>case? > **** > Oh. A new fantasy. Memory-mapped files do not prevent > page faults, but that is not your > question. > Your question was, could you create a situation in which > page faults did not > occur. and you kept providing memory mapped files as the solution, and refrained from providing VirtualLock(). This is a matter of public record. > You demonstrated, by conducting a proper experiment, that > in a memory-rich system, > you had zero page faults. You were not using VirtualLock. > Why is it you think that > memory-mapped files are any more subject to paging faults > than a system which does not use > VirtualLock? Oh, I missed that leap of logic. Maybe it was partly my fault, I did not explicitly use the term [prevent page faults] until recently. > > Furthermore, you did not justify why you must have zero > page faults, other than some > bizarre reasoning that said if you have page faults, you > cannot meet your realtime window. It would take far longer than 100 ms to load 4 GB of data. If the OS (in a memory rich environment) found any reason to page any of the data out, then this same reason could possibly page all of this data out. All this is moot now. > I don't recall that you measured this; if you did, then it > is true (and the quantity of > page faults was known); if you did not see any impact from > a small number of page faults, > then you cannot claim that zero is the upper limit of > acceptable page faults. The prorper > scientific approach to this is to create experiments which > induce higher and higher number One has to begin with the right categories and reasoning first, otherwise one must test every combination of everything, including the combinations that don't make any sense. I began with the premise that it would be absurd for a memory rich system to have page faults, and testing confirmed this. This separate testing turned out to be the waste of time that I expected it to be. There was a benefit derived from this testing that made it worthwhile. I now know that my algorithm redesign results in a ten-fold gain in speed. > of page faults until active interference with the realtime > window is detected, then back > off (remember the Calvin and Hobbs cartoon I cited?) and > back off enough that you have > "headroom" in case there are mechanisms that induce > additional page faults. > > VirtualLock reduces the probability of page faults by > locking the pages you specify into > memory. Did you think that applies only to your data? > You will have to VirtualLock your > code, also. > joe > >> |