맨위로가기

바이오스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

BIOS(Basic Input/Output System, 기본 입출력 시스템)는 컴퓨터 하드웨어와 운영 체제 사이에서 하위 수준의 인터페이스 역할을 하는 펌웨어이다. 1975년 게리 킬달이 CP/M 운영 체제에서 처음 사용했으며, 컴퓨터 부팅 과정에서 하드웨어를 초기화하고 제어하는 역할을 수행한다. BIOS는 ROM, EEPROM, 플래시 메모리 등 다양한 저장 매체에 저장되며, 플래시 메모리 사용이 일반화되면서 업데이트가 용이해졌다. 초기에는 AwardBIOS, AMIBIOS와 같은 외국 기업의 BIOS가 주로 사용되었으나, 1990년대 후반부터 한국산 PC 보급과 함께 사용자들은 BIOS 설정을 통해 컴퓨터 성능을 조절하는 데 익숙해졌다. BIOS는 POST(Power On Self Test) 과정을 통해 하드웨어를 검사하고 초기화하며, 운영 체제에 하위 수준 서비스를 제공한다. 현대 운영 체제에서는 BIOS 인터럽트 호출이 부팅 및 초기 로딩 중에만 사용되며, 이후에는 장치 드라이버가 하드웨어 관리를 수행한다. BIOS 설정 유틸리티를 통해 하드웨어 구성, 부팅 순서, 암호 설정 등을 변경할 수 있으며, 듀얼 BIOS와 같은 기술을 통해 BIOS 손상으로부터 복구할 수 있다. UEFI(Unified Extensible Firmware Interface)는 BIOS를 대체하는 차세대 펌웨어로, x86 및 ARM 플랫폼에서 사용되며, 레거시 BIOS 지원은 점차 사라지는 추세이다.

더 읽어볼만한 페이지

  • 펌웨어 - 마이크로코드
    마이크로코드는 CPU 내에서 기본적인 연산을 수행하는 저수준 명령어 집합으로, 하드웨어와 소프트웨어 사이의 간극을 메우고, 복잡한 기계어 명령을 단순한 하드웨어 수준의 동작으로 분해하여 실행하며, 컴퓨터 아키텍처의 유연성을 높이고 오류 수정 및 기능 개선을 용이하게 한다.
  • 펌웨어 - 롬 이미지
    ROM 이미지는 비디오 게임 카트리지나 아케이드 게임 기판에서 데이터를 추출하여 생성된 파일로, 덤핑 과정을 통해 만들어지며 에뮬레이터, 임베디드 시스템 개발, 디지털 보존 등에 활용된다.
  • 바이오스 - 아메리칸 메가트렌즈
    아메리칸 메가트렌즈(AMI)는 1985년에 설립된 회사로, BIOS 펌웨어, 서버용 마더보드, 스토리지 컨트롤러 등을 공급하며, 현재는 AMIBIOS, Aptio, AMIDiag 등 다양한 제품을 제공한다.
  • 바이오스 - 부트 섹터
    부트 섹터는 시스템 부팅 코드를 담은 저장 매체의 특정 영역으로, 볼륨 부트 레코드(VBR)와 마스터 부트 레코드(MBR)로 나뉘며, BIOS는 이를 실행하고 UEFI는 부트로더를 직접 로드하지만 바이러스 공격에 취약하다.
  • 표시 이름과 문서 제목이 같은 위키공용분류 - 라우토카
    라우토카는 피지 비치레부섬 서부에 위치한 피지에서 두 번째로 큰 도시이자 서부 지방의 행정 중심지로, 사탕수수 산업이 발달하여 "설탕 도시"로 알려져 있으며, 인도에서 온 계약 노동자들의 거주와 미 해군 기지 건설의 역사를 가지고 있고, 피지 산업 생산의 상당 부분을 담당하는 주요 기관들이 위치해 있다.
  • 표시 이름과 문서 제목이 같은 위키공용분류 - 코코넛
    코코넛은 코코넛 야자나무의 열매로 식용 및 유지로 사용되며, 조리되지 않은 과육은 100g당 354kcal의 열량을 내는 다양한 영양 성분으로 구성되어 있고, 코코넛 파우더의 식이섬유는 대부분 불용성 식이섬유인 셀룰로오스이며, 태국 일부 지역에서는 코코넛 수확에 훈련된 원숭이를 이용하는 동물 학대 문제가 있다.
바이오스
기본 정보
유형펌웨어
기능하드웨어 초기화 및 운영 체제 런타임 서비스 제공
개발 시작1981년
후속UEFI
역사
최초 개발IBM (독점 소프트웨어)
표준화이후 업계 표준으로 확립
BIOS 부트 규격1996년 Compaq, Phoenix Technologies, Intel에 의해 작성
기술적 세부 사항
설명IBM PC 호환 컴퓨터에서 발견되는 BIOS 표준
주요 기능하드웨어 초기화
운영 체제 로드
런타임 서비스 제공
대체 기술UEFI (최신 대체 기술)
호환성 모듈UEFI 호환성 지원 모듈(CSM)을 통해 레거시 BIOS 기능 에뮬레이션 가능
관련 규격
BIOS 부트 규격Compaq, Phoenix Technologies, Intel 공동 작성 (1996년)
EFI 호환성 지원 모듈 규격Intel 주도 (revision 0.97)
참고 사항
레거시 부트 지원 중단Intel 플랫폼에서 레거시 부트 지원 중단 추세
윈도우 IoT 엔터프라이즈 최소 시스템 요구 사항UEFI 필요
관련 링크
외부 링크리눅스 내부 부팅 관련 자료
통합 확장 펌웨어 인터페이스(UEFI) - Intel
UEFI - OSDev.org
EFI 호환성 지원 모듈 규격
인텔 플랫폼의 레거시 부트 지원 제거 기술 자문
Windows IoT Enterprise용 최소 시스템 요구 사항

2. 역사

BIOS(Basic Input/Output System)라는 용어는 게리 킬달이 1975년 CP/M 운영 체제에서 처음 사용했다. CP/M에서 BIOS는 하드웨어와 직접 연결되는, 부팅 시간에 불러들여지는 기기 특화된 부분이었다.

MS-DOS, PC DOS, DR-DOS 등에는 "IO.SYS", "IBMBIO.COM", IBMBIO.SYS, DRBIOS.SYS와 같은 "DOS BIOS" 파일이 포함되어 있었는데, 이는 CP/M의 BIOS와 유사하게 운영 체제의 하위 수준 하드웨어 관련 부분을 담당했다.

원래 IBM PC의 독점이었던 BIOS는 피닉스 테크놀로지와 같은 회사들에 의해 역설계되어 호환 시스템이 만들어졌다. IBM은 PS/2 기계를 출시하면서 시스템 BIOS를 실제 모드(CBIOS)와 보호 모드(ABIOS)로 나누기도 했다.[7]

