How BIOS Works

1.Introduction to How BIOS Works

One of the most common uses of Flash memory is for the basic input/output system of your computer, commonly known as the BIOS (pronounced "bye-ose"). On virtually every computer available, the BIOS makes sure all the other chips, hard drives, ports and CPU function together.

Every desktop and laptop computer in common use today contains a microprocessor as its central processing unit. The microprocessor is the hardware component. To get its work done, the microprocessor executes a set of instructions known as software (see How Microprocessors Work for details). You are probably very familiar with two different types of software:

The operating system - The operating system provides a set of services for the applications running on your computer, and it also provides the fundamental user interface for your computer. Windows 98 and Linux are examples of operating systems. (See How Operating Systems Work for lots of details.) The applications - Applications are pieces of software that are programmed to perform specific tasks. On your computer right now you probably have a browser application, a word processing application, an e-mail application and so on. You can also buy new applications and install them.

Learn More
Bios Quiz
Computer Memory
Curiosity Project: Can you compare computer processing to thinking?

­It turns out that the BIOS is the third type of software your computer needs to operate successfully. In this article, you'll learn all about BIOS -- what it does, how to configure it and what to do if your BIOS needs updating.

 

2.What BIOS Does

The BIOS software has a number of different roles, but its most important role is to load the operating system. When you turn on your computer and the microprocessor tries to execute its first instruction, it has to get that instruction from somewhere. It cannot get it from the operating system because the operating system is located on a hard disk, and the microprocessor cannot get to it without some instructions that tell it how. The BIOS provides those instructions. Some of the other common tasks that the BIOS performs include:

A power-on self-test (POST) for all of the different hardware components in the system to make sure everything is working properly

Activating other BIOS chips on different cards installed in the computer - For example, SCSI and graphics cards often have their own BIOS chips.

Providing a set of low-level routines that the operating system uses to interface to different hardware devices - It is these routines that give the BIOS its name. They manage things like the keyboard, the screen, and the serial and parallel ports, especially when the computer is booting.

Managing a collection of settings for the hard disks, clock, etc.
c6606251e49e437a43a75b12.jpg
BIOS uses Flash memory, a type of ROM.

The BIOS is special software that interfaces the major hardware components of your computer with the operating system. It is usually stored on a Flash memory chip on the motherboard, but sometimes the chip is another type of ROM.

When you turn on your computer, the BIOS does several things. This is its usual sequence:

Check the CMOS Setup for custom settings Load the interrupt handlers and device drivers Initialize registers and power management Perform the power-on self-test (POST) Display system settings Determine which devices are bootable Initiate the bootstrap sequence

The first thing the BIOS does is check the information stored in a tiny (64 bytes) amount of RAM located on a complementary metal oxide semiconductor (CMOS) chip. The CMOS Setup provides detailed information particular to your system and can be altered as your system changes. The BIOS uses this information to modify or supplement its default programming as needed. We will talk more about these settings later.

Interrupt handlers are small pieces of software that act as translators between the hardware components and the operating system. For example, when you press a key on your keyboard, the signal is sent to the keyboard interrupt handler, which tells the CPU what it is and passes it on to the operating system. The device drivers are other pieces of software that identify the base hardware components such as keyboard, mouse, hard drive and floppy drive. Since the BIOS is constantly intercepting signals to and from the hardware, it is usually copied, or shadowed, into RAM to run faster

 

3.Booting the Computer

Whenever you turn on your computer, the first thing you see is the BIOS software doing its thing. On many machines, the BIOS displays text describing things like the amount of memory installed in your computer, the type of hard disk and so on. It turns out that, during this boot sequence, the BIOS is doing a remarkable amount of work to get your computer ready to run. This section briefly describes some of those activities for a typical PC.

After checking the CMOS Setup and loading the interrupt handlers, the BIOS determines whether the video card is operational. Most video cards have a miniature BIOS of their own that initializes the memory and graphics processor on the card. If they do not, there is usually video driver information on another ROM on the motherboard that the BIOS can load.

Next, the BIOS checks to see if this is a cold boot or a reboot. It does this by checking the value at memory address 0000:0472. A value of 1234h indicates a reboot, and the BIOS skips the rest of POST. Anything else is considered a cold boot.

If it is a cold boot, the BIOS verifies RAM by performing a read/write test of each memory address. It checks the PS/2 ports or USB ports for a keyboard and a mouse. It looks for a peripheral component interconnect (PCI) bus and, if it finds one, checks all the PCI cards. If the BIOS finds any errors during the POST, it will notify you by a series of beeps or a text message displayed on the screen. An error at this point is almost always a hardware problem.

The BIOS then displays some details about your system. This typically includes information about:

The processorThe floppy drive and hard driveMemoryBIOS revision and date Display

