Things you should know about before moving ahead (You just have to understand the basic definitions):
BIOS
BIOS stands for Basic Input/Output System. The BIOS is the firmware in the ROM (read only memory) of a PC. When the computer is turned on, the BIOS is the first program that runs. All other programs must be loaded into RAM first. The task of a BIOS is to test and initialize the hardware and then it loads the bootloader or the operating system. The BIOS does the following:
- POST (Power On Self Test).
- It provides you with a START UP menu where you can set certain parameters and lets you adjust the real time clock. Most modern BIOS versions let you set the boot order. The boot order is the order in which the bios checks for the devices which may contain the bootloader.For example If the first device in the boot order is USB and if you have a bootable pen-drive in your USB slot of your computer then it boots using the USB. If there was no USB then it will check the next device which can be hard disk.
- The boot sector loader loads the first 512-byte sector from the boot disk into RAM and jumps to it (i.e. executes the program that was just loaded by it in the RAM).
- The BIOS interrupts. These are simple device drivers that programs can use to access the screen, the keyboard and disks. Boot loaders rely on them, most operating systems do not (the Linux kernel does not use BIOS interrupts once it has been started). MSDOS does use BIOS interrupts.
- The first sector of a diskette can be loaded at address 0000:7C00. The last two bytes of the sector are checked for the values 0x55 and 0xAA. If these are OK, the BIOS jumps to the address 0000:7C00.
- Booting from a hard disk is very similar to booting from a diskette. The first sector of a hard disk (often called the Master Boot Record) is loaded at 0000:7C00 and next the BIOS jumps to it. The MBR program must move itself to an address that is different from 0000:7C00 as it is supposed to load a different boot sector from a partition to address 0000:7C00 and jump to that.
- Modern BIOS versions can treat a certain file on a CD-ROM as a diskette image. They pretend to boot from a diskette by loading the first 512 bytes of the file to 0000:7C00 and jumping to it. Every attempt to access the same diskette using the BIOS routines, will be redirected to the image file on CD-ROM. Some other ways to boot a CD-ROM may also be supported (with an emulated hard disk or with no disk emulation at all).
The bootloader loads the operating system in the ram and gives control to the OS(jumps to OS execution).
Also read about the following:
- GRUB
- Flat binary format: (just google it)
- ELF(extended leaf format) : (just google it)
- A20 lines
- Real mode
- Protected mode
No comments:
Post a Comment