초기 BIOS는 ROM에 저장되었으나, 1990년대 이후 플래시 메모리가 사용되면서 업데이트가 용이해졌다. 그러나 이는 1990년대 후반 CIH 바이러스와 같은 바이오스 손상 바이러스가 등장하여 컴퓨터를 무력화시키는 문제를 야기하기도 했다.

2010년부터는 BIOS의 기술적 한계를 극복하기 위해 UEFI로의 전환이 시작되었다.[58] 현재 대부분의 PC는 UEFI를 사용한다.[59]

2. 1. 한국에서의 BIOS

1980년대 말부터 1990년대 초, 삼보컴퓨터 등 한국 기업들이 PC를 생산하면서 BIOS라는 용어가 대중에게 알려지기 시작했다. 초기에는 주로 Award Software나 AMI와 같은 외국 기업의 BIOS가 사용되었다. 1990년대 후반, 한국산 PC의 보급이 확대되면서, 사용자들은 바이오스 설정을 통해 컴퓨터 성능을 조절하는 것에 익숙해졌다.

CIH 바이러스(체르노빌 바이러스)는 1999년 4월 26일, 대한민국을 포함한 전 세계 컴퓨터를 강타하여 큰 피해를 입혔다. 이 사건은 바이오스 보안의 중요성을 일깨우는 계기가 되었다.[9]

3. 저장 매체

바이오스를 저장하는 매체로 초기에는 이 주로 사용되었으나, 정보화의 발전 속도가 증가하고 새로운 기기나 매체의 발매 주기가 짧아짐에 따라 현재는 플래시 메모리가 주된 저장 매체로 쓰이기 시작했다. 하지만 플래시 메모리를 이용한 편리함은 1990년대 후반에 바이오스를 손상시키는 바이러스의 등장으로 수많은 컴퓨터를 무력화시키는 사태를 겪기도 했다. 대표적인 예로 CIH 바이러스를 들 수 있다. (다만 이 바이러스는 윈도 NT 계열 이후의 운영 체제에서는 동작하지 않으므로 현대에는 큰 문제로 여겨지지 않는다.)

아메리칸 메가트렌드(American Megatrends) BIOS 686. 플라스틱 리드 칩 캐리어(PLCC) 패키지에 봉입된 BIOS 칩이 소켓에 삽입되어 있다.


초대 IBM PC에서 BIOS (및 카세트 베이직)는 마스크 ROM 칩에 저장되어 마더보드 소켓에 삽입되었다. ROM은 교체가 가능했지만 사용자가 다시 쓰기는 불가능했다. 업데이트를 가능하게 하기 위해 호환기 제조사는 EEPROM과 후에는 플래시 메모리(주로 NOR 플래시) 등의 재프로그래밍 가능한 장치를 채용하게 되었다.

BIOS 제조 회사 마이크로 펌웨어(Micro Firmware) 사의 로버트 브레이버 사장에 따르면 '''플래시 BIOS''' 칩은 1995년경부터 주류가 되었는데, 이는 자외선으로 소거하는 PROM보다 저렴하고 취급이 용이해졌기 때문이다. EPROM은 다시 쓰기 위해 마더보드에서 제거해야 하는 반면, 플래시 메모리는 기판에 장착된 채로 재프로그래밍이 가능하다.

4. 제어

BIOS는 POST(Power On Self Test) 과정에서 어댑터 카드의 펌웨어를 실행하기 위해 메모리를 검사한다.[60] 0xC0000h부터 0xF0000h까지의 메모리 영역을 2KiB 단위로 나누어 각 부분의 처음 2바이트를 확인한다. 이 값이 0xAA55h이면 실행해야 하는 펌웨어로 간주하고, 4번째 바이트로 이동하여 펌웨어 코드를 실행한다.

과거에는 응용 소프트웨어가 주변 기기를 제어할 때 바이오스가 제공하는 서브루틴을 호출하여 포트를 직접 조작하지 않고도 제어가 가능했다. 그러나 최근에는 운영 체제가 이 역할을 대신 수행하며, 응용 프로그램은 바이오스를 직접 사용하지 않고 운영 체제가 제공하는 API를 통해 바이오스의 기능을 사용한다.[60]

하드웨어 접근은 주로 입출력 레지스터 조작을 통해 이루어지지만, 하드웨어 종류에 따라 동작 방식과 배치가 다르다. 또한 읽고 쓰는 타이밍과 순서에도 차이가 있다. 이러한 이유로 하드웨어 종류별로 서브루틴을 준비하는 것이 효율적이며, 이것이 BIOS의 역할이다. ISA나 PCI 같은 보드의 ROM에는 BIOS 프로그램이 있으며, 이는 메모리에 로드되어 애플리케이션에서 사용된다. 마더보드의 BIOS를 '''System BIOS'''(시스템 BIOS), 확장 카드의 BIOS를 '''확장 BIOS'''라고 구분하기도 한다.

같은 종류의 하드웨어라도 조작 방법이 다를 수 있다. 이를 위해 BIOS 호출 인터페이스는 공통화되어 있으며, 애플리케이션은 BIOS 서비스를 호출하여 여러 장치에 대응할 수 있다. 이러한 공통 인터페이스를 애플리케이션 바이너리 인터페이스 (ABI)라고 한다.

예를 들어, PC/AT 호환기의 VGA BIOS (Video BIOS)는 공통화된 ABI를 호출하여 하드웨어 차이를 고려하지 않고 문자나 이미지를 표시할 수 있게 한다. 이는 비디오 카드의 ROM에 탑재된 확장 BIOS이다. 하드 디스크, 플로피 디스크, 키보드 등 다양한 입출력 처리를 담당하는 BIOS도 있지만, 이러한 기본적인 BIOS는 System BIOS이며 마더보드의 ROM에 탑재된다.

하지만 위 내용은 OS가 싱글 태스크형인 경우에 유효하며, 멀티태스크 OS에서는 장치 드라이버가 이 처리를 수행한다. 특히 재진입을 고려하지 않은 BIOS[60]도 있어, 각 애플리케이션이 비동기적으로 BIOS를 호출하면 OS는 하드웨어 리소스 관리에 어려움을 겪는다. 따라서 하드웨어 관리는 장치 드라이버가 일괄적으로 수행하며, 애플리케이션은 OS의 시스템 콜을 사용한다.

BIOS를 꼭 호출해야 하는 경우에는 전용 시스템 콜을 사용할 수 있지만, 해당 하드웨어가 OS에 의해 보호되는 경우에는 작동하지 않을 수 있다.

임베디드 시스템에서는 하드웨어 종류가 적어 BIOS와 같은 중간 계층 인터페이스를 갖지 않는 경우가 많으며, 이를 펌웨어라고 부른다. 마더보드 상의 BIOS는 POST가 완료되면 대부분의 버전에서 옵션 ROM 모듈(BIOS 확장 ROM)을 찾아 실행한다.

