컴퓨터는 중앙처리장치나 기억장치, 입출력 장치와 같은 하드웨어, 그리고 운영체제 및 응용 프로그램과 같은 소프트웨어로 구성되어 있다는 것이 일반적인 상식이다. 하지만 엄밀히 따져보면 컴퓨터 내부에는 하드웨어와 소프트웨어의 특성을 모두 가지고 있으면서 양쪽을 유기적으로 결합시키는 또 하나의 요소가 존재한다. 그것이 바로 펌웨어(firmware)다.
펌웨어란 제어 프로그램의 일종으로 기능적으론 소프트웨어에 가깝지만, 하드웨어 내부에 위치하고 있고 사용자가 프로그램의 내용을 쉽게 바꿀 수 없으므로 하드웨어처럼 보이기도 한다. 같은 종류의 하드웨어라도 내장된 펌웨어에 따라 전반적인 기능 및 다룰 수 있는 소프트웨어가 달라지기도 한다. 본래 펌웨어는 제품 생산 시에 탑재된 이후에는 내용 변경을 하지 않는 것이 관례였지만, 최근에는 지속적인 제품의 성능 향상 및 오류 개선을 위해 제품 출시 이후에도 제조사에서 새로운 펌웨어를 배포해 소비자들에게 업데이트 할 것을 권하는 경우가 늘어나고 있다. 이런 경우는 특히 스마트폰이나 휴대용 게임기와 같은 모바일 컴퓨팅 기기에서 흔히 볼 수 있다.
컴퓨터 기기의 대명사인 PC(데스크탑, 노트북 등의 개인용 컴퓨터)에도 당연히 펌웨어가 존재한다. PC용 펌웨어는 바이오스(BIOS: Basic Input/Ouput System)라고 하며, 해당 PC의 기본적인 데이터의 입력과 출력을 관리하는 것이 주된 역할이다. 바이오스는 메인보드(main board: 주기판) 상에 위치한 이피롬(EPROM), 혹은 플래시메모리(flashmemory) 칩에 저장되어 있다. 넓은 의미에서는 메인보드 외의 다른 하드웨어, 이를테면 그래픽카드나 인터페이스 카드에 내장된 펌웨어도 바이오스라고 부르는 경우가 있지만, 일반적으로 바이오스라 한다면 메인보드에 내장된 것을 지칭한다.
바이오스는 PC에 탑재된 모든 하드웨어 및 소프트웨어의 기본적인 동작을 제어한다. PC의 전원을 켜면 가장 먼저 기동되는 것도 바이오스로, 일반적으로 검은색 바탕에 PC 제조사의 이름 및 CPU의 속도, 메모리의 용량 등의 하드웨어 정보를 화면에 표기하는 것으로 그 실체를 확인할 수 있다. 바이오스는 이렇게 주요 하드웨어의 정상 동작 여부를 확인 한 뒤, 보조기억장치(하드디스크나 CD-ROM)에 접근, 그곳에 저장된 운영체제(윈도 등)의 파일을 불러와 부팅(booting)을 시작한다. 만약 보조기억장치가 없거나 보조기억장치 내에 운영체제 파일이 없으면 바이오스는 부팅 불가 메시지를 출력한다.
바이오스는 운영체제 부팅에 관련된 역할 외에도 각종 메인보드에 내장된 각종 하드웨어의 설정도 담당하고 있다. 특히 2000년대 들어 그래픽카드나 사운드카드, 랜카드와 같은 하드웨어가 메인보드 내에 내장되는 경우가 많아져서 바이오스 설정의 중요성이 커졌다. 그 외에도 CPU나 메모리의 클럭(동작 속도)을 조정하거나 보조기억장치간의 부팅 순서를 지정하는 것도 바이오스를 통해 설정한다.
바이오스 설정 메뉴로 들어가기 위해서는 PC의 전원을 켠 직후에 나오는 초기화면에서 키보드의 특정 키를 누르면 된다. 일반적으로 delete 키이며, 메인보드나 PC의 제조사에 따라 F1이나 F2 키인 경우도 있다. 키 입력이 확인되면 파란 바탕에 흰색 글씨로 이루어진 바이오스 설정 메뉴가 나타난다. 극소수의 경우를 제외하면 바이오스 설정 메뉴는 마우스를 지원하지 않으므로 키보드만으로 조작해야 한다. 다만 바이오스는 PC 하드웨어 작동에 직접적으로 영향을 미치므로, 관련 정보 및 지식을 충분히 습득한 후에 설정, 조작하는 것이 바람직하다.