
BIOS
BIOS, trong khoa h c máy tínhọ, là vi t t t c a ế ắ ủ Basic Input/Output System, nghĩa là
h th ng nh p/xu t c b nệ ố ậ ấ ơ ả . BIOS n m bên trong ằmáy tính cá nhân, trên bo m chạ
chính. BIOS đ c xem nh là ch ng trình đ c ch y đ u tiên khi máy tính kh iượ ư ươ ượ ạ ầ ở
đ ng. Ch c năng chính c a BIOS là chu n b cho máy tính đ các ch ng trìnhộ ứ ủ ẩ ị ể ươ
ph n m m đ c l u tr trên các ầ ề ượ ư ữ thi t b l u trế ị ư ữ (ch ng h n nh ẳ ạ ư c ngổ ứ , đĩa m mề
và đĩa CD) có th đ c n p, th c thi và đi u khi n máy tính. Quá trình này g i làể ượ ạ ự ề ể ọ
kh i đ ngở ộ .
Thu t ng này xu t hi n l n đ u trong h đi u hành ậ ữ ấ ệ ầ ầ ệ ề CP/M, là ph n CP/M đ cầ ượ
t i lên trong su t quá trình kh i đ ng, t ng tác tr c ti p v i ả ố ở ộ ươ ự ế ớ ph n c ngầ ứ (các máy
CP/M th ng có duy nh t m t trình kh i đ ng trong ườ ấ ộ ở ộ ROM). Các phiên b n n iả ổ
ti ng c a ế ủ DOS có m t t p tin g i là "IBMBIO.COM" hay "IO.SYS" có ch ng năngộ ậ ọ ứ
gi ng nh ố ư BIOS CP/M.
Tuy nhiên, thu t ng BIOS ngày nay ch m t ch ng trình ph n m m khác đ cậ ữ ỉ ộ ươ ầ ề ượ
ch a trong các chip có s n trên b n m ch chính nh PROM, EPROM và nó n mứ ẵ ả ạ ư ắ
gi các ch c năng chu n b cho máy đ ng th i tìm ra ữ ứ ẩ ị ồ ờ nhổ ớ cũng nh liên l c vàư ạ
giao s đi u hành máy l i cho ự ề ạ h đi u hànhệ ề .
V n hành c a BIOSậ ủ
BIOS đ c ch a s n (th ng d ng nén d li u) trong các con chip nh làượ ứ ẵ ườ ở ạ ữ ệ ư
PROM, EPROM hay b nh flashộ ớ c a bo m ch chính. Khi máy tính đ c m quaủ ạ ượ ở
công t c b t đi n hay khi đ c nh t nút ắ ậ ệ ượ ấ reset, thì BIOS đ c kh i đ ng và ch ngượ ở ộ ươ
trình này s ti n hành các th nghi m khám nghi m trên các điã, b nh , bo hình,ẽ ế ử ệ ệ ổ ộ ớ
các con chip có ch c năng riêng khác và các ph n c ng còn l i.ứ ầ ứ ạ
Thông th ng, BIOS t gi i nén vào trong ườ ự ả b nh chínhộ ớ c a máy tính và b t đ uủ ắ ầ
v n hành t đây. H u h t các l p đ t c a BIOS ngày nay có th th c thi cài đ t cácậ ừ ầ ế ắ ặ ủ ể ự ặ
ch ng trình giao di n ươ ệ CMOS. B ph n này (CMOS) là n i l u gi các d li u càiộ ậ ơ ư ữ ữ ệ
đ t chuyên bi t c a ng i dùng; nh th i gian, các đ c tính chi ti t c a đĩa, vi cặ ệ ủ ườ ư ờ ặ ế ủ ổ ệ
gán ch c năng kh i đ ng cho b đi u khi n (ứ ở ộ ộ ề ể controller) nào, hay ngay c m t mãả ậ
kh i đ ng máy, ... CMOS đ c truy c p b i BIOS.ở ộ ượ ậ ở
Đ i v i h ki n trúc ố ớ ệ ế 80x86, mã ngu n BIOS c a các máy PC và AT th i kỳ đ u đãồ ủ ờ ầ
có kèm B n tham chi u kĩ thu t IBMả ế ậ .
Trong h u h t các l p đ t c a BIOS ngày nay, ng i dùng có th l a ch n thi t bầ ế ắ ặ ủ ườ ể ự ọ ế ị
nào đ c kh i đ ng tr c: ượ ở ộ ướ CD, đĩa c ngứ, đĩa m mề, USBổ, hay các thi t b l u trế ị ư ữ
t ng thích. Th t c này đ c bi t h u ích cho vi c cài đ t các ươ ủ ụ ặ ệ ữ ệ ặ h đi u hànhệ ề hay
kh i đ ng t ở ộ ừ CD/DVD kh i đ ng đ cở ộ ượ hay USB kh i đ ng đ cổ ở ộ ượ và cho vi cệ
l a ch n th t c a vi c ki m tra s hi n h u c a các v t li u (ự ọ ứ ự ủ ệ ể ự ệ ữ ủ ậ ệ media) kh i đ ngở ộ
đ c.ượ
M t s BIOS cho phép ng i dùng l a ch n h đi u hành đ n p vào b nhộ ố ườ ự ọ ệ ề ể ạ ộ ớ
(th ng th y kh năng này trong các máy m i có ki n trúc 64-bit nh các h máyườ ấ ả ớ ế ư ệ

ch Itanium c a HP ch ng h n). M c dù v y, th ng th y h n, thì thao tác nàyủ ủ ẳ ạ ặ ậ ườ ấ ơ
đ c ti n hành b i giai đo n hai c a ượ ế ở ạ ủ b t i kh i đ ngộ ả ở ộ (boot loader).
BIOS và ch đ th c (ế ộ ự realmode)
Đ i v i các máy theo ki n trúc 8086, khi ố ớ ế CPU b t đ u ho t đ ng nó l p t c t càiắ ầ ạ ộ ậ ứ ự
đ t vào ặch đ th cế ộ ự và tìm đ n v trí c a đúng 16 byte trên đ nh c a Mega byte c aế ị ủ ỉ ủ ủ
ch đ th c t i đ a ch 0FFFF0h. Chính t i đ a ch này, m t l nh ế ộ ự ạ ị ỉ ạ ị ỉ ộ ệ jump s d n t iẽ ẫ ớ
n i mà mã BIOS đ c b t đ u thi hành.ơ ượ ắ ầ
BIOS nh là ph n s nư ầ ụ
ROM có BIOS
BIOS đôi khi đ c g i là ượ ọ ph n s nầ ụ vì nó là ph n tích h p trong m t h th ng ph nầ ợ ộ ệ ố ầ
c ng.Tr c năm 1990, BIOS đ c l u gi trong các con chip ứ ướ ượ ư ữ ROM và do đó không
th thay đ i (ngo i tr ph i có các thi t b đ c bi t đ đ i ph n m m cho con chipể ổ ạ ừ ả ế ị ặ ệ ể ổ ầ ề
BIOS). Do BIOS ngày càng ph c t p và nhu c u c p nh t tr nên ngày càng cao,ứ ạ ầ ậ ậ ở
ph n s n BIOS nay th ng đ c ch a trong ầ ụ ườ ượ ứ EEPROM hay trong b nh flashộ ớ để
ng i dùng có th c p nh t chúng d dàng h n (qua đĩa m m, USB, hay các CDườ ể ậ ậ ễ ơ ề ổ
kh i đ ng đ c). M c dù v y, n u công vi c c p nh t BIOS đ c ti n hành v iở ộ ượ ặ ậ ế ệ ậ ậ ượ ế ớ
sai sót ho c không đ c ti n hành trong th i gian đ dài thì có th d n đ n tìnhặ ượ ế ờ ủ ể ẫ ế
tr ng máy tính hay thi t b không s d ng đ c n a (do BIOS b h ng ho c khôngạ ế ị ử ụ ượ ữ ị ỏ ặ
t ng thích v i đòi h i m i c a h đi u hành). Đ tránh h ng hóc BIOS, m t sươ ớ ỏ ớ ủ ệ ề ể ỏ ộ ố
bo m ch chínhạ lo i m i có thêm ch c năng l u gi l i m t phiên b n BIOS cũ.ạ ớ ứ ư ữ ạ ộ ả
Ngoài ra, h u h t các BIOS còn có m t ầ ế ộ kh i kh i đ ngố ở ộ mà chúng là m t ph n c aộ ầ ủ
ROM đ c ch y tr c tiên và không th đ i m i đ c. Kh i mã này s ki mượ ạ ướ ể ổ ớ ượ ố ẽ ể
nghi m xem các ph n còn l i c a BIOS có còn ho t đ ng hay không (thông qua cácệ ầ ạ ủ ạ ộ
thao tác nh là ưchecksum, băm (hash),... v.v.) tr c khi th c thi chúng. N u kh iướ ự ế ố
kh i đ ng này tìm ra h ng hóc, thì nó th ng s t kh i đ ng t m m đ choở ộ ỏ ườ ẽ ự ở ộ ừ ổ ề ể
ng i dùng có th th đ i m i BIOS l i. Các nhà hãng s n xu t ph n c ng th ngườ ể ử ổ ớ ạ ả ấ ầ ứ ườ
xu t b n các c p nh t BIOS đ c i ti n s n ph m c a h và s a các tr c tr cấ ả ậ ậ ể ả ế ả ẩ ủ ọ ử ụ ặ
trong phiên b n cũ.ả
Ph n s n trong các b đi u h pầ ụ ộ ề ợ
M t máy tính có th có nhi u chip có ph n s n BIOS. BIOS c a bo m ch chínhộ ể ề ầ ụ ủ ạ
th ng ch ch a mã đ truy c p các thành ph n c b n c a ph n c ng nh ườ ỉ ứ ể ậ ầ ơ ả ủ ầ ứ ư bàn
phím, m mổ ề , các b đi u khi n ộ ề ể ATA (IDE), các giao di n nhân tính ệUSB (USB
human interface) và các thi t b l u tr . Thêm vào đó, các b đi u h p đ c c mế ị ư ữ ộ ề ợ ượ ắ
thêm vào máy, ch ng h n các lo i b đi u khi n ẳ ạ ạ ộ ề ể SCSI, RAID, NIC và các bo video,