BIOS는 "상위 메모리 영역"(x86 리얼 모드에서는 0xA0000 이상의 주소 공간)을 스캔하여 발견된 ROM의 코드를 순차적으로 실행한다. ISA 카드 상의 ROM을 찾을 때, BIOS는 0x0C0000부터 0x0F0000까지의 공간을 2 KiB 단위로 스캔하여 "0x55""0xAA"라는 연속된 2바이트의 ''시그니처''를 찾는다. 이를 통해 ROM 프로그램의 진입점을 파악하고, 첫 512바이트 블록의 체크섬을 계산하여 ROM의 체크섬과 일치하면 해당 진입 주소로 제어를 넘긴다. 그러면 BIOS 확장 ROM은 확장 기능 초기화 루틴을 실행한다.

이때 확장 ROM은 실행을 넘겨받아 대상 하드웨어의 테스트 및 초기화, 부팅 후 애플리케이션에서 사용하는 인터럽트 벡터 등록 등을 수행한다. 확장 ROM은 사용자 설정 인터페이스(진단 정보 표시 등)나 필요한 동작을 위해 BIOS 및 이전에 로드된 BIOS 확장 ROM의 서비스를 이용할 수 있다.

옵션 ROM은 초기화 프로세스가 완료되면 BIOS로 제어를 반환한다. 제어를 반환받은 BIOS는 추가 옵션 ROM이 있는지 메모리 공간 끝까지 탐색하고, 발견된 순서대로 호출하는 과정을 반복한다.

5. BIOS 외의 펌웨어 실행

BIOS는 컴퓨터의 기본적인 하드웨어 장치(키보드, 플로피 디스크, 하드디스크)에 접근하고 제어할 수 있다. 그러나 일부 플러그인 어댑터(SCSI, NIC, 비디오 카드 등)는 BIOS 대신 독자적인 펌웨어를 장치에 포함시켜 해당 장치를 제어하는데, 이를 옵션 롬이라고 부른다.[9]

주변 장치 카드(예: 하드 디스크 드라이브 호스트 버스 어댑터, 비디오 카드)는 자체 펌웨어를 가지며, BIOS 확장 옵션 롬 코드는 확장 카드 펌웨어의 일부일 수 있다. 이 코드는 BIOS에 추가 기능을 제공하며, BIOS가 대용량 저장 장치에서 운영 체제를 부팅하기 전에 실행된다. 확장 ROM은 하드웨어를 테스트 및 초기화하고, 새로운 BIOS 서비스를 추가하거나 기존 서비스를 대체한다. 예를 들어, SCSI 컨트롤러에는 일반적으로 해당 컨트롤러를 통해 연결된 하드 드라이브를 지원하는 BIOS 확장 ROM이 있다.[10] 확장 ROM은 운영 체제를 포함하거나 네트워크 부팅과 같은 다른 부팅 프로세스를 구현할 수도 있다. IBM 호환 컴퓨터 시스템은 BIOS 확장 ROM을 포함하는 어댑터 카드(또는 ROM 칩)를 제거/삽입하여 작동을 변경할 수 있다.[11]

마더보드 BIOS는 통합 디스플레이 및 스토리지를 초기화하고 부트스트랩하는 코드를 포함한다. 플러그인 어댑터 카드(SCSI, RAID, 네트워크 인터페이스 카드, 비디오 카드 등)는 자체 BIOS(예: 비디오 BIOS)를 포함하여 시스템 BIOS 코드를 보완하거나 대체할 수 있다. 마더보드에 내장된 장치도 이 방식으로 작동할 수 있으며, 해당 option ROM은 마더보드 BIOS의 일부일 수 있다.

애드인 카드가 마더보드 BIOS에서 지원되지 않고 운영 체제를 로드하기 전에 초기화되거나 BIOS 서비스를 통해 접근해야 하는 경우(일반적으로 부팅 프로세스에 필요한 경우) option ROM이 필요하다. 초기 PC 시스템(특히 IBM PCjr)에서 ROM은 주 시스템 RAM보다 빨랐다. (현대 시스템에서는 BIOS ROM 코드가 RAM에 복사("섀도잉")되어 더 빠르게 실행된다.)

칩을 교체하여 업데이트된 Dell 310의 BIOS 칩


옵션 ROM은 일반적으로 어댑터 카드에 위치한다. 초기 PC와 PC XT에는 옵션 ROM을 삽입할 수 있는 마더보드에 여분의 ROM 소켓이 있었고, BASIC 인터프리터를 포함하는 4개의 ROM을 사용자 지정 ROM으로 교체할 수도 있었다. IBM PCjr은 전면에 두 개의 ROM 카트리지 슬롯이 있는 것이 독특했다. 이 슬롯의 카트리지는 옵션 ROM에 사용되는 상위 메모리 영역의 동일한 영역에 매핑되며, 카트리지는 BIOS가 인식하는 옵션 ROM 모듈을 포함할 수 있었다.

IBM PC 및 AT 호환기에서 하드 디스크나 비디오 카드는 BIOS를 확장하여 추가 기능을 제공하는 옵션 ROM을 탑재했다. 확장 부분의 프로그램은 OS가 보조 기억 장치에서 읽혀지기 전에 실행된다. 이들 프로그램은 하드웨어 테스트 및 초기화를 수행하고, BIOS에 새로운 서비스를 제공하거나 기존 서비스를 덮어쓴다.

예를 들어 SCSI 컨트롤러는 연결된 드라이브에 접근하는 BIOS를 제공하며, 비디오 카드에서는 마더보드에 탑재된 BIOS의 비디오 카드 기능을 대체한다.

BIOS 확장 ROM은 PC 전체를 제어할 수 있으며, 호출측 BIOS에 제어권을 반환하지 않을 수도 있다. 원리적으로 OS 또는 애플리케이션을 통째로 탑재하거나, 네트워크에서 부팅하는 것과 같은 다른 부팅 프로세스를 만들 수도 있다. IBM PC 호환기에서는 BIOS 확장 ROM을 탑재한 어댑터 카드를 탈착하여 동작을 완전히 다른 것으로 변경할 수 있다.

마더보드의 시스템 BIOS는 부팅에 필요한 장치(키보드, 디스플레이, 저장 장치 등)의 코드를 내장하고 있다. 어댑터 카드(SCSI, RAID, 네트워크 인터페이스 카드, 비디오 보드 등)는 자체 BIOS를 탑재하여 시스템 BIOS를 대체한다. 마더보드에 내장된 온보드 장치도 마찬가지이며, 이러한 ROM은 BIOS의 플래시 메모리 상에서 별개 코드로 되어 있어 시스템 BIOS와 동시에 또는 별도로 업그레이드할 수 있다.

