바이오스(BIOS)와 시모스(CMOS)가 뭔지 모르시는 분은 안계실 것입니다. 하지만 많은 사람들이 이 두가지를 섞어서 말하는 경우가 많으며, 바이오스와 시모스를 확실하게 구분하여 사용하는 경우는 별로 없습니다.

조잡한 예를 들어보자면 메인보드에서는 바이오스와 시모스라는 단어를 다 사용하지만, 그래픽카드에서는 시모스라는 단어를 쓰는 적을 본적이 없고 오직 바이오스 뿐이지 않습니까? 또한, 바이오스 클리어와 시모스 클리어, 바이오스 설정과 시모스 설정 중에 뭐가 맞는 말일까요?

이번에는 바이오스와 시모스의 기본 개념에 대해 간단하게 알아 보도록 하겠습니다. 출처는 예전에 중국 사이트 어딘가에서 보고 저장해 둔 거라서 정확히는 기억이 안나고 -_-a 번역/편집은 기글 하드웨어 입니다.


바이오스란 무엇인가?
BIOS, Basic Input Output System. 즉 기본 입출력 시스템이라는 의미입니다. 기판(메인보드나 그래픽카드 등등)에 붙어있는 롬 칩으로서, 컴퓨터 시스템의 제일 중요한 기본적인 입/출력 프로그램, 시스템 데이터 설정, 부팅시 실행하는 자체 검사 프로그램 등이 저장되어 있습니다.


바이오스의 기능
바이오스의 관리 기능은 시스템 전체의 성능에 상당히 밀접한 영향을 미칩니다. 여기에는 크게 4가지가 있습니다.

1. 바이오스 인터럽트 서비스
바이오스의 인터럽트 서비스 프로그램은 컴퓨터 시스템의 소프트웨어와 하드웨어 사이의 프로그래밍이 가능한 인터페이스로서, 프로그램(소프트웨어)과 시스템(하드웨어) 사이를 연결하는 역할을 합니다.

예를 들어 도스와 윈도우즈 같은 운영체제가 플로피 디스크, 하드디스크, ODD, 키보드, 모니터 같은 외부 설비를 관리할때 모두 바이오스 시스템 인터럽트 서비스 프로그램을 기초로 하여 직접 접근하게 되고, 사용자는 INT 5. INT 13등의 인터럽트를 통해 바이오스 인터럽트 서비스 프로그램을 직접 조절하여 사용할 수 있습니다.

2. 바이오스 시스템 설정
컴퓨터 부품 설정에 대한 기록은 읽기/쓰기가 모두 가능한 CMOS RAM 칩에 저장되며, 여기에는 시스템의 기본 상황, CPU 특성, 드라이브, 모니터, 키보드 등의 부분 데이터가 들어갑니다.

바이오스 롬 칩에 담긴 '시스템 설정 프로그램'은 CMOS RAM에 담긴 각종 값을 설정할 수 있습니다. 이 프로그램은 컴퓨터를 켤 때 몇개의 특정 키를 눌러서 설정 상태로 진입할 수 있으며(Del이라던가 F1이라던가 F2라던가) 사용자가 조절하기 비교적 편한 인터페이스를 제공해 줍니다.(영어가 대부분이라 거부반응이 일어나서 그렇지, 그 옛날에 이런 방식을 생각해 냈다는건 정말 사용자 편의를 고려한 방법입니다) 이러한 시모스 값의 설정 과정 때문에 '바이오스 설정'이라고 부르는 습관이 생긴 것입니다.

시모스 램 칩에 담긴 컴퓨터의 장치 관련 정보가 정확하지 않을 경우, 작게는 시스템 전체 성능이 떨어질 수 있고, 각종 드라이브를 정확이 인식
하지 못할 수도 있으며, 심각할 경우 시스템에 '하드웨어적인 고장'이 일어날 수도 있습니다.

3. POST, Power On Self Test. 전원이 들어올 경우 자체 테스트
컴퓨터에 전원이 들어오면 먼저 POST 프로그램이 자체적인 내부 테스트를 먼저 합니다. 이 과정에서는 CPU, 640KB 기본 메모리, 1MB 이상의 확장 메모리(이건 도스 시절 경험이 있으신 분이나 고개를 끄덕이실 듯 -_-a), ROM, 메인보드, CMOS 저장 장치, 페러럴/시리얼 포트, 그래픽 카드, 플로피/하드 드라이브, 키보드 등을 테스트하게 되며, 테스트 도중 문제를 발견하면 에러 메세지를 출력하거나 비프음을 냅니다.

4. 바이오스 시스템 부팅 장치 선택
위에서 설명한 자체 검사를 끝나면 롬 바이오스는 시모스 설정에 저장된 부팅 순서에 따라 플로피 디스크, 하드 디스크, ODD, 네트워크 서버 등의 드라이브를 찾아, 운영체제가 있는지를 찾아 시스템 컨트롤 권한과 관련 기록을 넘기며 부팅 과정을 완성합니다.


시모스란 무엇인가?
CMOS, Complementary Metal-Oxide Semiconductor. 상호 보완적인 금속 산화막 반도체. 여러 분야에 응용할 수 있는 회로를 대규모로 집적한 칩을 뜻합니다. 
컴퓨터 메인보드 뿐만 아니라 다른 분야에서도 시모스가 쓰입니다. 디지털 카메라의 촬상소자를 보면 제조 방식이 크게 CCD 방식이 있고 CMOS 방식이 있는데 이 CMOS가 지금 여기서 말하는 CMOS이기도 합니다. 사용 분야는 전혀 다르지만 말입니다. 어쨌건 CMOS는 특정 방법으로 만든 특정 성질의 반도체라고 생각하셔야 되겠습니다.