b25af324af8a956dc9955912.jpg
This is the message you receive if a disk is in the drive when you restart your computer.

 

Any special drivers, such as the ones for small computer system interface (SCSI) adapters, are loaded from the adapter, and the BIOS displays the information. The BIOS then looks at the sequence of storage devices identified as boot devices in the CMOS Setup. "Boot" is short for "bootstrap," as in the old phrase, "Lift yourself up by your bootstraps." Boot refers to the process of launching the operating system. The BIOS will try to initiate the boot sequence from the first device. If the BIOS does not find a device, it will try the next device in the list. If it does not find the proper files on a device, the startup process will halt. If you have ever left a disk  when you restarted your computer, you have probably seen this message.

The BIOS has tried to boot the computer off of the disk left in the drive. Since it did not find the correct system files, it could not continue. Of course, this is an easy fix. Simply pop out the disk and press a key to continue.

4.Configuring BIOS

In the previous list, you saw that the BIOS checks the CMOS Setup for custom settings. Here's what you do to change those settings.

To enter the CMOS Setup, you must press a certain key or combination of keys during the initial startup sequence. Most systems use "Esc," "Del," "F1," "F2," "Ctrl-Esc" or "Ctrl-Alt-Esc" to enter setup. There is usually a line of text at the bottom of the display that tells you "Press ___ to Enter Setup."

Once you have entered setup, you will see a set of text screens with a number of options. Some of these are standard, while others vary according to the BIOS manufacturer. Common options include:

System Time/Date - Set the system time and date Boot Sequence - The order that BIOS will try to load the operating system Plug and Play - A standard for auto-detecting connected devices; should be set to "Yes" if your computer and operating system both support it Mouse/Keyboard - "Enable Num Lock," "Enable the Keyboard," "Auto-Detect Mouse"... Drive Configuration - Configure hard drives, CD-ROM and floppy drives Memory - Direct the BIOS to shadow to a specific memory address Security - Set a password for accessing the computer Power Management - Select whether to use power management, as well as set the amount of time for standby and suspendExit - Save your changes, discard your changes or restore default settings

7156908130275586bd3e1e12.jpg
CMOS Setup

Be very careful when making changes to setup. Incorrect settings may keep your computer from booting. When you are finished with your changes, you should choose "Save Changes" and exit. The BIOS will then restart your computer so that the new settings take effect.

The BIOS uses CMOS technology to save any changes made to the computer's settings. With this technology, a small lithium or Ni-Cad battery can supply enough power to keep the data for years. In fact, some of the newer chips have a 10-year, tiny lithium battery built right into the CMOS chip!

 

5.Updating Your BIOS

Occasionally, a computer will need to have its BIOS updated. This is especially true of older machines. As new devices and standards arise, the BIOS needs to change in order to understand the new hardware. Since the BIOS is stored in some form of ROM, changing it is a bit harder than upgrading most other types of software.

To change the BIOS itself, you'll probably need a special program from the computer or BIOS manufacturer. Look at the BIOS revision and date information displayed on system startup or check with your computer manufacturer to find out what type of BIOS you have. Then go to the BIOS manufacturer's Web site to see if an upgrade is available. Download the upgrade and the utility program needed to install it. Sometimes the utility and update are combined in a single file to download. Copy the program, along with the BIOS update, onto a floppy disk. Restart your computer with the floppy disk in the drive, and the program erases the old BIOS and writes the new one. You can find a BIOS Wizard that will check your BIOS at BIOS Upgrades.

Major BIOS manufacturers include:

American Megatrends Inc. (AMI)Phoenix TechnologiesALiWinbond

As with changes to the CMOS Setup, be careful when upgrading your BIOS. Make sure you are upgrading to a version that is compatible with your computer system. Otherwise, you could corrupt the BIOS, which means you won't be able to boot your computer. If in doubt, check with your computer manufacturer to be sure you need to upgrade.

For more information on BIOS and related topics, check out the links on the next page.

6.Lots More Information

Related HowStuffWorks Articles

Bios Quiz
How Flash Memory Works
Computer Memory Quiz
How Computer Memory Works
How PCs WorkHow Bits and Bytes Work

How Microprocessors Work
How Hard Disks Work

How Operating Systems WorkHow Electronic Gates Work

How Boolean Logic Works

Why does my computer have a battery?

What is the difference between CMOS and CCD image sensors?

More Great Links

Webopedia: BIOS

PC Guide: System BIOS

Kingston's Ultimate Memory Guide

A Brief History of Microprogramming

Wim's BIOS

American Megatrends (AMI)

Phoenix Technologies

ALi

Winbond


 

阅读全文
类别:Bios 查看评论

转载于:https://www.cnblogs.com/kuwoyidai/archive/2011/06/12/2105619.html