어댑터 카드가 부팅에 필수적이고 시스템 BIOS가 이를 지원하지 않는 경우, 옵션 ROM이 필요하다. 옵션 ROM이 있으면 스토리지 드라이버 없이 부팅 도중에 장치에 접근할 수 있게 되며, RAM이나 하드 디스크를 점유할 필요도 없고, 장치와 드라이버가 세트로 되어 있어 설치가 필요 없다는 장점도 있다.

마더보드 상의 BIOS는 POST 완료 후 옵션 ROM 모듈(BIOS 확장 ROM)을 찾아 실행한다. BIOS는 "상위 메모리 영역" 공간(x86 리얼 모드에서 0xA0000 이상)을 스캔하여 발견된 ROM의 코드를 순차적으로 실행한다. ISA 카드 상의 ROM을 찾을 경우, BIOS는 0x0C0000 부터 0x0F0000 의 공간을 2 KiB 마다 스캔하여 "0x55""0xAA"라는 연속된 2바이트 ''시그니처''를 찾아 ROM 프로그램의 진입점을 파악하고, 선두 512바이트 블록의 체크섬을 계산하여 ROM의 체크섬과 일치하면 BIOS는 해당 진입 주소로 제어를 넘긴다. 그러면 BIOS 확장 ROM은 확장 기능 초기화 루틴의 실행을 시작한다.

이 시점에서 확장 ROM은 실행을 인계받아 대상 하드웨어를 테스트 및 초기화하고, 부팅 후 애플리케이션에서 이용하는 인터럽트 벡터를 등록한다. 확장 ROM은 사용자 설정 인터페이스(진단 정보 표시 등)나 필요한 동작을 위해 BIOS와 그 전에 로드된 BIOS 확장 ROM의 서비스를 이용한다.

옵션 ROM은 일반적으로 초기화 프로세스 완료 시점에 BIOS로 제어를 반환한다. 제어를 반환받은 BIOS는 추가 옵션 ROM이 없는지 메모리 공간 말단까지 탐색을 진행하며, 발견된 순서대로 호출하는 동작을 반복한다.

BIOS ROM에는 때때로 마이크로코드가 저장된다. 마이크로코드를 이용하는 장치로는 CPU (인텔 펜티엄 프로, AMD 애슬론 이후), SCSI 호스트 버스 어댑터 (아답텍사 제품 등), 네트워크 인터페이스 (마벨 테크놀로지 그룹사, 브로드컴사 제품 등) 등이 있다. 이들은 BIOS 부팅 초기 단계에서 마이크로코드가 장치로 전송되어 장치가 활성화된다. FPGA 기반 장치에서는 로직을 BIOS가 써서 활성화시키기도 한다. 마이크로코드나 로직은 신제품이나 기능 개선에 따라 버전 업이 필요할 수 있다. 특히 CPU 마이크로코드는 신제품마다 만들어지므로, 마더보드에 최신 CPU를 탑재하려면 BIOS 업데이트를 통해 최신 마이크로코드를 도입해야 할 수 있다. 그래픽 카드는 마이크로코드를 사용하지만 예외적으로 BIOS ROM에는 포함되지 않는다. 통상, VGA 상당의 전용 회로로 VGA BIOS 기능을 제공하며, OS 부팅 후 장치 드라이버를 거쳐 애플리케이션상의 셰이더 프로그램을 마이크로코드로 컴파일하여 GPU에 전송하여 실행한다.

6. 운영 체제 서비스

BIOS는 주변 장치(예: 키보드, 기본적인 텍스트 및 그래픽 디스플레이 기능 등)를 작동시키기 위한 기본 입/출력 기능의 작은 라이브러리를 제공한다. MS-DOS를 사용할 때, BIOS 서비스는 응용 프로그램(또는 MS-DOS)에서 디스크 기능에 접근하기 위해 인터럽트 13h 인터럽트 명령어를 실행하거나, 비디오 디스플레이, 키보드, 카세트 및 기타 장치 기능에 접근하기 위해 여러 다른 문서화된 BIOS 인터럽트 호출 중 하나를 실행하여 접근할 수 있었다.[1]

BIOS ROM은 특정 제조업체의 하드웨어에 맞춰져 있어, 운영 체제를 포함한 프로그램에 표준화된 방식으로 하위 수준 서비스(예: 키 입력을 읽거나 디스크에 데이터 섹터를 쓰는 등)를 제공할 수 있다. 예를 들어, IBM PC는 흑백 또는 컬러 디스플레이 어댑터(다른 디스플레이 메모리 주소 및 하드웨어 사용)를 가질 수 있지만, 텍스트 모드 또는 그래픽 모드에서 화면의 지정된 위치에 문자를 표시하기 위해 단일 표준 BIOS 시스템 호출을 호출할 수 있다.

MS-DOS와 같은 구형 운영 체제는 PC 내에서 대부분의 입출력 작업을 수행하기 위해 BIOS에 의존했다. 이러한 기본 펌웨어 기능을 대체하도록 설계된 운영 체제와 실행 소프트웨어는 응용 소프트웨어에 대한 대체 소프트웨어 인터페이스를 제공한다. 응용 프로그램도 이러한 서비스를 자체적으로 제공할 수 있다.

현대 운영 체제 (예: Windows리눅스)를 실행하는 현대 PC에서, BIOS 인터럽트 호출은 부팅 및 운영 체제의 초기 로딩 중에만 사용된다. 운영 체제의 첫 번째 그래픽 화면이 표시되기 전에, 입출력은 일반적으로 BIOS를 통해 처리된다. 사용자가 부팅할 운영 체제를 선택하거나, 안전 모드로 부팅하거나, 마지막으로 알려진 정상 구성을 사용하도록 허용하는 Windows의 텍스트 메뉴와 같은 부팅 메뉴는 BIOS를 통해 표시되고 BIOS를 통해 키보드 입력을 받는다.[1]

리얼 모드 BIOS 서비스를 직접 호출하는 것은 보호 모드(및 롱 모드) 운영 체제에 비효율적이다. BIOS 인터럽트 호출은 최신 멀티태스킹 운영 체제에서 초기 로드 이후에는 사용되지 않는다.

7. 구성

초기 IBM PCXT의 바이오스에는 사용자 인터페이스가 없었으며, 옵션은 메인보드와 확장 카드DIP 스위치와 점퍼로 설정되었다. 1990년대 중반부터는 바이오스 ROM에 특정 키 시퀀스를 통해 시스템 전원을 켤 때 접근할 수 있는 ''바이오스 구성 유틸리티''(BCU[8]) 또는 "바이오스 설정 유틸리티"가 포함되는 것이 일반적이었다. 이 프로그램은 사용자가 키보드를 통해 제어되는 대화형 메뉴 시스템을 통해 시스템 구성 옵션을 설정할 수 있게 했다.

IBM AT를 포함한 IBM 호환 PC는 배터리 백업 RAM에 구성 설정을 저장하고, ROM이 아닌 플로피 디스크의 부팅 가능한 구성 프로그램을 사용하여 이 메모리에 포함된 구성 옵션을 설정했다. EISA 버스를 가진 컴퓨터에도 일반적으로 적용되었으며, 구성 프로그램은 EISA 구성 유틸리티(ECU)라고 불렸다.

