On 9 Sep 2003 at 1:37, P Witte wrote:


> But does the incoming data need to be processed in any way before
> acknowledgement? Why cant the ISR simply receive and buffer the data and
> then send the ACK before exiting, leaving any processing to the higher
> levels?

The reason is that it's part of the TCP processing and can not be done on ethernet packet level.

> In our January discussion you mentioned the case of echo. There is nothing
> to stop you from implementing time-critical routines, like echo, in the
> 'physical layer'. In fact you can take over the whole machine and do as you
> please.

Not a task where speed is relevant for the user. No point in speeding up ICMP echo only.

> he important thing is to split the driver correctly: Time
> critical, ie
> usually hardware related stuff, and in this case it appears also certain
> demands of the TCP/IP protocol (if I understand correctly) are rightly the
> provinance of the ISR. If this sort of thing is not clearcut in TCP/IP, then
> a messy solution is called for ;)
> Arent you trying to make the OS do something it was never designed to
> do? Writing drivers is a programming challenge. The OS is there to help
> where it can, but no OS author can anticipate any and every piece of
> hardware that is going to be attached to the machine in the future. That is
> the job of the driver. (Preferably without each driver author altering the
> OS to suit their own needs ;)

Somehow I doubt that you need to teach me that writing drivers
is a programming challenge or more trivialities and generalities
about OS and driver structure ;)

I guess you have to accept that QDOS (SMS?) has a principal shortcoming, not an author dependant need, and should be improved.

> Afterall, someone did implement TCP/IP on the Spectrum, which neither
> multitasks

A singletasking TCP/IP implementation is easier not harder.

Just in case you didn't notice: My TCP/IP package for QDOS works. I was talking the obstacles of higher data rates.

> nor (for all I know) understands interrupts.

Of course the Spectrum uses interrupts, and even singletasking TCP/IP needs some sort of timers.

All the best

Reply via email to