From: Ken Smith on
In article <er47qv$8qk_001(a)s897.apx1.sbo.ma.dialup.rcn.com>,
<jmfbahciv(a)aol.com> wrote:
[.....]
>>NT was written in the first place for a processor that didn't do
>>interrupts well.
>
>Nuts. If the hardware doesn't do it, then you can make the software
>do it. As TW used to say, "A small matter of programming".

On the N10 there was no way to code around it. The hardware was designed
so that it had to walk to the breakroom and back before it picked up the
phone. Nothing you could say over the phone would help.



>> The N10 AKA 860 processor had to spill its entire
>>pipeline when interrupted. This slowed things down a lot when the code
>>involved interrupts. When the project was moved back to the X86 world, it
>>was marketed as secure ... well sort of .... well kind of .... its better
>>than 98. I don't think a lot of time was spent on improving the interrupt
>>performance.
>
>You are confusing delivery of computing services by software with
>delivery of computing services of hardware.

No, hardware sets the upper limit on what software can do. If you wrote
code for a machine that had no interrupts at all, you would have to poll
the I/O ports. There is nothing you could do about it on that machine.
If once you are done, management tells you to now port onto a machine that
does interrupts, without a lot of recoding, the polling will stay. This
is the sort of thing that happened in NT's development. It was written
for the N10 and then ported.


>>>I was talking about simple things like being able to print a file,
>>>download yesterday's newsgroups posts, build an EXE while the PC
>>>user played a session of Pong! while waiting for everything to
>>>finish. This all should have happened on one machine without
>>>interfering with each other.
>>
>>Linux does ok at this.
>
>Of course it does. However, no Unix is "PC-user friendly". I'm
>trying to work on this problem but I've been getting side-tracked.

Sure it is "user friendly". Take a look at SuSE10 with KDE. It is more
user friendly than Windows by a long shot.



>
>> Right now I also have LTSpice running on another
>>desktop. I'm typing this while if figures.
>
>My point is that you should not have to have another computer _system_
>to do any other task.

"Another desktop" in this case refers to the same machine. I have 4
little boxes at the bottom of my screen. If I click in one it switches me
to that "desk top".

[.....]
>a task requires [what we used to call] real-time computing. Other
>than instrumentation, there usually isn't any computing task that
>has to have the CPU pay attention to it *right now*.

GUI stuff needs to respond modestly quickly also. A 0.25 second delay is
trouble. Most of what I do with computers needs it to respond quickly.



>>>For some strange reason, MS products can't chew gum and salivate
>>>at the same time; it appears that they think this is a feature.
>>
>>The DOS mind set was to only do one thing at a time.
>
>That is OK but it should never display the monitor prompt until
>it's done with each task. You do not lie to your user! EVER!!!!

In a multitasking situation, you often tell a little white lie. When I
write to a file, the OS acts as though the job is done before the physical
write happens. So long as the power stays on, there is no way the user
will ever see any effects from this. The physical write happens a little
later in the back ground. If you open the same file for reading, the OS
gets the data that it was planning on writing and gives it to you at the
right time. You can't tell that the file isn't total on the disk yet.



>>Some bits of later
>>versions looked like multitasking was intended but abandoned. Even very
>>later versions save registers into code space instead of onto the stack.
>
>That [saving regs in core] has nothing to do with anything.

Saving registers into code space makes it near imposible to do
multitasking and is in general very bad coding practice.

> Their
>problem was never understanding how to do memory management

MS-DOS's memory management was about right. It was limited to the size of
memory an 8086 could address but it was obviously thought through. It had
the code for the automatic freeing of memory when a program aborted and
all that stuff. They should have made the allocation headers a linked
list from the PSP[1] but give the amount of memory having to walk the
whole chain was no big problem.

Windows on the other foot didn't. This is part of why windows had such
memory leak problems.