현대 윈텔 호환 컴퓨터는 1990년대 후반의 ROM 상주 바이오스 설정 유틸리티와 본질적으로 동일한 설정 루틴을 제공한다. 사용자는 키보드와 비디오 디스플레이를 사용하여 하드웨어 옵션을 구성할 수 있다. 현대 윈텔 머신은 바이오스 자체를 담고 있는 것과 같은 플래시 ROM에 바이오스 구성 설정을 저장할 수 있다.

일반적인 PC의 Award BIOS 설정 유틸리티


최신 BIOS 설정 유틸리티는 PC가 시작될 때 키보드에서 특정 키를 눌러 액세스하는 텍스트 사용자 인터페이스(TUI) 또는 그래픽 사용자 인터페이스(GUI)를 가지고 있다. 일반적으로 시작 시 짧은 시간 동안 키가 안내된다(예: "설정에 들어가려면 DEL 키를 누르십시오"). 실제 키는 특정 하드웨어에 따라 다르다.

BIOS 설정 유틸리티에는 일반적으로 다음과 같은 기능이 있다.

  • 하드웨어 구성 요소 구성, 활성화 및 비활성화
  • 시스템 시간 설정
  • 부팅 순서 설정
  • BIOS 사용자 인터페이스에 대한 액세스를 보호하고 악의적인 사용자가 무단 휴대용 저장 장치에서 시스템을 부팅하는 것을 방지하기 위한 암호 또는 시스템 부팅 암호와 같은 다양한 암호 설정


IBM PC와 XT 시대에는 설정을 위한 사용자 인터페이스(UI)가 마더보드 상의 DIP 스위치였다. 그 이후에는 화면에 표시된 메뉴를 키보드로 조작하는 인터페이스가 사용되었으며, 마우스로 조작할 수 있는 것도 있다. 80286 CPU 탑재 기종까지는 배터리로 백업된 CMOS에 설정이 저장되었다. IBM AT에서는 비디오 카드, 메모리 크기, 하드 디스크를 설정하려면 ROM의 프로그램이 아닌 "reference diskette"라는 특별한 디스크를 삽입해야 했다.

80386 세대 이후의 컴퓨터에서는 BIOS 설정 유틸리티를 BIOS 자체에 내장하게 되었고, 일반적으로 부팅 시 특정 키를 누르면 메뉴에 들어갈 수 있다.

7. 1. 하드웨어 모니터링

현대적인 바이오스 설정 화면은 종종 메인보드의 하드웨어 모니터 칩과 직접 인터페이스하는 '''PC 상태''' 또는 '''하드웨어 모니터링''' 탭을 가지고 있다.[34] 이를 통해 CPU 및 섀시 온도, 전원 공급 장치에서 제공되는 전압을 모니터링할 수 있으며, 마더보드에 연결된 팬 속도를 모니터링하고 제어할 수 있다.

시스템이 부팅되면 하드웨어 모니터링 및 컴퓨터 팬 제어는 일반적으로 별도의 칩일 수 있는 하드웨어 모니터 칩 자체에서 직접 수행되며, I²C 또는 SMBus를 통해 인터페이스하거나 슈퍼 I/O 솔루션의 일부로 제공되어 ISA 또는 LPC를 통해 인터페이스한다.[35] envsys가 있는 NetBSD 및 sysctl hw.sensors가 있는 OpenBSD와 같은 일부 운영 체제는 하드웨어 모니터와의 통합 인터페이스를 제공한다.

어떤 경우에는 바이오스가 ACPI를 통해 하드웨어 모니터링에 대한 기본 정보를 제공하며, 이 경우 운영 체제는 하드웨어 모니터링을 수행하기 위해 ACPI를 사용할 수 있다.[36][37]

7. 2. 재프로그래밍 (플래싱)

최신 PC에서 BIOS는 재기록 가능한 EEPROM[38] 또는 NOR 플래시 메모리[39]에 저장되어 내용의 교체 및 수정이 가능하다. 이러한 내용의 재작성을 "플래싱"이라고 한다. 이는 시스템 제조업체에서 제공하는 특수 프로그램이나, 하드 드라이브 또는 USB 플래시 드라이브의 BIOS 이미지를 사용하여 POST 시에 수행할 수 있다. 이러한 내용을 담은 파일을 "BIOS 이미지"라고 부르기도 한다. 버그를 수정하거나 향상된 성능을 제공하거나, 새로운 하드웨어를 지원하기 위해 BIOS를 새로운 버전으로 업그레이드하기 위해 BIOS를 다시 플래싱할 수 있다. 일부 컴퓨터는 업데이트 플로피 디스크 또는 하드 드라이브의 특수 파티션을 통해 BIOS를 업데이트하는 것을 지원하기도 한다.[40]

1990년대 중반까지의 PC에서는 ROM으로 마스크 롬이나 OTPROM, UV-EPROM 등이 사용되었으며, 큰 문제가 없는 한 BIOS 업데이트는 그다지 예상되지 않았다. 또한, ROM 쓰기에는 ROM 라이터와 같은 장치가 필요하며, 사용자가 직접 ROM을 다시 쓸 수 없는 것이 일반적이었다.

플래시 메모리가 실용화되어 보급되면서, BIOS를 플래시 메모리에 저장하여 사용자가 컴퓨터를 열지 않고 업데이트할 수 있다는 점을 내세운 메인보드 제품이 출시되었다. 구체적인 다시 쓰기 방법으로는, 다시 쓰기용 플로피 디스크에 간소한 OS(주로 MS-DOS나 그 호환 OS가 이용된다) 환경을 작성하고, 거기서 부팅하여, 다시 쓰기용 소프트웨어를 실행함으로써 간단하게 다시 쓰기를 수행할 수 있게 되었다. 더욱이 2000년 이후에는 플로피 디스크에서 부팅하지 않고 Windows나 Unix 계열 OS와 같은 통합 환경에서 직접 다시 쓸 수 있게 되었다. 현재는, "BIOS 설정 화면에서 BIOS를 다시 쓴다"와 같은 시스템을 갖춘 BIOS도 등장하여, 다시 쓰기 방법의 선택지가 넓어지고 있다.

하지만 BIOS를 다시 쓰는 중에 정전 등 어떤 문제로 '''다시 쓰기에 실패하면, 대부분 그 컴퓨터는 전혀 부팅되지 않는다'''. 따라서, 제조사는 "PC에 문제가 있어 그 해결 방법이 BIOS 업데이트 외에 존재하지 않을 때나 OS 업데이트 시에만 업데이트를 실행하십시오" 등과 같이 주의를 촉구하고 있다.