来源:http://www.cnblogs.com/kuwoyidai/archive/2011/06/12/2105619.html


智能推荐

How Tomcat works 6: Lifecycle

概述     Catalina由许多组件组成,当容器启动时,这些组件都需要启动。当容器停止时,所有组件都需要做清除动作。如:调用所有servlet的detroy动作,session manager把session对象存入第二存储位置。启动和停止组件的持续性机制就是实现Lifecycle接口的实现类。     Lifecycle接口的实现组...

How Tomcat Works 15: Digester

一、概述     前面章节中,使用hard-code来管理各component间的从属关系,如果需要改变则需要重新编译Bootstrap类。幸运的是tomcat设计者采用了更优雅的方法来管理配置,即XML文件server.xml. 这样我们只需要修改server.xml文件就可以设置tomcat。如:<context docBase='myApp' path="...

How Tomcat works 10: Security

    1. 概述:     WebApp的资源的访问限制可以通过web.xml文件来支撑。Servlet容器可以通过叫做Authenticator valve类来支持。Authenticator valve会调用context's realms的authenticate方法校验user     2. Rea...

How cc Works 中文译文

Chromium 的工程师们写了两篇技术文章 [How Blink Works]1 和 How cc Works,分别介绍了 Chrome 浏览器内核内部的两个重要模块 Blink 和 cc 内部设计和实现的一些细节。对于想要了解 Chromium 内核内部实现的同学,这两篇文章提供了不错的入门指引。在征得作者同意后,我将其翻译成中文,以馈读者。 文中部分术语觉得难以翻译成合适的中文的,我会保留原...

How Blink Works 中文译文

Chromium 的工程师们写了两篇技术文章 How Blink Works 和 How cc Works,分别介绍了 Chrome 浏览器内核内部的两个重要模块 Blink 和 cc 内部设计和实现的一些细节。对于想要了解 Chrome 内核内部实现的同学,这两篇文章提供了不错的入门指引。在征得作者同意后,我将其翻译成中文,以馈读者。 文中部分术语觉得难以翻译成合适的中文的,我会保留原文。对于一...

猜你喜欢

How E-Commerce works

做了半个晚上的PPT和程序,打算英语演讲的时候录个视频滴,可惜出了些小插曲讲得时间远超了老师规定的7分钟内嘿嘿。本来此视频适合无聊的、伤心的、想学习的……最终只完成了2/5,但老师还是爽快地给了个历史记录A+,这是我犹豫之后继续发此文章的勇气了看来。 视频地址: http://t.cn/8k7EAEY 因为内容没讲完,不过有部分内容是以前已经写过的,可以看看:http:...

How the backpropagation algorithm works

http://neuralnetworksanddeeplearning.com/chap2.html 接上一篇的最后,我们要训练多层网络的时候,最后关键的部分就是求梯度啦。纯数学方法几乎是不可能的,那么反向传播算法就是用来求梯度的,用了一个很巧妙的方法。  反向传播算法应该是神经网络最基本最需要弄懂的方法了,要是反向传播方法不懂,后面基本上进行不下去。  非常推荐的是How ...

How transaction copying control works

Maintain copying control settings in below IMG activity Usually, copying control can dertermine the list of transaction types which can be created as follow-up, but for activity (task and appointment)...

How back-Propagation works

In order to minimize the cost function, we expect small changes in weights lead to samll changes in output. So we can use this property to modify weights to make network getting closer to what we want...

原型对象,原型链

函数都有prototype属性,它指向原型对象。 实例对象有__proto__属性,它指向对象原型 每一个原型对象都有constructor输赢,指向构造函数,每一个原型对象又具有__proto__属性,这个指向Object.prototype.在这里插入图片描述...

问答精选

Correctly formatting GCM notifications?

I'm currently trying out the google cloud messaging service with its sample application "Guestbook." https://developers.google.com/cloud/samples/mbs/ I'm attempting to send notifications tha...

Are there any performance benefits of using Asynchronous functions over Synchronous in Node Js?

Now I came across an article that distinguishes between an Asynchronous function and Synchronous functions. From my understanding of the different examples and explanations, synchronous functions are ...

Python: Costing calculator output

Good day all I'm busy creating a small costing calculator for the signage department. I'm not getting the calculator to output the amount. Brief Description: You enter the height and width and then wh...

Flask-SQLAlchemy - model has no attribute 'foreign_keys'

I have 3 models created with Flask-SQLalchemy: User, Role, UserRole role.py: user.py: user_role.py: If I try (in the console) to get all users via User.query.all() I get AttributeError: 'NoneType' obj...

Seeding many PRNGs, then having to seed them again, what is a good quality approach?

I have many particles that follow an stochastic process in parallel. For each particle, there is a PRNG associated to it. The simulation must go through many repetitions to get average results. For ea...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答