PLEX86  x86- Virtual Machine (VM) Program
 CVS  |  Mailing List  |  Download  |  Newsgroups

Lit. Buffer overruns 1712


Your Ad Here

Your Ad Here

snip

Lit. Buffer overruns 1717
paul c) writes: Thirty-one digits is enough for just about anything anyway. But one day I discovered a quirk in the...

Probably true. I have to do a quick mental shuffle every time you mention "monitor" (I know what you mean, more or less, but since this is a word I usually interpret differently -- and no, not always to mean something with a screen ....).

Are you talking about -- hm, the best example I know is IBM's VM operating system, where one OS (MVS, CMS, many instances of either-both) can run as "user-level" code under the control of another (VM)?

snip

So what happens if some other program is already using physical location nn?

No. Sounds interesting. I'll put it on the (long long) mental list of stuff to read up on if you can provide a bit more info to buttist a Web search?

Yeah. Got 'em.

snip

Lit. Buffer overruns 1714
They don't but I'm only there, I don't have time for afc, sorry.) RT-11 didn't, and couldn't because it ran (mostly?) on...

Oh. Sure. I guess I buttumed from your original description that memory-management strategies other than swapping whole jobs in-out weren't an option.

Of course, this just shifts the problem to a different granularity, right? so that instead of choosing a job (I keep wanting to say "process" here, but presumably it's more or less the same thing in this context) to swap out you're choosing a job to steal pages from, and it's probably a good idea to be sure you don't try to steal from yourself ....

snip

Well .... Hm, I suppose so. Options might include asking the OS to raise your limit (if that's allowed), or waiting and hoping more memory will be available later, or just failing as gracefully as possible?

But of course if sloppy programmers ignore those carefully-provided error codes .... :-)

Sure, I worked in such shops in a previous life. :-)

But that doesn't seem to be what the other posters mean by "overcommit" -- they seem to be saying that the OS says to the program "here's your memory, go ahead" in circumstances such that if the program actually *does* go ahead and use the memory, it fails in some way the programmer would not expect unless he-she knew about this overcommit thing.

I think at least one of us is not understanding what "overcommit" means in this context.

If you have a limited amount of physical memory but want to service users as if you had a lot of memory, well .... You implement virtual memory, no? so when applications request memory, their requests don't necessarily have to be satisfied out of physical memory available right then, but IMO the OS should be making sure it has the swap-space resources to deal with the requesting process. I vaguely remember that the MVS (old IBM mainframe OS -- you may know this) systems I used would refuse to start a job unless there was enough swap space for it. What seems wrong to me is to go ahead and start the job, and then let it get into nasty trouble when it actually needs the swap space that isn't there. "YMMV", maybe.

Lit. Buffer overruns 1713
Can we snip out the cross-post? I don't think the crypts care about this flavor of stuff In our development world, it was often important to distinguish what...

(I'm sure we both know that a teensy little system pretending to be a GREAT BIG SYSTEM can, um, encounter performance problems.)

Yeah. As you said, there have been some other posts giving examples ....

I'm apt to focus on the motto "first make it work, then make it fast" -- but I'm dimly aware that there is also a competing motto, "sometimes late answers are wrong answers."

Engineering, including software engineering (buttuming that term means anything at all), is full of trade-offs.

snip

was blissfully unaware for a long time that PC OS's didn't necessarily defend themselves from users as vigorously as the mainframe OS's I was used to. The experiences that taught me otherwise stil make good stories. (Or so I think, anyway. The audiences on which I inflict them may think otherwise.)

Lit. Buffer overruns 1719
CP-M. You're correct. Though I believe Kildall actually got it from the system he used to develop...

Anyway it sounds like Windows 3.1 is in the doesn't-defend-itself category. How annoying.

So, you came up with a creative way to protect yourself from the worst consequences of the OS's undesirable behavior. Cool!

That's the hope! "What idiot wrote *this* co .... Oh."

Probably. That also teaches the value of making your code understandable to human readers and not just the compiler.

"The top band-aid?" By the time I quit that job, I was pretty good at finding such bugs and patching them. Extensive code reviews and rewrites, though, weren't really in my job description, nor likely within my abilities.

Ah yes, I remember that exchange now. Thanks.

I think so too (that there's something wrong) -- my first thought on reading your formula was how it related to the E = m c^2, and that maybe it reduced to the familiar one if p=0. (What is p here, by the way?) But the exponents are wrong. Are you sure that "sqrt" needs to be there? If it's not, then this formula reduces to the familiar one when p=0. ??

-- B. L. Mbuttingill ObDisclaimer: I don't speak for my employers; they return the favor.



Your Ad Here

List | Previous | Next

Lit. Buffer overruns 1713

Alt Folklore Computers from Newsgroups

The #1 Usenet Provider on the Internet

Lit. Buffer overruns 1711