BIOS는 컴퓨터 부팅의 근간이기 때문에, 내용이 파괴되면 그 컴퓨터 자체로는 재설정조차 할 수 없게 된다. (빈 플로피 디스크나 USB 메모리 등을 사용한 복구 수단을 준비하고 있는 BIOS가 대부분이지만, 그것이 실패하거나 존재하지 않는 경우에는) 복구 방법은 BIOS ROM의 교체(대개 정밀한 납땜이 필요하므로 제조사 수리가 된다), 또는 전문 업체 등에서 "ROM 굽기"라고 불리는 복구 작업을 받는 것 중 하나이다. BIOS ROM이 소켓에 꽂혀 있는 타입의 메인보드에서는 스스로 동일한 메인보드를 준비하고, 부팅 후에 문제가 있는 BIOS ROM으로 교체하여 다시 쓰기를 하는 묘기도 가능하지만, 부팅 중인 컴퓨터의 BIOS ROM을 빼는 것은 매우 위험하므로 권장되지 않는다. 또한, 2000년 이후에 유통되고 있는 컴퓨터(메인보드)에 따라, ROM을 2개 또는 4개 가지고 있으며, 다른 버전으로 전환할 수 있게 되어 있는 것도 있다.

8. 하드웨어



초창기 IBM PC BIOS (및 카세트 BASIC)는 마스크 프로그래밍된 읽기 전용 메모리(ROM) 칩에 저장되어 마더보드 소켓에 삽입되었다. ROM은 사용자가 교체할 수 있었지만[41] 변경할 수는 없었다. 업데이트를 위해 많은 호환 컴퓨터들이 EPROM, EEPROM, 이후에는 플래시 메모리(일반적으로 NOR 플래시) 같은 재프로그래밍 가능한 BIOS 메모리 장치를 사용했다. BIOS 제조업체 Micro Firmware의 사장인 Robert Braver에 따르면, '''플래시 BIOS''' 칩은 전기적으로 지울 수 있는 PROM(EEPROM) 칩이 표준 자외선으로 지울 수 있는 PROM(EPROM) 칩보다 저렴하고 프로그래밍하기 쉬워 1995년경에 널리 사용되었다. 플래시 칩은 회로 내에서 프로그래밍(및 재프로그래밍)되는 반면, EPROM 칩은 재프로그래밍을 위해 마더보드에서 제거해야 한다. BIOS 버전은 최신 버전의 하드웨어를 활용하고 이전 BIOS 개정판의 버그를 수정하기 위해 업그레이드된다.

IBM AT부터 PC는 BIOS를 통해 설정 가능한 하드웨어 시계를 지원했다. 여기에는 2000년이 되었을 때 세기를 수동으로 변경할 수 있는 세기 비트가 있었다. 1995년에 만들어진 대부분의 BIOS 개정판과 1997년의 거의 모든 BIOS 개정판은 시계가 1999년 12월 31일 자정을 넘을 때 세기 비트를 자동으로 설정하여 2000년을 지원했다.

첫 번째 플래시 칩은 ISA 버스에 부착되었다. 1998년부터 BIOS 플래시는 "펌웨어 허브"(FWH)로 알려진 새로운 표준 구현에 따라 LPC 버스로 이동했다. 2005년에는 BIOS 플래시 메모리가 SPI 버스로 이동했다.[42]

BIOS의 크기와 BIOS가 저장될 수 있는 ROM, EEPROM 또는 기타 미디어의 용량은 코드에 새로운 기능이 추가됨에 따라 시간이 지나면서 증가했다. 현재 BIOS 버전은 최대 32MB의 크기로 존재한다. 반면, 원래 IBM PC BIOS는 8 KB 마스크 ROM에 포함되었다. 일부 최신 마더보드는 전체 소형 운영 체제(예: 일부 리눅스 배포판)를 저장할 수 있는 더 큰 NAND 플래시 메모리 IC를 보드에 포함하고 있다. 예를 들어, 일부 ASUS 노트북에는 Splashtop OS가 NAND 플래시 메모리 IC에 내장되어 있다. 그러나 PC의 ROM에 BIOS와 함께 운영 체제를 포함한다는 아이디어는 새로운 것이 아니다. 1980년대에 Microsoft는 MS-DOS용 ROM 옵션을 제공했으며 Tandy 1000 HX와 같은 일부 PC 클론의 ROM에 포함되었다.

또 다른 유형의 펌웨어 칩은 IBM PC AT 및 초기 호환 장치에서 발견되었다. AT에서 키보드 인터페이스는 자체 프로그래밍 가능한 메모리가 있는 마이크로컨트롤러로 제어되었다. IBM AT에서는 40핀 소켓 장치였으며 일부 제조업체는 EPROM과 비슷한 이 칩의 EPROM 버전을 사용했다. 이 컨트롤러에는 1MB 범위를 초과하는 메모리를 관리하기 위해 A20 게이트 기능도 할당되었다. 상위 메모리를 사용할 수 있는 소프트웨어를 활용하기 위해 이 "키보드 BIOS"를 업그레이드해야 하는 경우가 있었다.

BIOS에는 메모리 참조 코드(MRC) 같은 구성 요소가 포함될 수 있으며, 이는 메모리 초기화(예: SPD 및 메모리 타이밍 초기화)를 담당한다.

최신 BIOS[43]에는 인텔 관리 엔진 또는 AMD 플랫폼 보안 프로세서 펌웨어가 포함되어 있다.

9. 공급 업체 및 제품

과거 주요 BIOS 공급 업체로는 아메리칸 메가트렌드(AMI), 어워드 소프트웨어, 피닉스 테크놀로지스 등이 있었다. 이들은 "독립 BIOS 공급업체" (IBV)로 불렸으며, 많은 PC 마더보드 제조업체에 BIOS "코어" 및 툴킷을 라이선스 형태로 제공했다. 마더보드 제조업체는 이를 기반으로 자체 하드웨어에 맞게 BIOS를 수정했다. 따라서 업데이트된 BIOS는 일반적으로 마더보드 제조업체를 통해 얻어야 했다.

Microid Research와 어워드 소프트웨어는 1998년에 피닉스 테크놀로지스에 인수되었다. 피닉스는 이후 Award 브랜드 이름을 단계적으로 폐지했지만, 최신 AwardBIOS 버전과 UEFI 펌웨어에서는 여전히 Award Software가 언급되고 있다. 제너럴 소프트웨어는 2007년 피닉스에 인수되었으며, 인텔 프로세서 기반 임베디드 시스템용 BIOS를 판매했다.

SeaBIOS는 오픈 소스 BIOS 구현이다.

