TIP: Click on subject to list as thread! ANSI
echo: os2
to: WILL HONEA
from: ROY J. TELLASON
date: 1998-05-01 11:58:00
subject: 1024 cylinder

Will Honea wrote in a message to Roy J. Tellason:
 WH> Roy J. Tellason wrote to Charles Gaefke on 04-29-1998
RT> I wonder why they decided that the initial loading had to 
RT> be done by the BIOS code?  There's probably a good reason 
RT> for that design choice,  but it's not apparent to me.
 WH> Some of us 'old timers' have some interesting tales re: 
 WH> bootstrap - which is what the initial startup really is. 
 WH> You have some limited amount of generic functionality built
 WH> into the machine.  In the case of the PC, that's the BIOS. 
 WH> It's barely smart enough to pick a device and read cylinder
 WH> (track) 0, head 0, sector 1 (which is the first sector but
 WH> they start that at 1 for some reason lost in the dim, dark
 WH> past). 
What's even more fun is how in some circumstances that "first sector" would 
be _physical_ sector 0,  but _logical_ sector 1...    
 WH> It knows just enough to read 512 bytes to a predefined location 
 WH> in memory, then transfer control to a specific location in that 
 WH> memory.  That's it - no more, no less.  Notice that there is no 
 WH> mention of a file or file system - just a raw read of a 
 WH> specific disk sector.  Now you have a small program in memory 
 WH> and IT knows just enough to locate the next bit of info to 
 WH> read.  It may even be smart enough to be able to find a file by 
 WH> name for a specific OS format, but that's it.  So you load a 
 WH> bit larger program which can do even more.  Pretty soon you 
 WH> have the OS in the system and you are off and running, but the 
 WH> initial steps depend on some non-volatile code segments that 
 WH> literally pulls the system up by it's bootstraps.
 WH> To date myself, the boot process on the first computer I ever 
 WH> got my hands on physically was an SDS4000 - all of 8k of 24 bit 
 WH> core memory, not bad.
My "first" was a Heathkit H11,  basically a PDP-11/03,  which we had 56k of 
ram in and that was all you could stuff in there.
 WH> It had reasonably smart channel controllers that could read a 
 WH> block of data from the start of a tape.  To boot, you set 24 
 WH> toggle switches to issue the channel command to read the first 
 WH> block of data when you stepped the computer, then you had to 
 WH> toggle in another instruction to make ther computer go to the 
 WH> proper address in that block to start the rest of the process 
 WH> that pulled that machine 'up by it's bootstraps'.  There was a 
 WH> similar setup on the first generally available micros, the old 
 WH> Altairs.
To get that H11 up you sat there at the (hard copy) console and typed in 20 
lines or so of a "boot loader",  and then told it to go to the address you'd 
specified,  at which point it would load in an "absolute loader" tape,  which 
you'd then use to load your BASIC tape (we're talking paper tape here!),  or 
whatever.
 WH> Computers suffer severe memory problems - they remember NOTHING 
 WH> when power goes off.  You have to re-educate them every time 
 WH> you power up.  This, BTW, ignores the case where the entire OS 
 WH> is in ROM and always ready to go (bet you never heard of OS/2 
 WH> on EPROMS, but it's there!).
Is it really?  I subscribe to Embedded Systems Programming (and moderate the 
fido EMBEDDED echo),  and have never run across any reference to it in there. 
One time during the years I've been getting that magazine,  the included some 
disks with it,  a set of 4 cdroms on "WinCE".  Unfortunately they're 
essentially a set of coasters as they neet NT to be up and running in order 
to read them!  Not that I was that interested anyhow,  but...
email: roy.j.tellason%tanstaaf@frackit.com 
--- 
---------------
* Origin: TANSTAAFL BBS 717-432-0764 (1:270/615)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.