It works as long as you don't try to reenter DOS (because the DOS API switches stacks).

DOS never "sleeps". DOS is invoked as you use int 21h.

Leif


----- Original Message ----- From: "Michael Schnell" <mschn...@lumino.de>
To: <fpc-devel@lists.freepascal.org>
Sent: Thursday, September 26, 2013 2:45 PM
Subject: Re: [fpc-devel] Multithreading under DOS


On 09/26/2013 02:09 PM, Sven Barth wrote:

But on "bare metal" you don't have the OS in your way and thus can of course implement preemptive multithreading as other operating systems are also able to implement preemptive multithreading...

How do you think DOS would "get in the way" ?

As this is Dos, only a single program runs. Same gaps the interrupts it wants to handle (e.g. timer, keyboard or serial, this in fact is a usual way to do DOS programs). Now it runs and DOS sleeps.

-Michael

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to