[HN Gopher] A blast from the past: Disassembling DOS (2020)
       ___________________________________________________________________
        
       A blast from the past: Disassembling DOS (2020)
        
       Author : userbinator
       Score  : 74 points
       Date   : 2024-07-03 03:16 UTC (4 days ago)
        
 (HTM) web link (www.softwarelitigationconsulting.com)
 (TXT) w3m dump (www.softwarelitigationconsulting.com)
        
       | navjack27 wrote:
       | Why does this have so many layout errors or typographical errors
       | or something going on? There are just a lot of repeated
       | paragraphs or sentences for seemingly no reason.
        
         | trollbridge wrote:
         | This is from a book that was formerly intended for print only.
         | From the bottom of the page:
         | 
         | "[Many thanks to Samuel Okei from Texas Tech Univ. for his
         | skilled conversion and reformatting of what was a complex
         | 25-year-old file with obscure and obsolete typesetting codes,
         | into HTML.]"
        
           | unixhero wrote:
           | Probably troff o nroff
           | 
           | No tan dificil hombre
        
             | anthk wrote:
             | Groff no es dificil, pero (g)eqn/pic/tbl... si ;)
        
       | msla wrote:
       | > The "what" part is difficult to answer, except to note that DOS
       | is in many ways what textbooks on operating systems call a
       | microkernel. DOS provides a small bare minimum of services, on
       | top of which other, more sophisticated, services can be built.
       | 
       | I think I heard Tanenbaum twitch.
        
         | userbinator wrote:
         | I think DOS is closer to a "library OS" or unikernel.
         | 
         | https://en.m.wikipedia.org/wiki/Unikernel
         | 
         |  _OS virtualization can overcome some of these drawbacks on
         | commodity hardware._
         | 
         | ...and that 's exactly what Windows/386 and later did.
        
           | anthk wrote:
           | DOS is basically a wrapper around the BIOS.
        
             | rnd0 wrote:
             | Functionally (not conceptually) like UEFI, kinda?
        
       | dfox wrote:
       | I always wondered how it is possible that MSCDEX is not an actual
       | driver but mere TSR and now I know: CDs look like network shares
       | to DOS. I suspect that there is some reasoning behind this
       | "design" (different filename conventions on ISO-9660?), but it
       | stills seems like one giant kludge.
        
         | trollbridge wrote:
         | Starting with DOS 3.0, the way to do installable file systems
         | was identical to adding a network drive. (DOS 4.0 had explicit
         | IFSes; nobody used them to my knowledge and it chewed up RAM,
         | and the code was removed in 5.0.)
         | 
         | A "network redirector" basically hooks every possible file I/O
         | operation; DOS simply dispatches to it for any operations on
         | that drive letter.
        
         | bonzini wrote:
         | DOS only supports two kinds of device drivers: character
         | devices and block devices. It does not have any kind of support
         | for custom file system device drivers, as block device drivers
         | will only use FAT. So in order to support ISO9660, sectors that
         | aren't 512 bytes, device sizes larger than 32MB (65536 * 512),
         | the device driver (for example ATAPI.SYS) is actually a dummy
         | character device and MSCDEX talks to it to expose the
         | filesystem as a network drive.
        
           | userbinator wrote:
           | Alternatively, the abstraction of a network drive just
           | happens to be the right one for local filesystem drivers too.
           | There's some more interesting details on the redirector API
           | development here: http://www.os2museum.com/wp/redirectors-
           | and-dos-3-0/
        
           | lproven wrote:
           | > It does not have any kind of support for custom file system
           | device drivers
           | 
           | This was true of MS-DOS 1.x and 2.x but not subsequently.
           | 
           | The IFS layer was added in MS-DOS 3.1:
           | 
           | http://www.bitsavers.org/pdf/microsoft/_MSDOS_releases.txt
           | 
           | Although Wikipedia claims MS-DOS 4:
           | 
           | https://en.wikipedia.org/wiki/Installable_File_System
        
       | ForOldHack wrote:
       | This is some brilliant interpretation. Wish he would take a look
       | at both the origin of task switching and the Xenix boot loader.
        
       | fourthark wrote:
       | I saw Schulman present how he discovered the dirty tricks
       | Microsoft used to hobble Windows betas on DR-DOS, using similar
       | techniques. This was at Ralph Nader's Appraising Microsoft
       | conference in 1997.
       | 
       | It's covered in another of his books, Undocumented Windows.
       | 
       | Impressive work, and very brave at the time.
        
         | lproven wrote:
         | This was called the AARD code:
         | 
         | https://en.wikipedia.org/wiki/AARD_code
         | 
         | And it was Geoff Chappell, not Andew Shulman. Shulman helped
         | write it up for publication.
         | 
         | https://www.geoffchappell.com/notes/windows/archive/aard/ind...
        
       ___________________________________________________________________
       (page generated 2024-07-07 23:02 UTC)