[1] Under DOS the Program Segment Prefix was a block of memory just below
the loaded program that kept track of stuff. When you allocated memory,
16 bytes before the pointer you go back was used to store information
about that allocation.

--
--
kensmith(a)rahul.net forging knowledge

From: Rich Grise, Plainclothes Hippie on
On Fri, 16 Feb 2007 12:49:30 +0000, jmfbahciv wrote:
> "nonsense(a)unsettled.com" <nonsense(a)unsettled.com> wrote:
....
>>As usual, you redefine the discussion to suit yourself.
>
> I don't think he is redefining it; I think he believes he's talking about
> the same thing. He keeps reminding me of the last tech I had to finally
> resort to beating up in order to get him to understand what was going to
> happen. I don't think that guy knows to this day why his way was the
> exactly wrong way.
>

Yes, sadly most people would rather be right than happy.

Cheers!
Rich

From: nonsense on
Rich Grise, Plainclothes Hippie wrote:
> On Fri, 16 Feb 2007 12:49:30 +0000, jmfbahciv wrote:
>
>> "nonsense(a)unsettled.com" <nonsense(a)unsettled.com> wrote:
>
> ...
>
>>>As usual, you redefine the discussion to suit yourself.
>>
>>I don't think he is redefining it; I think he believes he's talking about
>>the same thing. He keeps reminding me of the last tech I had to finally
>>resort to beating up in order to get him to understand what was going to
>>happen. I don't think that guy knows to this day why his way was the
>>exactly wrong way.
>>
>
>
> Yes, sadly most people would rather be right than happy.

To hold those two concepts as mutually exclusive is,
to coin a phrase, strange.
From: MassiveProng on
On 16 Feb 2007 11:29:32 GMT, jasen <jasen(a)free.net.nz> Gave us:

>On 2007-02-16, Ken Smith <kensmith(a)green.rahul.net> wrote:
>> In article <be273$45d50d69$49ecf9d$20196(a)DIALUPUSA.NET>,
>> nonsense(a)unsettled.com <nonsense(a)unsettled.com> wrote:
>> [.....]
>>>None of the has anything to do with the OS biz.
>>
>>
>> We just had another wonderful experience with XP. Characters pumped into
>> the serial port may take up to 5 seconds before a DOS application running
>> under XP gets to see them. Most of them eventually come through.
>>
>> Tomorrow, we may try it with "dosemu" to see how well that works.
>
>with the right serial driver it should work well, people were running serial
>games in dosemu, dunno all the tricks they employed.
>


His problem is likely that he hasn't set up the serial port
correctly. I get regular 115kb/s feeds at the port level, and there
is no delay. He pr5obably has it set to software control instead of
hardware.

This is what happens when someone guesses at what is needed, and
then subsequently assumes it to be correct, and then blames all issues
being encountered on the base level OS, when it is really the fault of
the base level brain doing the tasks.
From: MassiveProng on
On 16 Feb 2007 11:45:57 GMT, jasen <jasen(a)free.net.nz> Gave us:

>On 2007-02-15, Ken Smith <kensmith(a)green.rahul.net> wrote:
>
>> The DOS mind set was to only do one thing at a time. Some bits of later
>> versions looked like multitasking was intended but abandoned. Even very
>> later versions save registers into code space instead of onto the stack.
>
>I read that there was a multitasking dos released by Microsoft in
>Europe. and then there's Deskview and I think Digital Research had
>a go at multitasking dos too.
>
>I played with something called multidos (I think it) was shareware or
>freeware and faked multitasking somehow.
>
>

DesqView was a task switcher. One app at a time.

DesqViewX was a true multitasking system that ran under DOS with a
memory manager. It was also an x server and could run distributed
processes on another machine running DesqViewX and TCP/IP had to be
the protocol.

DR didn't do any multithreaded OS.

OS/2 was a true multi-threaded, multitasking OS, despite coming out
back when all we had were 386s and 486s.