바이오스

위키백과 ― 우리 모두의 백과사전.

(BIOS에서 넘어옴)
ROM with BIOS

바이오스(BIOS; Basic Input/Output System)는 넓은 의미로 컴퓨터에 탑재된 프로그램 중에서 하드웨어와 가장 낮은 수준에서 입출력을 담당하는 프로그램을 가리킨다. 좁은 의미의 정의에선 IBM-PC 호환 기종에 탑재된 것을 말하며, 보통 이 뜻으로 쓰인다.

바이오스는 컴퓨터에서 하드웨어와 소프트웨어의 중간 형태를 가지는 펌웨어의 일종으로, 대부분 소프트웨어가 하드웨어를 제어하고 하드웨어에 의해 변경되거나 생성된 정보를 소프트웨어에서 처리할 수 있도록 전달하는 등 인간의 신경망과 같은 기능을 수행한다.

바이오스를 저장하는 매체로 초기에는 롬(ROM)이라는 기록 매체가 주로 사용되었으나 정보화의 발전 속도가 증가되고 새로운 기기나 매체의 발매 주기가 짧아짐에 따라 2000년대에 들어서면서부터 현재의 플래시 메모리가 바이오스의 주된 저장 매체로 쓰이기 시작했다. 하지만 플래시 메모리를 이용한 편리함은 1990년대 후반에 바이오스를 손상시키는 바이러스의 등장으로 수많은 컴퓨터를 무력화시키는 사태를 겪게 하기도 했다.

이전까지 바이오스는 롬(ROM)에 담겨져 컴퓨터에 미리 맞춰진 형태로 제공되었다. 롬 라이터라고 불리는 기록 장치가 없이는 바이오스의 내용을 바꿀 수 없는 것이 보통이었다. 그러나 1990년대로 들어서면서 바이오스의 저장매체로 기존의 마스크롬이나 EPROM이 아닌 플래시 메모리를 사용한 제품이 일반화되었는데, 이것으로 예상치 못했던 문제점을 해결하거나 새로운 장치나 기기를 지원하기 위해 별도의 기록 장치 없이 바이오스를 탑재한 기기에서 자체적으로 바이오스의 내용을 비교적 간단하게 바꿀 수 있게 되었다. 그러나 바이오스의 내용을 갱신할 때 정전 등을 비롯하여 예기치 못한 상황에서 기록 내용이 제대로 쓰여지지 못하면, 그 컴퓨터는 시동조차 할 수 없게 되어 버린다. 바이오스는 컴퓨터의 하드웨어소프트웨어를 이어주는 신경망과 같은 프로그램으로 그 내용이 손상되면 흔히 말하는 CMOS의 설정을 다시 할 수도 없다. 이렇게 손상된 바이오스를 복구하는 방법은 바이오스가 탑재된 롬을 교환하거나, 롬에 기록된 자료를 다시 기록하는 방법밖에 없다.

이전에는 응용 소프트웨어가 주변 기기를 제어할 때 입출력 포트를 직접 만질 것 없이 바이오스가 제공하는 서브루틴을 불러 제어가 이루어지고 있었다. 그러나 최근에는 이 역할을 운영 체제가 대신 수행하여 응용 프로그램은 바이오스를 사용하지 않고, 반드시 운영 체제가 준비한 시스템 요청 등을 거쳐 바이오스가 제공하는 기능을 사용하게 되었다. 바이오스 기능을 사용하지 않는 운영체제도 많아서, 바이오스는 운영체제를 시동하기 위한 기능만 제공하고 있다고도 할 수 있다.

[편집] BIOS 외의 펌웨어의 실행

BIOS (=메인보드의 펌웨어) 는 컴퓨터의 기본적인 하드웨어 장치들 - 키보드, 플로피 디스크, 하드디스크 - 에 접근해서 제어할 수 있다, 하지만 BIOS 는 여러가지 제약사항이 있기 때문에 SCSI, NIC, 비디오 등 일부 플러그인 어댑터들의 경우 독자적인 펌웨어를 장치에 포함해서 BIOS 대신 장치용 펌웨어가 해당 장치의 제어를 하도록 한다. 이렇게 BIOS 에서 호출하는 펌웨어를 Option ROM 이라고 부른다.

어댑터 카드의 펌웨어를 부팅과정에서 실행하기 위해 BIOS 는 POST 과정 중에 메모리를 검사해서 실행할 펌웨어를 찾는다. 0xC0000h ~ 0xF0000h 의 메모리 영역을 2K 바이트 단위로 나누어서 각각의 첫 2바이트를 읽는데, 만약 2바이트의 값이 0xAA55h 일 경우 실행해야 하는 펌웨어 이므로 4번째 바이트로 점프를 해서 펌웨어의 코드를 실행한다.

[편집] 함께 보기