다양한 BIOS 구현 비교
회사AwardBIOSAMIBIOSInsydeSeaBIOS
라이선스독점독점독점
유지/개발종료됨종료됨종료됨
32비트 PCI BIOS 호출
(1.2)(1.2)
부트 메뉴
압축(LHA)(LHA)(RLE)(LZMA)
CMOS
알 수 없음아니요
ROM에서 플래시알 수 없음알 수 없음아니요
언어어셈블리어셈블리어셈블리C
(48)(48)(48)
다중 프로세서 사양
옵션 ROM
비밀번호아니요
알 수 없음알 수 없음
설정 화면아니요
시작 화면(EPA)[44](PCX)(BMP, JPG)
알 수 없음알 수 없음알 수 없음
USB 부팅
USB 허브알 수 없음알 수 없음알 수 없음
USB 키보드
USB 마우스


10. 오픈 소스 BIOS 대체

오픈 소스 커뮤니티는 독점적인 바이오스(BIOS)와 미래의 파생 제품을 오픈 소스 대안으로 대체하기 위한 노력을 강화했다. 오픈 펌웨어는 부팅 펌웨어에 대한 개방형 사양을 만들기 위한 초기 시도였다. 이 기술은 처음에 IEEE에서 ''IEEE 1275-1994'' 표준으로 승인되었지만 2005년에 철회되었다.[46][47] 이후의 예로는 OpenBIOS, coreboot, libreboot 프로젝트가 있다. AMD는 coreboot를 사용하는 일부 칩셋에 대한 제품 사양을 제공했으며, 구글은 이 프로젝트를 후원하고 있다. 메인보드 제조업체인 Tyan은 자사의 Opteron 라인업 메인보드와 함께 표준 바이오스(BIOS) 외에 coreboot를 제공한다.

11. 보안

BIOS 재기록은 컴퓨터를 사용할 수 없게 만들 수 있는 위험한 작업이다. 특히, 재기록 중 정전 등으로 인해 실패하면 컴퓨터가 전혀 부팅되지 않을 수 있다. 이러한 위험을 줄이기 위해, 일부 마더보드는 BIOS 손상으로부터 복구하기 위한 백업 BIOS를 제공하는 듀얼 바이오스 방식을 사용한다.[48]

BIOS를 공격하는 바이러스도 알려져 있다. 대표적인 예로, 1998년에 등장한 CIH 바이러스(체르노빌 바이러스)는 호환 가능한 칩셋에서 플래시 ROM BIOS 내용을 지워 컴퓨터를 부팅 불능 상태로 만들 수 있었다.[48] 하지만 최신 시스템은 CIH에 취약하지 않은 칩셋과 플래시 ROM IC를 사용하고, 우발적인 BIOS 재작성으로부터 보호하기 위한 부트 블록 또는 듀얼/쿼드 BIOS를 장착하는 경우가 많다.[48] 또한, 최신 운영 체제는 사용자 모드 프로그램이 하드웨어에 직접 접근하는 것을 허용하지 않아 BIOS 바이러스의 위험이 줄었다.[48]

1999년경부터는 BIOS ROM을 2개 이상의 영역으로 분할하여, 출하 후 재기록하지 않는 부트 블록과 재기록하는 부분을 설정하는 부트 블록 방식이 채택되었다. 부트 블록에는 BIOS 재기록을 위한 최소한의 기능이 포함되어 있어, 재기록 실패 시에도 부트 블록을 사용하여 다시 재기록을 시도할 수 있다.

최신 인텔 플랫폼은 시작 시 BIOS 디지털 서명을 확인하는 인텔 부트 가드(IBG) 기술을 사용한다. IBG 공개 키는 PCH에 퓨즈되어 최종 사용자가 이 기능을 비활성화할 수 없다.

델과 같은 일부 주문자 상표 부착 생산(OEM) 업체는 BIOS 내부에 소프트웨어 라이선스 설명 테이블(SLIC)이라는 디지털 서명을 삽입하기도 한다. SLIC는 ACPI 데이터 테이블에 삽입되며, 마이크로소프트 윈도우와 마이크로소프트 응용 소프트웨어의 OEM 버전 라이선스 인증에 사용된다.[24][25]

12. 대안 및 후계자

UEFI(통합 확장 펌웨어 인터페이스)는 많은 새로운 기기에서 BIOS를 보완하거나 대체한다.[58] UEFI는 원래 인텔 아이테니엄 아키텍처용으로 작성되었으나, 현재는 x86 및 Arm 플랫폼에서도 사용할 수 있다. UEFI 사양 개발은 Unified EFI 포럼이라는 산업 특별 관심 그룹이 주도한다. UEFI 부팅은 GPT를 지원하는 마이크로소프트 윈도우 버전, 리눅스 커널 2.6.1 이상, 그리고 인텔 기반 맥의 macOS에서만 지원된다. 새로운 PC 하드웨어는 주로 UEFI 펌웨어를 사용한다. 그러나 UEFI는 루트킷 보호 기능 때문에 사용자가 소프트웨어를 변경하는 것을 막을 수 있어, 오픈 하드웨어 커뮤니티에서는 레거시 BIOS를 대체하는 UEFI에 대해 논란이 있다. Windows 11은 UEFI 부팅을 필수로 요구하며,[54] Windows 11 IoT 엔터프라이즈 에디션은 예외이다. UEFI는 Windows 8[55][56] 이상이 설치된 장치에 필수적이다.

x86 시스템에서 "레거시 BIOS" 기능을 대체하는 다른 대안으로는 coreboot와 libreboot가 있다.

일부 서버와 워크스테이션은 Forth 프로그래밍 언어를 기반으로 하는 플랫폼 독립적인 Open Firmware (IEEE-1275)를 사용한다. SunSPARC 컴퓨터, IBM의 RS/6000 라인, CHRP 마더보드와 같은 PowerPC 시스템, 그리고 x86 기반 OLPC XO-1에 포함되어 있다.

2015년 애플(Apple Inc.)은 인텔 기반 맥에서 레거시 BIOS 지원을 제거했다. 따라서 BIOS 유틸리티는 더 이상 레거시 옵션을 지원하지 않으며 "이 시스템에서는 레거시 모드를 지원하지 않습니다"라고 출력한다.

2017년 인텔은 2020년까지 레거시 BIOS 지원을 제거할 것이라고 발표했다. 2019년부터 새로운 인텔 플랫폼 OEM PC는 더 이상 레거시 옵션을 지원하지 않는다.[57]

참조

