Mail Archives: djgpp/1997/05/09/06:02:20
I have downloaded LWP (the pre-emptive multitasking library for DJGPP), and
wrote a couple of simple example programs with it to try it out. It seems a very
interesting library, but I have a few questions:
1. What exactly is the difference between pre-emptive and co-operative
multitasking, and why is pre-emptive described as being kuhl whilst co-operative
is bleh (in the documentation)?
2. Is there a way to allocate different priorities to certain tasks so that
functions which need a lot of processor time get a higher priority than
functions which don't need much? Is this where co-operative multitasking comes
in?
3. Is it possible to 'nest' tasks, so that, for example, you could spawn
sub-procedures from tasks, or would they still all get equal priority.
4. As it is not possible to pass values to, or recieve values from, task
procedures in the normal way, what is the 'usual' way of passing data to and
from them? ie. do you have to use lots of global variables, or is there a
'better' way.
5. What are re-entrant and non re-entrant, and how is it possible to ensure my
functions are re-entrant?
6. Are there any plans to convert LWP into a normal library (like libc.a and
liballeg.a) or do I always have to link lwp.o and lwpasm.o in with my programs?
7. Are there any plans to convert libc.a to re-entrant code, so that the
modified header files are not needed?
I apologise if this is a long list of questions, but the LWP documentation is
not very comprehensive as of yet. Thanks in advance for your help.
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Alex Holden- Electronics student, computer |
| programmer, caver, and Land Rover nut! |
| http://www.geocities.com/CapeCanaveral/Lab/1532/ |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
---------------------------------------------------------
Get Your *Web-Based* Free Email at http://www.hotmail.com
---------------------------------------------------------
- Raw text -