{{위키데이터 속성 추적}}
{{다른 뜻}}
'''바이오스'''({{lang|en|'''BIOS'''; Basic Input/Output System}})는 [[운영 체제]] 중 가장 기본적인 [[소프트웨어]]이자 [[컴퓨터]]의 [[입출력]]을 처리하는 [[펌웨어]]다. [[사용자 (컴퓨팅)|사용자]]가 컴퓨터를 켜면 시작되는 [[프로그램]]으로 [[주변기기|주변 장치]](하드웨어)와 컴퓨터 운영 체제(소프트웨어) 사이의 [[데이터]]의 흐름을 관리한다. 펌웨어(firmware)의 한 종류로서 IBM호환 컴퓨터의 경우에 전원이 공급되면 시작되는 부팅 절차에서 하드웨어 초기화를 수행하고, 운영체제나 응용 프로그램에게 런타임 서비스([[컴퓨터 프로그램]]의 [[실행 (컴퓨팅)|실행]]을 지원하는 서비스)를 제공한다. 바이오스 펌웨어는 PC에 내장되어 있어서 전원이 인가되면 실행이 시작되는 최초의 프로그램이다. 바이오스라는 이름은 1975년도에 사용된 CP/M 운영체제의 Basic Input/Output System에서 유래하였다. 원래는 IBM의 소유였으나 많은 회사들이 원본 프로그램을 분석(리버스 엔지니어링)하여 호환 프로그램을 개발하였다. 현대 PC에서 바이오스는 하드웨어 부품을 초기화하고 검사하는 역할, 부트로더 또는 대용량 저장장치에 저장된  운영체제를 RAM으로 읽어오는 기능을 수행한다.     [[파일:Award BIOS setup utility.png|섬네일|바이오스 설정 유틸리티]]
[[파일:POST of ASUS P5KPL on SyncMaster 740N 20081006.jpg|섬네일|일반적인 바이오스 포스트(Power-On Self-Test) 과정의 첫 단계]]
[[파일:Elitegroup 761GX-M754 - AMIBIOS (American Megatrends) in a Winbond W39V040APZ-5491.jpg|섬네일|150x150픽셀|바이오스가 들어간 롬(ROM)]]

넓은 의미로 [[컴퓨터]]에 탑재된 프로그램 중에서 [[컴퓨터 하드웨어|하드웨어]]와 가장 낮은 수준에서 입출력을 담당하는 프로그램을 가리킨다. 좁은 의미의 정의에선 [[IBM-PC]] 호환 기종에 탑재된 것을 말하며, 보통 이 뜻으로 쓰인다. 바이오스는 컴퓨터에서 하드웨어와 소프트웨어의 중간 형태를 가지는 [[펌웨어]]의 일종으로, 대부분 소프트웨어가 하드웨어를 제어하고 하드웨어에 의해 변경되거나 생성된 정보를 소프트웨어에서 처리할 수 있도록 전달하는 등 인간의 [[신경망]]과 같은 기능을 수행한다.

== 역사 ==
{{인용문3|right|
<pre>/* C P / M   B A S I C   I / O    S Y S T E M    (B I O S)
                    COPYRIGHT (C) GARY A. KILDALL
                             JUNE, 1975 */
[...]
/*  B A S I C   D I S K    O P E R A T I N G   S Y S T E M  (B D O S)
                    COPYRIGHT (C) GARY A. KILDALL
                            JUNE, 1975 */</pre>
<!-- 일부 공백이 원래 인용에서 제거됨 -->
|[[로렌스 리버모어 국립 연구소]](LLL)를 위한 [[CP/M 1.1]] 또는 [[CP/M 1.2]]의 [[PL/M]] 소스 코드의 BDOS.PLM 파일 헤더의 문구.<ref name="Kildall_1975_BDOS"/>
}}
바이오스(BIOS, Basic Input/Output System)라는 용어는 [[게리 킬달]]<ref name="Swaine_1997_Entrepreneurship" />이 발명하였으며, 1975년 [[CP/M]] 운영 체제에 처음 등장하였는데<ref name="Kildall_1975_BDOS" /><ref name="Kildall_1980_CPM" /><ref name="Fischer_2001_Ewing" /><ref name="Fraley_2007_Killian" />, 하드웨어와 직접 연결되는 부팅 시간 동안 불러들이는, 기기에 특화된 CP/M의 일부로 기술하고 있다.<ref name="Kildall_1980_CPM" /> (CP/M 기기는 일반적으로 ROM에 하나의 부트 로더만 있었다.)

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

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

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

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

