BIOS
BIOS, trong khoa h c máy tính, vi t t t c a ế Basic Input/Output System, nghĩa
h th ng nh p/xu t c b n ơ . BIOS n m bên trong máy tính nhân, trên bo m ch
chính. BIOS đ c xem nh 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 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
đĩa CD) th đ c n p, th c thi đi u khi n máy tính. Quá trình này g i ượ
kh i đ ng .
Thu t ng này xu t hi n l n đ u trong h đi u hành CP/M, 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 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 m t t p tin g i "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 s n trên b n m ch chính nh PROM, EPROM 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 ư
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 ượ ườ ư
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 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
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 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 ượ 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 ki n trúc 64-bit nh các h máyườ ế ư
ch Itanium c a HP ch ng h n). M c 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 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 ph n s nư
ROM có BIOS
BIOS đôi khi đ c g iượ 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 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 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 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ì 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 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 m t ế kh i kh i đ ng chúng m t ph n c a
ROM đ c ch y tr c tiên không th đ i m i đ c. Kh i 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 ư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ì 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 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 th nhi u chip ph n s n BIOS. BIOS c a bo m ch chính
th ng ch ch a đ 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) 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 ườ ế
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 đ c tr c ti p tích h p trên bo m ch chính, thì ROM c m thêm thượ ế
cũng đ c l u tr nh m t kh i riêng bi t trong con chip BIOS chính. Ph nượ ư ư
này 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 m t h đi u hành (nghĩa chúng th ượ ướ
đ c dùng nh 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), ượ ế ướ
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 nh ưDOS, cũng nh các ưb t i kh i đ ng , th ti p t c s ế
d ng BIOS đ x vào ra d li u (thông qua các ng t BIOS ( BIOS interrupt)
th ng th y nh t ườ INT 13h). M c 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 ( signature
byte) giá tr l n l t 0x55 0xAA, n m ngay sau hai byte đó s m t byte ượ
cho bi t s l ng c a các kh i 512 byte 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 ROM mượ ướ
r ng s l y quy n đi u hành 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 BIOS chính không có đi u ế
v n), th dùng API c a Đ c t BIOS Kh i đ ng ( BIOS Boot Specification --
BBS) đ đăng kh năng này c a mình -- Trên các NIC, kh năng này th ng ườ
đ c g i Th c gi c b ng LAN (ượ wake up on LAN) nghĩa qua m t m nh l nh
truy n qua m ng, ta th kh i đ ng m t máy tính BIOS h tr ch c năng
này).
M t khi các ROM m r ng đã đăng dùng các API c a BBS, ng i dùng máy ườ
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ũngdo 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 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 năng l ng, c m ượ
nóng (hotplug), qu n 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, đ ph c t p c a BIOS cũng
tăng lên.