[1] 웹사이트 Booting · Linux Inside https://0xax.gitbook[...] 2020-11-10
[2] 웹사이트 Unified Extensible Firmware Interface https://www.intel.co[...]
[3] 웹사이트 UEFI https://wiki.osdev.o[...]
[4] 웹사이트 Intel® Platform Innovation Framework for EFI Compatibility Support Module Specification (revision 0.97) http://www.intel.com[...] Intel 2013-10-06
[5] 웹사이트 Removal of Legacy Boot Support for Intel Platforms Technical Advisory https://www.intel.co[...] 2024-07-25
[6] 웹사이트 Minimum System Requirements for Windows IoT Enterprise https://learn.micros[...] 2024-06-07
[7] 간행물 The IBM PC BIOS https://archive.org/[...] 2021-12-31
[8] 웹사이트 HP BIOS Configuration Utility http://ftp.hp.com/pu[...] Hewlett-Packard 2015-01-12
[9] 서적 System BIOS for IBM PCs, Compatibles, and EISA Computers — The Complete Guide to ROM-Based System Software https://archive.org/[...] Addison Wesley Publishing Company, Inc. 1991-06
[10] 서적 System BIOS for IBM PC/XT/AT Computers and Compatibles — The Complete Guide to ROM-Based System Software https://archive.org/[...] Addison Wesley Publishing Company, Inc. 1989
[11] 서적 The PC Graphics Handbook https://books.google[...] CRC Press 2003-02-26
[12] 웹사이트 iAPX 86,88 User's Manual http://bitsavers.org[...] Intel 2018-04-15
[13] 웹사이트 AMD 80286 Datasheet https://en.wikichip.[...] AMD
[14] 웹사이트 80386 Programmer's Reference Manual http://bitsavers.org[...] Intel
[15] 웹사이트 80386 Programmer's Reference Manual http://bitsavers.org[...] Intel 2013-11-03
[16] 웹사이트 Intel® 64 and IA-32 Architectures Software Developer's Manual http://download.inte[...] Intel 2012-08-23
[17] 웹사이트 IBM 5162 PC XT286 TechRef 68X2537 Technical Reference manual http://www.reenigne.[...] 2014-12-11
[18] 간행물 BIOS BASIC INPUT/ OUTPUT SYSTEM BIOS FUNCTIONS AND MODIFICATIONS https://www.academia[...] 2022-08-08
[19] 웹사이트 BIOS - CodeDocs https://codedocs.org[...] 2022-08-08
[20] 웹사이트 Memory Layout and Memory Map http://flint.cs.yale[...] 2022-08-08
[21] 간행물 BIOS Data ACPI Table (BDAT) https://uefi.org/sit[...] 2022-08-08
[22] 웹사이트 KB4100347: Intel microcode updates https://support.micr[...] 2020-09-20
[23] 웹사이트 Microcode - Debian Wiki https://wiki.debian.[...] 2020-09-19
[24] 웹사이트 How SLP and SLIC Works http://www.guytechie[...] 2015-02-03
[25] 웹사이트 Create and add an OEM ACPI SLIC table module to a congatec BIOS http://www.congatec.[...] 2015-02-03
[26] 웹사이트 A Beginner's Introduction to Overclocking Your Intel Processor http://lifehacker.co[...] Gawker Media 2014-12-06
[27] 웹사이트 What is ACPI (Advanced Configuration and Power Interface)? - Definition from WhatIs.com https://searchwindow[...] 2020-09-18
[28] 웹사이트 Changing hardware abstraction layer in Windows 2000 / XP – Smallvoid.com http://smallvoid.com[...] 2020-09-18
[29] 웹사이트 What is ACPI? https://www.spo-comm[...] 2020-09-18
[30] 웹사이트 Support for headless systems - Windows drivers https://docs.microso[...] 2020-12-05
[31] 웹사이트 Memory Map (x86) - OSDev Wiki https://wiki.osdev.o[...] 2020-12-11
[32] 서적 PC Systems, Installation and Maintenance https://books.google[...] Routledge 2006-08-11
[33] 뉴스 How to Enter the BIOS on Any PC: Access Keys by Manufacturer https://www.tomshard[...] 2022-02-04
[34] 논문 OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control. http://cnst.su/MMath[...] UWSpace 2010-05-21
[35] conference Generalised Interfacing with Microprocessor System Hardware Monitors http://sensors.cnst.[...] Institute of Electrical and Electronics Engineers 2007-04-17
[36] 웹사이트 aibs – ASUSTeK AI Booster ACPI ATK0110 voltage, temperature and fan sensor http://mdoc.su/-/aib[...] OpenBSD, DragonFly BSD, NetBSD and FreeBSD 2010-01-01
[37] 웹사이트 acpi_thermal(4) https://www.freebsd.[...] 2021-02-24
[38] 서적 CompTIA A+ Certification All-In-One Desk Reference for Dummies https://books.google[...] John Wiley & Sons 2007-01-30
[39] 서적 Inside NAND Flash Memories https://books.google[...] Springer 2010-07-27
[40] 서적 Upgrading and Repairing PCS https://books.google[...] Que 2004-01-01
[41] 서적 CompTIA A+ Certification All-In-One Desk Reference for Dummies https://books.google[...] John Wiley & Sons 2007-01-30
[42] 웹사이트 Archived copy https://images.slide[...] 2021-04-01
[43] 웹사이트 Types of BIOS https://www.rompacks[...] 2021-09-20
[44] 웹사이트 Award BIOS logo http://fileformats.a[...] 2015-06-15
[45] 웹사이트 Phoenix Eagerly Waiting to Clone Next-Generation IBM BIOS https://books.google[...] 2014-01-22
[46] 서적 IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices https://ieeexplore.i[...] 1994-10-28
[47] 웹사이트 IEEE Standards Association https://standards.ie[...] 2023-04-26
[48] 웹사이트 Definition of hardware abstraction layer https://www.pcmag.co[...] 2022-07-11
[49] 뉴스 New BIOS Virus Withstands HDD Wipes http://www.tomshardw[...] Tom's Hardware US 2009-03-27
[50] 웹사이트 Black Hat 2006 Multimedia - Presentation, Audio and Video Archives https://www.blackhat[...] 2019-04-21
[51] 웹사이트 A Question for 60 Minutes: Why Would China Want to Destroy the Global Economy? https://www.theatlan[...] 2013-12-16
[52] 뉴스 60 Minutes Puff Piece Claims NSA Saved U.S. From Cyberterrorism https://www.wired.co[...] 2013-12-16
[53] 웹사이트 NSA alleges 'BIOS plot to destroy PCs' https://www.theregis[...] 2013-12-16
[54] 웹사이트 Windows 11 Specs and System Requirements {{pipe}} Microsoft https://www.microsof[...] Microsoft 2021-10-14
[55] 웹사이트 Next-gen boot spec could forever lock Linux off Windows 8 PCS https://www.networkw[...]
[56] 웹사이트 Windows 8 secure boot could complicate Linux installs https://arstechnica.[...] 2011-09-21
[57] 웹사이트 Intel: We're ending all legacy BIOS support by 2020 https://www.zdnet.co[...] 2017-11-20
[58] 웹사이트 BIOSに代わるファームウェア“UEFI”とは一体何か? 1/2 | 震撼性能! Sandy Bridgeに死角なし!! | DOS/V POWER REPORT http://www.dosv.jp/f[...]
[59] 웹사이트 "R.I.P. BIOS: A UEFI Primer" http://www.pcworld.c[...] PCWorld 2014-01-27
[60] 문서 x86用のコードではプロセッサの構造上リアルモードで命令セットを使わざるを得ないという制限もある。



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com