Jump to content











Photo

The boot process: a step by step approach to booting.


  • Please log in to reply
259 replies to this topic

#251 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15060 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 01 March 2011 - 12:35 PM

Not really!


Ok, then you must avoid posting in a coded manner :white_flag:, if this:

But the thing is:

  • a file system contains a volume
  • a volume contains a root directory
  • a root directory contains directories, files and sub-directories

doesn't mean that "a file system contains a volume" and that "a volume contains a root directory" :cheers: there must be some serious communication problems :happy_dance2: .

With reference to the the image you linked to:
http://reboot.pro/13...133#entry123133
can you try turning it upside down and see how the order it is in is:
  • Hard disk
  • Disk driver
  • Partition Manager
  • Volume Manager
  • Filesystem
  • File management (Redfile/Writefile, etc)

And that the arrows to/from File Management are connected to filesystem and NOT to Volume manager?

Can we agree that "Filesystem" is BETWEEN "Volume manager" and "File management" and that consequently Filesystem DOES NOT contain volume(s) but rather DIRECTLY files and directories?

:worship:
Wonko

#252 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 01 March 2011 - 04:58 PM

Common guys, what to agree on? Isn't it obvious, such diagrams reflect the I/O process workflow rather than OS structure? File System primary task is to organize user data into a manageable file database. It associates file names with a group of physical disk sectors, where each file content is stored, while also allowing to control and manipulate such DB. It does NOT include other OS components depicted. OS packet requests are passed through the File System to other OS components.

Speaking of project management, this kind of project would benefit from using Agile Project Management model based on Iterative Development, reflecting currently very popular Concurrent Engineering models, allowing to keep shrinking product development cycles twice every 8-10 years.

To simplify in our case, each Milestone reflects a Map, where each branch is developed to about the same level of detail. At the beginning all initially planned branches are merely placeholders. At next milestone they all develop sub-branches that become placeholders instead. At next milestone all sub-branches develop to include daughter branches that become placeholders (black boxes). The process continues by spiral with all participants contributing concurrently in co-ordinated and controlled effort to accomplish project within given time and budget constrains. Branches dependencies are reviewed at each milestone. The project target scope & aimed for detail level & deliverables need be clearly identified to control the outcome. Proper work tools & flow & supporting infrastructure are "must have" components. :cheers: The idea is kind of stolen from Biology: Cell Replication occurs concurrently everywhere in the body, normally in a control fashion, thus delivering optimal body grows rate.

#253 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1568 posts
  •  
    American Samoa

Posted 01 March 2011 - 05:11 PM

Deleted.

#254 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 29 March 2011 - 07:37 AM

My apologies, folks, I got tied up for a minute.
I will be back in full swing by the end of the week (at least I hope!).

#255 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 27 May 2011 - 12:56 AM

Sorry folks, had quite a bit of work to do.
Resuming additions to map ...

#256 bobsobol

bobsobol

    Member

  • Members
  • 31 posts
  •  
    United Kingdom

Posted 30 May 2011 - 03:49 PM

I don't have time to read all the other posts. The "mind map" looks like a good way to organise your thoughts before filling in the detail of the initial post, and is already more complete.

Some thoughts I took right away from the first post:-

BIOS (it's death is snowballing) better to say "Firmware" since BIOS, EFI and OFW are all essentially Bootstrap code in a ROM. (More likely EEPROM, but that's not so important)

The purpose of the BIOS (Basic Input Output System) *was* to enable the ROM BASIC to interface with the Serial teletype, tape and optional floppy disk drive and associated IBM Disk Operating System. (DOS) It provided interrupt based APIs for accessing the Parallel communications port(s), serial port(s) keyboard and teletype / text only VDU (including it's "bell", usually implemented as a monotone "beeper") on an IBM XT Personal Computer.

It had no other functionality, and knew nothing about hard disks, USB, LAN etc. All of which where yet to be invented, or some even conceived when the BIOS and it's built in IBM BASIC A was created.

PC Clones implemented the BIOS, but (for copyright reasons) where not allowed to re-implement the BASIC, leaving plenty of room in the ROM for other code. And Microsoft, (who wrote, and owned IBM BASIC A) started shipping software versions of the firmware BASIC A as GW-BASIC in later DOS versions, especially for non-IBM OEM clone manufacturers.

All the other functions available in modern BIOS are outside the original specification, and definition by name. We still call modern PC firmware a BIOS for historical reasons only. It *is* now, primarily a bootstrap firmware and low level configuration utility.

A CMOS setup screen is completely alien to the very term "BIOS" in fact. Since XT PCs where usually configured (IRQs and DMA lines for Serial and Parallel ports etc.) via DIP switches or Jumpers. There was no CMOS.

In fact, the first IBM XT compatible "clone" I ever owned had an NVR, (Non-Volatile RAM, actually backed by a AA battery) and the OEM Microsoft DOS (version 3) which came with it included an NVR.COM tool which could be run from DOS in order to make those configurations... and this was highly praised as making this clone so much easier to work with than any other. B)