th ng có BIOS c a riêng mình v i m c đích đ hoàn thi n hay đ thay th mãườ ủ ớ ụ ể ệ ể ế
c a h th ng BIOS cho chính các b ph n đó.ủ ệ ố ộ ậ
Trong nhi u tr ng h p, khi các thi t b đ c s d ng b i các b đi u h p c mề ườ ợ ế ị ượ ử ụ ở ộ ề ợ ắ
thêm và đ c tr c ti p tích h p trên bo m ch chính, thì ROM c m thêm có thượ ự ế ợ ạ ắ ể
cũng đ c l u tr nh là m t kh i mã riêng bi t trong con chip BIOS chính. Ph nượ ư ữ ư ộ ố ệ ầ
này có th đ c c p nh t m t cách riêng bi t tùy theo BIOS "c m thêm" (đôi khiể ượ ậ ậ ộ ệ ắ
còn đ c g i là "option ROM").ượ ọ
Các bo c m thêm th ng ch đòi h i có thêm BIOS n u chúng:ắ ườ ỉ ỏ ế
•C n đ c s d ng tr c khi có m t h đi u hành (nghĩa là chúng có thầ ượ ử ụ ướ ặ ệ ề ể
đ c dùng nh là m t ph n c a quá trình t i các ượ ư ộ ầ ủ ả kh i đ ng m iở ộ ồ (bootstrap)
c a h đi u hành (ch ng h n nh các cài đ t RAID cho c ng trên các bủ ệ ề ẳ ạ ư ặ ổ ứ ộ
đi u khi n ề ể RAID Array c n đ c ti n hành tr c khi cài đ t h đi u hành),ầ ượ ế ướ ặ ệ ề
và
•Không quá đ n gi n hay quá chung chung trong ho t đ ng. (Vì n u quá đ nơ ả ạ ộ ế ơ
gi n ho c quá chung chung thì có th ti n hành tr c ti p qua BIOS chính.)ả ặ ể ế ự ế
Các h đi u hànhệ ề cũ nh ưDOS, cũng nh các ưb t i kh i đ ngộ ả ở ộ , có th ti p t c sể ế ụ ử
d ng BIOS đ x lý vào ra d li u (thông qua các ng t BIOS (ụ ể ử ữ ệ ắ BIOS interrupt) mà
th ng th y nh t là ườ ấ ấ INT 13h). M c dù v y, h u h t các h đi u hành ngày nay sặ ậ ầ ế ệ ề ẽ
tr c ti p liên l c v i các thi t b ph n c ng b ng cách s d ng ự ế ạ ớ ế ị ầ ứ ằ ử ụ b đi u v nộ ề ậ
(device driver) c a chính các ph n c ng đó đ truy c p chúng. Đôi khi các BIOSủ ầ ứ ể ậ
c m thêm này cũng đ c g i b i các h đi u hành hi n đ i, nh m th c thi cácắ ượ ọ ở ệ ề ệ ạ ằ ự
thao tác đ c bi t ch ng h n vi c kh i t o cho các thi t b đó.ặ ệ ẳ ạ ệ ở ạ ế ị
Trong khi kh i đ ng, đ tìm ra đ a ch c a ROM m r ng đ c ánh x vào b nhở ộ ể ị ỉ ủ ở ộ ượ ạ ộ ớ
chính, các ki n t o c a PC BIOS s đ c quét b nh th c t đ a ch 0xC8000 đ nế ạ ủ ẽ ọ ộ ớ ự ừ ị ỉ ế
đ a ch 0xF0000, n i trong 2 gi i h n kilobyte đ tìm ra hai byte ch ký (ị ỉ ộ ớ ạ ể ữ signature
byte) có giá tr l n l t là 0x55 và 0xAA, n m ngay sau hai byte đó s là m t byteị ầ ượ ằ ẽ ộ
cho bi t s l ng c a các kh i 512 byte mà ROM m r ng chi m ch trong bế ố ượ ủ ố ở ộ ế ỗ ộ
nh th c.ớ ự
BIOS sau đó s th ng dùng l nh ẽ ườ ệ jump nh y t i offset (ả ớ kho ng cách/đ a ch t ngả ị ỉ ươ
đ iố) đ c ghi ngay sau byte ch a kích th c nói trên. T đây, các mã ROM mượ ứ ướ ừ ở
r ng s l y quy n đi u hành và g i các ộ ẽ ấ ề ề ọ d ch v BIOSị ụ đ cung c p m t giao di nể ấ ộ ệ
c u hình cho ng i dùng, đăng kí các vector ng t cho các ng d ng sau kh i đ ng,ấ ườ ắ ứ ụ ở ộ
hay hi n th thông tin khám nghi m.ể ị ệ
Đ c t BIOS Kh i đ ngặ ả ở ộ
N u ROM m r ng mu n thay đ i cách th c kh i đ ng h th ng (ch ng h n tế ở ộ ố ổ ứ ở ộ ệ ố ẳ ạ ừ
m t thi t b m ng hay t m t b đi u h p SCSI mà BIOS chính không có mã đi uộ ế ị ạ ừ ộ ộ ề ợ ề
v n), nó có th dùng ậ ể API c a Đ c t BIOS Kh i đ ng (ủ ặ ả ở ộ BIOS Boot Specification --
BBS) đ đăng kí kh năng này c a mình -- Trên các NIC, kh năng này th ngể ả ủ ả ườ
đ c g i là Th c gi c b ng LAN (ượ ọ ứ ấ ằ wake up on LAN) nghĩa là qua m t m nh l nhộ ệ ệ
truy n qua m ng, ta có th kh i đ ng m t máy tính có mã BIOS h tr ch c năngề ạ ể ở ộ ộ ỗ ợ ứ
này).

