Gibuthy.com

Serving you through serving IT.

Shopping Product Reviews

Computer History – The Bootstrap

In previous articles in the History of the Computer series, we discussed machine codes, programs, and memories. We also mentioned that many types of memory are volatile, that is, if we remove power, the memory loses its data. So how did the data get on your computer right now? Is this like the Big Bang theory of the universe? Has it just appeared? If you’ve ever had to reload an operating system, in addition to all the other programs you use, you know that saving it to disk is not an easy task. After that, you have to save it to memory, every time you ‘boot’!

What do we understand by boot? My old instructor in my first computer engineering course called it a ‘bootstrap binary loader’. That is a clue! The term is said to have originated from fictional tales of a German character you may have heard of, Baron von Munchhausen.

His exploits were serialized in comic strips and the like, along with Dick Tracey, etc. A famous tale had him riding a cannonball and, deciding that it was not such a good idea, switch to an enemy cannonball going in the opposite direction, to return to his side.

The scandalous story that concerns us here refers to the moment when he fell into a swamp, but was able to save himself by pulling his hair. Later versions of this tale made him stand up on his own. This expression ‘getting up on your own’ was common at one time. It meant getting out of his own problems.

All of this doesn’t have much to do with computers, but it does describe how they start up!

Early digital computers were loaded with paper tape or punch cards, then magnetic tape, and then disk. You may know that before Windows there was DOS, which refers to a disk-based operating system.

In a central computer there is an operating system, which acts as an interface between the machine and the user. This operating system is known as ‘Exec’ (Executive) or ‘MCP’ (Master Control Program), etc. it depends on the proprietary computer system in use. (New hires were surprised to learn they had to ‘fire the executive every morning’ – high turnover of CEOs?). This is roughly equivalent to the Windows or Linux operating system on your PC.

The operating system handles all user input, allocates time slots and prioritizes jobs, controls print jobs, allocates mass storage, and more. When you talk to the computer, you only listen to what the operating system tells you! The operating system can speak to the computer in its own language. Therefore, the operating system must be able to load itself from disk or tape into memory.

To do this, we have a system whereby a block of data, known as a ‘boot block’, and located in the first block of a paper tape, or magnetic tape, or the address 00 on a disk, is read in memory for rent zero onwards. This ‘start command’ is usually a read instruction from address 00 on device 00.

The data, contained in the boot block, loads the buffer areas necessary to handle an I / O data transfer into the ‘reserved’ area of ​​memory, etc., ready for communication with the boot device, for For example, the disk containing the OS. Once all the necessary buffers have been configured, the computer reads and executes instructions from 00 onwards. These instructions, freshly loaded from the disk boot block, complete the installation process.

The last instruction in the boot block is a read command from disk to load the rest of the data for the operating system. This data overwrites the boot block data in memory with the normal data required to run the system. After the data is loaded, the operating system can start operations.

You must initialize all subsystems and check what resources are available. You need to know how much memory there is, what data is available in mass storage, what network resources are available, and so on. To do this, you can reference a previous setting, which you then compare to what you can see now. Alternatively, for a ‘clean’ boot, check what resources you have and work from there.

LEAVE A RESPONSE

Your email address will not be published. Required fields are marked *

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1