home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / os / msdos / programm / 8954 < prev    next >
Encoding:
Internet Message Format  |  1992-09-01  |  1.8 KB

  1. Xref: sparky comp.os.msdos.programmer:8954 comp.os.msdos.misc:4989
  2. Newsgroups: comp.os.msdos.programmer,comp.os.msdos.misc
  3. Path: sparky!uunet!destroyer!sol.ctr.columbia.edu!eff!world!jkenton
  4. From: jkenton@world.std.com (Jeff Kenton)
  5. Subject: Re: Why ms-dos is non reentrant
  6. Message-ID: <Btwvtz.J7s@world.std.com>
  7. Organization: Kenton Systems Corporation, Weston MA
  8. References: <92245.122042A10742@TRMETU.BITNET> <bws.35@ccs.carleton.ca> <1992Sep1.160133.19060@mits.mdata.fi>
  9. Date: Tue, 1 Sep 1992 18:10:46 GMT
  10. Lines: 30
  11.  
  12. In article <1992Sep1.160133.19060@mits.mdata.fi> kennu@mits.mdata.fi (Kenneth Falck) writes:
  13. >
  14. >So, the question remains, why don't the Microsoft programmers bang
  15. >their brains together and rewrite MSDOS to be fully re-entrant and
  16. >all the routines to use dynamic memory allocation instead of static?
  17. >
  18. >If this really is so difficult for them, I must have understood
  19. >something wrong about this.
  20. >
  21.  
  22.  
  23. Because some of the data is naturally not sharable between routines
  24. which can interrupt each other.  Consider the FAT (allocation table)
  25. for a disk.  You don't want a routine to start allocating a new disk
  26. sector for a file, and have it interrupted by another routine which
  27. allocates the same sector.
  28.  
  29. Now, you can put software locks around critical data structures to
  30. avoid this, but it's a lot of work to add this to a system and it
  31. won't buy you much in DOS.  In a system that supports multi-processing,
  32. it's a requirement, and all such systems do it.  You won't find it
  33. added to DOS until it supports multi-processing.  That's what NT is
  34. all about (that, and real 32-bit software).
  35.  
  36.  
  37. -- 
  38. -------------------------------------------------------------------------
  39. =            Jeff Kenton    (617) 894-4508            =
  40. =                jkenton@world.std.com            =
  41. -------------------------------------------------------------------------
  42.