M t khi các ROM m r ng đã đăng kí dùng các API c a BBS, ng i dùng máy cóộ ở ộ ủ ườ
th l a ch n trong s các ch c năng thêm vào này đ kh i đ ng qua giao di n sể ự ọ ố ứ ể ở ộ ệ ử
d ng c a BIOS. Đây cũng là lý do t i sao các BIOS s không cho phép ng i dùngụ ủ ạ ẽ ườ
vào đ c giao di n s d ng c a BIOS cho t i khi t t c các ROM m r ng đãượ ệ ử ụ ủ ớ ấ ả ở ộ
hoàn t t vi c t th c thi và đăng ký ph n c a chúng v i API c a BBS.ấ ệ ự ự ầ ủ ớ ủ
Tăng và gi m ch c năngả ứ
Các h đi u hành cũ nh DOS dùng BIOS đ th c thi h u h t các thao tác xu tệ ề ư ể ự ầ ế ấ
nh p trên máy PC. V i s xu t hi n c a các h đi u hành m i h n nh Microsoftậ ớ ự ấ ệ ủ ệ ề ớ ơ ư
Windows, Linux, BIOS g n nh c b n ch dùng đ cung c p cài đ t kh i đ ngầ ư ơ ả ỉ ể ấ ặ ở ộ
ph n c ng và ầ ứ kh i đ ng m iở ộ ồ . M t khi đã ch y đ c, h đi u hành ít khi ph thu cộ ạ ượ ệ ề ụ ộ
vào BIOS.
Trong nh ng năm g n đây, nh các h th ng thi t k nh ữ ầ ờ ệ ố ế ế ư ACPI, BIOS nh n thêmậ
nhi u ch c năng ph c t p, ch ng h n các khía c nh c a qu n lý năng l ng, c mề ứ ứ ạ ẳ ạ ạ ủ ả ượ ắ
nóng (hotplug), qu n lý nhi t đ ... v.v. Đi u này d n t i đ i m i trách v c aả ệ ộ ề ẫ ớ ổ ớ ụ ủ
BIOS thông qua các nhà s n xu t h đi u hành, và đ ph c t p c a mã BIOS cũngả ấ ệ ề ộ ứ ạ ủ
tăng lên.

