OpenDOS in multi-thread application 
Author Message
 OpenDOS in multi-thread application

We are developing a real-time multi-threaded application, and for that we have
been trying to build an environment, which would support preemptive thread
switching in protected mode.

Currently we are doing some experiments with OpenDOS (previously known as
Novell DOS 7.0). One of the first problems we have encountered is the limited
number of threads, namely we can create just a little more than 200 threads,
but we would need more in our application.

The maximal number of threads that can exist in the system appears to be
connected with the size of GDT, since descriptors are being allocated to
threads directly from GDT. In the present configuration OpenDOS creates GDT
with 512 entries. We suppose that this is the reason why we can not create
more than 200+ threads at a time.

Could anyone tell us the following:

- Is the 512 descriptors in GDT a principal limitation of this OS, or can it
be modified?

- What is the absolute maximal number of threads that can exist at a time?

- If the GDT size can be changed, then can we increase the number of entries
ourselves, or we need to get the sources and recompile the OS?

- Any ideas as to what else could be done to increase the maximal number of
threads?

I would also be thankful to learn about any experience with OpenDOS in
real-time applications, specially the performance issues.

Any help would be appreciated.

Gints Linis
University of Latvia



Sat, 28 Aug 1999 03:00:00 GMT  
 OpenDOS in multi-thread application



:We are developing a real-time multi-threaded application, and for that we
:have  been trying to build an environment, which would support preemptive
:thread  switching in protected mode.

:Currently we are doing some experiments with OpenDOS (previously known as
: Novell DOS 7.0). One of the first problems we have encountered is the
:limited  number of threads, namely we can create just a little more than
:200 threads,  but we would need more in our application.

I do not have experience with OpenDOS, but I do have years of experience
with applications which run hundreds to thousand of concurrent threads,
and my initial reaction is that you would not be happy with either the
control over, or the performance of that many threads which are tied
directly to the GDT and managed by the operating system as peers to the
system threads.

I would suggest that you design your application such that it has only a
few such threads, one of which is a local task dispatcher. You can still
use the Intel defined Task State Segments -- which are unlimited in number
and can be anywhere in memory.

Best,
        -- Chuck Crayne
-----------------------------------------------------------

-----------------------------------------------------------



Mon, 30 Aug 1999 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. DEVELOPING MULTI-THREADED COBOL APPLICATIONS (REFORMATED TEXT)

2. DEVELOPING MULTI-THREADED COBOL APPLICATIONS

3. share a variable in a multi threading application

4. embedding python in a multi-threaded C++ application

5. ANN: Profiler for multi-threaded applications

6. Embed python interpreter in multi-threaded c++ application

7. Multi-threaded / multi-processor CL ?

8. Multi-threading on Multi-CPU machines

9. How to develop multi dll and multi dictionary application

10. GNAT on OpenDOS ?

11. g77 msdos 6.22 and opendos 7.02

12. User Interface single or multi threaded

 

 
Powered by phpBB® Forum Software