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. Eric ------------------------------------------------------------------------------ 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. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ Freedos-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-user
