Hi Geraldo,

> while we can't push any much modern idea would
> be possible to implement a thread facility in FD
> kernel using protothread http://www.sics.se/~adam/pt/ ?
> it would allow many interesting things
> or at least, we could use on FD install to
> unzip packages in parallel?

For unzipping in the background in the installer,
it would be easier to make the installer itself
use multithreading, not the kernel. As far as I
remember, the installer already does the unzip
itself, so it does not call unzip exe for this.

The kernel does not normally wait a lot for things,
but of course it would be interesting to be able
to let several DOS apps use the kernel at the same
time. However, that would be more multitasking than
multithreading. The tricky topic is "reentrancy":

While the kernel works for program X, if program Y
calls it, the status of the work in progress must
not be in the way. But in DOS, it must be, because
the interface of DOS is designed that way, I think.

The only thing that you can do is swapping the SDA
(swappable data area) to save / restore state when
Y wants to interrupt and use the kernel for a moment
while normally the kernel would be busy with work
for program X at that moment.

Anyway - multithreading inside one program, for
example the installer which would also unzip data
in the background - is easy if you have a library
and compiler for it. The only DOS thing you have
to do is make sure that no two threads use any DOS
services at the same time, but for that, you can
put all kernel access into a piece of your code
which takes care of this exclusive access check.


Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
Freedos-user mailing list

Reply via email to