어쨌건 지금 여기서 말하는 시모스는 메인보드에 붙어있는 읽고 쓰기가 가능한 램 칩으로서, 시스템의 하드웨어 설정과 사용자가 별도로 지정해준 수치를 저장하는 용도로 쓰입니다. 

시모스 램 칩은 메인보드에 붙어있는 건전지를 통해 전기를 공급받아 컴퓨터가 꺼진 상태에서도 데이터를 지킬 수가 있습니다.
시모스 램은 그냥 데이터 저장소에 불과합니다. 오직 데이터를 저장하는 기능밖에 없기 때문에 시모스에 저장된 각종 수치를 설정하기 위해서는 전문적인 프로그램이 별도로 필요합니다. 처음 등장한 시모스 설정 프로그램은 디스켓에 담겨져 있어서(IBM의 PC/AT가 그랬습니다) 매우 불편했습니다.

그러나 지금은 대다수의 회사들이 시모스의 데이터 설정 프로그램을 바이오스 칩에 담아, 컴퓨터를 켤 때 몇개의 특정 키를 눌러서 설정 상태로 진입할 수 있으며(Del이라던가 F1이라던가 F2라던가) 사용자가 조절하기 비교적 편한 인터페이스를 제공해 줍니다.(영어가 대부분이라 거부반응이 일어나서 그렇지, 그 옛날에 이런 방식을 생각해 냈다는건 정말 사용자 편의를 고려한 방법입니다) 이러한 시모스 값의 설정 과정 때문에 '바이오스 설정'이라고 부르는 습관이 생긴 것입니다.


바이오스 설정과 시모스 설정의 구별과 관계
바이오스는 메인보드에 붙은 EPROM이나 EEPROM 등의 칩이며, 안에는 시스템의 중요한 데이터와 시스템의 각종 수치를 설정할 수 있는 프로그램(바이오스 셋업 프로그램)이 들어 있습니다.

시모스는 메인보드에 붙어있는 읽기/쓰기가 가능한 램 칩이며, 안에는 시스템 관련 데이터의 구체적인 설정값이 들어 있으며, 이 내용은 설정 프로그램을 통해 고칠 수 있습니다. 시모스 램은 예비용 건전지가 있기 때문에 시스템에 전기가 공급되지 않아도 내용이 사라지지 않습니다.

바이오스에 담긴 시스템 설정 프로그램은 시모스에 설정 값을 저장하는 수단이며, 시모스 램은 바이오스 설정 시스템이 관련 값을 저장하는 장소이며 바이오스 설정 시스템의 결과이기도 합니다.

따라서 제대로 표현하면 '바이오스 설정 프로그램을 통한 시모스 데이터의 설정'이 맞는 말입니다.

바이오스와 시모스의 설정이 모두 밀접한 관계가 있기 때문에 실생활에서는 '바이오스 설정'이란 말과 '시모스 설정'이라는 말을 혼용해서 쓰지만 바이오스와 시모스는 엄연히 서로 다른 개념이라는 것을 유념해 주시기 바랍니다.


언제 바이오스/시모스의 설정을 하는가?
옛날에는 하드 하나 새로 달아도 벌벌벌 떨면서 델키를 눌러서 하드 위에 써진 실린더/섹터/헤드 수를 일일이 써넣어줘야 했었지요. 하지만 지금은 왠간하면 알아서 다 잡아버리기 때문에 그 중요성이 크게 떨어졌습니다만, 원론적으로 어떤 경우가 있는지 대충 알아봅시다.
이 글이 좀 오래된 거라서 -_-a 이 과정을 대단히 중요한 것처럼 써 놓았지만 사실 요즘은 그 비중이 많이 줄어들었지요.

1. 컴퓨터를 새로 조립했을 때
요즘에는 플러그 앤 플레이 기능이 정말 발전했습니다만, 그래도 조립하고 나서 최소한의 기본적인 정보, 부가 기능 사용 여부, 날짜와 시간 등은 맞춰야 합니다.

2. 새로 장치를 추가했을 때
새 장치를 반드시 인식하라는 법은 없기 때문에(물론 요즘은 절대적으로 알아서 인식합니다만) 설정을 해줘야 되고, 또 새로 추가한 장치가 기존 장치와 IRQ, DMA 충돌을 일으킬 수 있기 때문에 바이오스 설정을 통해 이런 가능성을 없애야 합니다.(라고는 하지만, 요즘에는 IRQ, DMA 충돌도 뭐 흔한 일이 아니라서 -_-a)

3. 시모스 데이터를 날렸을때
건전지가 다 나갔다거나(컴퓨터가 오래되면 이런 일이 있습니다), 건전지가 맛이 갔다던가, 바이러스가 시모스 데이터를 파괴했다던가, 그리고 과도한 오버클럭으로 부팅조차 안되서 일부러 시모스 데이터를 날렸을 때 -_-/ 다시 설정해야 합니다.

4. 시스템 최적화
램 타이밍을 설정한다던가, 하드디스크 데이터 전송 방식이라던가, 내장/외장 캐시의 사용, 절전 기능 사용, 전원 관리, 부팅 순서, 온도/팬 관리, 사용하지 않는 장치 비활성화 등등... 자신의 시스템에 맞춰 최적화를 할때, 그리고 최적화라고 말하기에는 좀 거시기 하지만 오버클럭을 한다던가 -_-a 할때 설정을 합니다. 이때에는 많은 경험과 지식이 필요하겠지요.

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.