== BIOS 외의 펌웨어의 실행 ==
{{본문|옵션 롬}} <!--[[:en:Option ROM]] 참고-->
BIOS (=메인보드의 [[펌웨어]])는 컴퓨터의 기본적인 하드웨어 장치들 (키보드, 플로피 디스크, 하드디스크) 에 접근해서 제어할 수 있다. 다만  여러 가지 제약사항이 있으며, 일부 플러그인 어댑터들(SCSI, NIC, 비디오 등)의 경우 BIOS 대신 독자적인 [[펌웨어]]를 장치에 포함시켜 그 장치용 펌웨어가 해당 장치를 제어하도록 한다. 이렇게 BIOS에서 호출하는 펌웨어를 [[옵션 롬]] 이라고 부른다.

== 같이 보기 ==
* [[펌웨어]]
* [[확장 펌웨어 인터페이스|EFI]]

== 각주 ==
{{각주|refs=
<ref name="Kildall_1975_BDOS">{{인용 | title = CP/M 1.1 or 1.2 BIOS and BDOS for Lawrence Livermore Laboratories | date = June 1975 | first = Gary A. | last = Kildall | authorlink = Gary Kildall}}</ref>
<ref name="Swaine_1997_Entrepreneurship">{{ 저널 인용 | first = Michael | last = Swaine | authorlink = Michael Swaine (technical author) | date = 1997-04-01 | title = Gary Kildall and Collegial Entrepreneurship | journal = [[Dr. Dobb's Journal]] | url = http://www.ddj.com/184410428 | accessdate = 2006-11-20}}</ref>
<ref name="Kildall_1980_CPM">{{ 웹 인용 | title = The History of CP/M, THE EVOLUTION OF AN INDUSTRY: ONE PERSON'S VIEWPOINT | first = Gary A. | last = Kildall | authorlink = Gary Kildall | date = January 1980 | publisher = [[Dr. Dobb's Journal]] of Computer Calisthenics & Orthodontia | pages = 6–7 | edition = Vol. 5, No. 1, Number 41 | url = http://www.retrotechnology.com/dri/CPM_history_kildall.txt | accessdate = 2013-06-03}}</ref>
<ref name="Fischer_2001_Ewing">{{웹 인용 | title = Gary Kildall's CP/M: Some early CP/M history - 1976-1977 | first = A. Joseph "Joe" | last = Killian | authorlink = Joe Killian | publisher = [[Thomas Fischer (IMSAI)|Thomas "Todd" Fischer]], [[IMSAI]] | year = 2001 | url = http://www.imsai.net/history/imsai_history/cp-m_history.htm | accessdate = 2013-06-03 | 보존url = https://web.archive.org/web/20121229064433/http://www.imsai.net/history/imsai_history/cp-m_history.htm | 보존날짜 = 2012-12-29 | url-status = dead }}</ref>
<ref name="Fraley_2007_Killian">{{ 웹 인용 | title = Oral History of Joseph Killian, Interviewed by: Bob Fraley, Edited by: Dag Spicer, Recorded: January 26, 2007, Mountain View, California, CHM Reference number: X3879.2007, | first1 = Bob | last1 = Fraley | first2 = Dag | last2 = Spicer | date = 2007-01-26 | publisher = Computer History Museum | url = http://archive.computerhistory.org/resources/access/text/2012/10/102658016-05-01-acc.pdf | accessdate = 2013-06-03 | 보존url = https://web.archive.org/web/20140714175258/http://archive.computerhistory.org/resources/access/text/2012/10/102658016-05-01-acc.pdf | 보존날짜 = 2014-07-14 | url-status = dead }}</ref>
}}

== 외부 링크 ==
* {{위키공용분류-줄}}
* {{두피디아|101013000713809}}
* {{네이버캐스트|7199}}

{{전거 통제}}

[[분류:바이오스| ]]
[[분류:펌웨어]]