However, that only configured the NVR with boot code for a number of possible propitiatory "Rigid Disk" drives which where available as ISA cards, the Real Time Clock, and the initial colour and resolution for it's propitiatory "graphics adaptor". (true IBM PC XT cannot produce graphics, or colour)

The default (when ever the AA went flat) was bright yellow text on a black background at a resolution of 640 x 360 and 80 x 25 characters. That's how the A:> prompt looked, even without ANSI.SYS or any AUTOEXEC.BAT or CONFIG.SYS. Or the C:> prompt once you had plugged the hard disk card into the ISA slot, run the low-level format and partition from the NVR tool, rebooted from your DOS floppy run SYS C: and copied everything from A:\ to C:\.

The ATA standard, IDE and SCSI did not exist at the time. Most "Rigid Disk" devices where some form of miniaturisation of a Winchester Drive or TTL devices. (Large drums filled with plates which where inserted into a drive mechanism)

All the Parallel and Serial communication was still controlled with DIP switches.

Also...

The ordering of Bootstrap, Boot loader, BIOS, MBR, Boot Manager, Kernel etc are all completely wrong, (in relation to the boot process) and you can't explain what one does without referencing the functions provided by previous one. So it's well worth getting those in the right order.

The MBR it's self is not part of any standard except MS DOS partitioning, and is *gone* in many modern OS. How Drives are partitioned is not formally standardised. So OS like BeOS, Vista/Win7, Mac OS-X and others can use MBR partitioning, or another form. More native to their own internal operation.

It is not "standard" to partition devices. As far as DOS was concerned, C:\ was a device, not a partition, and corruptions of the "BIOS" made partitioning possible as ATA and SCSI standards became popular. Any true BIOS, following IBMs original specification to any extent, will only read the "boot sector", and run it.

All that *is* standard is 512 bytes (more is common, but *not* standard) read from the first sector of the first reboot persistent memory device registered. (whether that is an 8" 120K single sided single density floppy or a 2TB solid state device) The location in memory to which it is loaded, and the address the instruction pointer is jumped to in order to execute it. (But *some* OEMs have to buck even that. lol)

And... I had to look up what the heck a UFD was. The answer I got was "an overloaded acronym".

Edited by bobsobol, 30 May 2011 - 04:12 PM.


#257 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 30 May 2011 - 06:13 PM

OK Bob, we need to take this slowly and make the changes necessary.
It would be good if you could read the discussion, we went back and forth on the file system and its functions. I'd like to get your input on it. But we'll resume that later.

The "map" in itself should be free standing and not require a reading of the whole thread. The items you mentioned above are not yet included. When you get a chance to read the thread, you'll see that is was planned. While we're at it, we might as well...
I will make the edits this week.
Please provide references and documentation.

Thank you for your input! :thumbsup:

#258 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 30 May 2011 - 07:07 PM

...
The default (when ever the AA went flat) was bright yellow text on a black background at a resolution of 640 x 360 and 80 x 25 characters. That's how the A:> prompt looked, even without ANSI.SYS or any AUTOEXEC.BAT or CONFIG.SYS. Or the C:> prompt once you had plugged the hard disk card into the ISA slot, run the low-level format and partition from the NVR tool, rebooted from your DOS floppy run SYS C: and copied everything from A:\ to C:\.

That reminds me of my Tandy 1000 PC HX. :thumbsup:

#259 LeMOGO

LeMOGO

    Frequent Member

  • Advanced user
  • 240 posts
  •  
    United States

Posted 31 May 2011 - 12:56 PM

Man! You guys are old!
I could not afford the Tandys being a student, but I can remember the pride of programming basic on Commodores 64 as part of one of my electives (but I'm not old :cheers:). The school was just as proud of being part of the "information age" :thumbsup: because they had just come out.
By the way, there is a new C64 with 1080p, DVD, ...
Should be fun to look at.

#260 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 15060 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 31 May 2011 - 01:07 PM

Man! You guys are old!

More than you think:
http://reboot.pro/11841/page__st__5
http://reboot.pro/2955/

and :thumbsup::
http://www.911cd.net...ic=21702&st=122

Why, in my day...

http://reboot.pro/1908/

...and we LIKED it!

:cheers:
Wonko




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users