home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,207 of 4,255   
   Salvador Mirzo to Dan Cross   
   Re: PC BIOS (was [OSDev] How to switch t   
   08 Mar 25 14:24:19   
   
   From: smirzo@example.com   
      
   cross@spitfire.i.gajendra.net (Dan Cross) writes:   
      
   > [Note: Followup-To: alt.os.development]   
   >   
   > In article <87v7ssi2ec.fsf@example.com>,   
   > Salvador Mirzo   wrote:   
   >>scott@slp53.sl.home (Scott Lurndal) writes:   
   >>> "Paul Edwards"  writes:   
   >>>>Do you consider the concept of a BIOS (as seen as the IBM PC),   
   >>>>"legitimate to use"   
   >>>   
   >>> In the abstract, possibly.  But the last half century has   
   >>> shown that BIOS as an I/O abstraction layer was a bad idea   
   >>> from the start.   
   >>   
   >>Would you elaborate or point out an article or book that could clarify   
   >>the ideas that have made you to make such remark?  Sounds interesting.   
   >   
   > This isn't really on-topic for comp.lang.c, so I'm cross-posting   
   > to alt.os.development and setting Followup-To: to redirect   
   > there.   
      
   Cross-post obeyed.   
      
   > The thing about the "BIOS" is that it is the product of a   
   > specific context in computer history.  Early PCs were all   
   > weirdly idiosyncratic, so Kildall created it to provide an   
   > abstraction layer for CP/M, isolating relatively portable parts   
   > from the machine specific bits.   
   >   
   > But this had an interesting side effect that was also related to   
   > the historical context.  Early PCs were mostly built around   
   > microcontroller CPUs and were seriously RAM constrained; the   
   > original IBM PC shipped with something like 128KiB of RAM.  A   
   > useful property of the BIOS, as an abstraction layer between   
   > the OS and the hardware, was that it could be be moved into ROM,   
   > thus freeing up precious RAM resources for actual programs.   
   >   
   > But it was always sort of a lowest-common denominator   
   > implementation, tailored to the needs of a specific operating   
   > system (first CP/M, then the various incarnations of DOS in the   
   > IBM PC), so it runs in 16-bit mode and so on.  As such makes a   
   > poor basis for IO in more advanced operating systems, which   
   > generally want to be in charge of how IO is handled and what   
   > state an IO device is in themselves.  Such systems provide   
   > drivers that are redundant with whatever services the BIOS   
   > provides, but better suited to their uses, so the BIOS confers   
   > no real benefit for them.   
   >   
   > I don't know that there are many books/articles/whatever that   
   > discuss this in detail, but folks who build real systems run   
   > into BIOS limitations pretty quickly. In particular, once you   
   > want to start doing things like multiplexing concurrent IO   
   > operations across devices, the whole synchronous BIOS model   
   > breaks down.   
      
   But Scott Lurndal said it was a bad idea and, from what you say, it   
   seems like a not-so-bad idea.  It could be stored in ROM, leaving up RAM   
   for the OS and the users; it hid machine-specific details from the OS,   
   creating an abstraction.  And I believe the BIOS doesn't stop the OS   
   from talking directly to the machine, so it's not an obstacle either.   
   What am I missing?   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca