오픈 펌웨어
오픈 펌웨어(Open Firmware) 또는 오픈부트(OpenBoot)는 하드웨어에 의존하지 않는 펌웨어(운영 체제를 불러 내는 소프트웨어)이며, 썬마이크로시스템의 Mitch Bradley가 개발하였다. 이 소프트웨어는 애플의 NuBus 이후의 파워피시 기반의 매킨토시, 썬마이크로시스템의 SPARC 기반의 워크스테이션과 서버, IBM의 파워 아키텍처의 계산기 시스템, Pegasos의 계산기 시스템, 그리고 OLPC가 설계한 노트북 등, 여러 기종에 채택되어 쓰였다. 이 소프트웨어는 BSD 라이선스 하에서 이용할 수 있다. 공개되어 있는 파워 아키텍처 플랫폼 레퍼런스(Power Architecture Platform Reference)에서도 오픈 펌웨어 기반의 플랫폼이다. 이러한 플랫폼에서 오픈 펌웨어는 개인용 컴퓨터의 바이오스 동작과 완전히 같다고 볼 수 있다.
오픈 펌웨어는 Forth 기반의 셸 인터페이스를 가진다. Forth는 강력한 높은 수준의 언어로, 이를테면, 오픈 펌웨어에서 하노이의 탑의 문제를 풀 수 있다.
오픈 펌웨어는 IEEE가 IEEE 1275-1994로 표준화하였다. 최신 규격은 오스트리아의 빈 공과대학 컴퓨터 언어 연구소의 Forth 연구 프로젝트에서 참조하면 된다.
썬의 오픈부트나 펌웍스(Firmwoks)의 오픈펌웨어, Codegen의 스마트펌웨어(SmartFirmware) 등 몇 가지 오픈 펌웨어가 상용되어 장착되었다는 발표는 2006년에 오픈 소스 커뮤니티에 공개되었다. 이 소스는 오픈바이오스(OpenBIOS) 프로젝트에 공개되고 있다.
장점
편집오픈 펌웨어의 Forth 코드는 FCode(어떤 바이트코드)로 컴파일되며 특정의 컴퓨터 아키텍처에 의존한 기계어로는 변환되지 않는다. 다시 말해, 어느 입출력 카드용 코드를 포함하고 있는 오픈 펌웨어는 다른 오픈 펌웨어를 사용하는 어떤 시스템 위에서도 동작한다. 이 방법에 따라 어느 입출력 카드를 시동하면, 진단, 설정 코드, 그리고 장치 드라이버는 다른 오픈 펌웨어가 동작하는 시스템 위에서도 사용할 수 있다. 따라서, 많은 입출력 카드가 썬의 머신과 매킨토시 두 군데 모두 동작한다.
또, 대화식 프로그램 언어가 기반이므로, 오픈 펌웨어는 코드를 테스트하거나 새로운 하드웨어를 재빠르게 따라갈 수 있다.
접근
편집몇 개의 아키텍처에서는 운영 체제가 시동되기 앞서 콘솔로부터 오픈 펌웨어의 프롬프트를 거쳐 텍스트 기반으로 대화하면서 접근할 수 있다. 인식된 장치는 Forth의 이름 공간에 나타나고, 이것을 사용하여 입출력 장치를 지시하는 등의 일을 한다. 버스별로 규정된 이름 공간이 존재하므로 구성 정보를 얻거나 설정할 수도 있다.
오픈 펌웨어는 "ok"를 프롬프트로 표시한다.