delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/11/03/14:00:20

From: group <group AT fake DOT com>
Newsgroups: comp.os.msdos.djgpp
Subject: Coding Challenge
Date: Sun, 02 Nov 1997 18:03:34 -0500
Organization: NetUnlimited, Inc.
Lines: 59
Message-ID: <345D06C6.D67@fake.com>
NNTP-Posting-Host: uhura-15.netunlimited.net
Mime-Version: 1.0
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

A Challenge to all DJGPPers:

    For quite some time we have had LWP and its addition like JTLWP and
 PDMLWP to provide multithreading within a single executable. Although
these
 libs provide for multithreading with in an exec. there is no facility
for
 handling command line multitasking of more than one executable in
traditional
 Unix style.

 The Challenge: 
    
    Write a taskmanager for DOS/DJGPP.

    ( hereafter I will refer to the taskmanager as djmtask )

 Specifications:
 
     1) djmtask would server the djgpp community in general and 
        would be GLP. djmtask would be made for the community by
        the community. One version of djmtask could be chosen
        by community consensus as the standard we could all use.

     2) djmtask would act like a secondary kernal. once started 
        from the dos command line djmtask would, start Protected
        mode, take over command line reading and be responsible
        for starting all other executables thereafter.

     3) djmtask command line interface should conform to standard
        linux/unix properities as follows
          a) "program.exe &" starts process in background
          b) "pid.exe " lists processes and their id #s
          c) ALT key plus F1-F10 key switches between 10 virtual
             command line terminals.
          d) programs may call djmtask to start a completely new
             process. Note: this does not start a new "thread"
             Threads are still handled internally by the exec.
             using LWP or an altered version thereof.
          e) "kill #" ends process id #

     4) General properties and reasonable limitations;
         djmtask may work with non-reentrant lib code 
         in any way found most useful/stable.
         Disabling multiprocessing during BIOS etc. non-reentrant
functions,
         using only co-operative yielding etc..

     5) Extras
          Provide for a common data area, ie. clipboard
          Provide for a common graphics environment by sharing *screen
pointer.


         This is a community project as much as a challenge so working
in groups
         could be beneficial.
 
                 GOOD LUCK !

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019