운영 체제 | ||||||
{{{#!wiki style="word-break: keep-all; margin: -16px -11px" | UNIX | Linux | Windows | |||
DOS |
|
|||||
기타 |
RTOS ·
Fuchsia · |
}}} | ||||
취소선 처리된 배포판은 개발 중단된 배포판. |
1. 개요
공식 홈페이지
옛 홈페이지 재현
TempleOS 공식 서브레딧
TempleOS는 무료, 퍼블릭 도메인, 오픈 소스, x86_64, 비선점형 멀티태스킹, 멀티 코어 기반, Ring-0로만 작동하는, 단일 주소 맵(identity-mapped)을 사용하고, 네트워크 연결은 지원하지 않는 PC 운영체제입니다. 기본적으로 페이징은 사용되지 않습니다.
TempleOS is a free, public domain, open source, x86_64, non-preemptive multi-tasking, multi-cored, ring-0-only, single-address-map (identity-mapped), non-networked, PC operating system. Paging is, basically, not used.
― TempleOS 소개
TempleOS is a free, public domain, open source, x86_64, non-preemptive multi-tasking, multi-cored, ring-0-only, single-address-map (identity-mapped), non-networked, PC operating system. Paging is, basically, not used.
― TempleOS 소개
미국의 프로그래머 테리 데이비스가 10여 년이 넘는 기간 동안 홀로 개발한 운영체제. 2013년에 처음 배포되었고 2017년에 마지막으로 업데이트되었다. 레트로 지향 UI가 다소 독특하다.
TempleOS의 개발자인 데이비스는 자신이 신과 직접 연결되어있다고 주장했다. 신으로부터 16색 640x480 해상도의 운영체제를 만들라는 계시를 받아 만들게 된 것이 바로 이 운영체제라고 한다.[1] Davis가 직접 창조한 변종 C언어인 HolyC로 개발되었다. 비행 시뮬레이터, 3D FPS 및 각종 게임, HolyC 컴파일러, 신탁 프로그램 등등 혼자서 모두 개발했다고는 믿을 수 없을 정도로 다양한 응용프로그램들이 포함되어 있다.
어떠한 오픈 소스도 가져다 사용하지 않고 모든 코드를 자신이 직접 작성했다고 한다.
여기에서 TempleOS를 진지하게 분석한 내용을 볼 수 있다.
정신세계는 이상했지만 멀쩡히 OS를 만든 것을 보면 프로그래밍 실력은 출중했던 것으로 보인다. 아무튼 이러한 특성때문에 이 OS의 컬트적인 팬들이 많다. 당장 이 OS 및 프로그램들에 대한 반응도 패러디 종교를 보는 것처럼 반쯤 밈으로 취급되고 있다.
2. 신성한 컬러와 신성한 해상도
하나님은 640x480의 16색을 할례와 같은 언약이라고 하셨습니다. 640x480 해상도와 16색은 앞으로 수 세기동안 계속될 것입니다.
개발자 테리 데이비스는 640x480 해상도와 VGA의 16색을 신의 언약이라고 하며 신성한 해상도와 컬러로 규정했다. 울펜슈타인 3D나 배틀존 같은 작품들이 리메이크되어 현대적인 그래픽을 갖게된 것을 흉물로 전락했다고 비난하며 옛날의 그래픽을 추켜세웠다.
하필 이 해상도와 이 컬러인 이유는 표현 방식의 제약 때문에 지나치게 잔혹하거나 선정적인 표현이 불가능하기 때문이라는 모양이다. 그래서 어린이용 게임은 무조건 이 방식으로 만들어야 한다는 신념이 있었다고 한다. '그럼 어른은?' 이라는 질문에는 '어른은 게임을 하면 안 된다'라는 답을 내놨다.
3. 포함된 소프트웨어 목록
3.1. 게임
- FlatTops
- Varoom
- ZoneOut
- BlackDiamond
- CastleFrankenstein
- BattleLines
- TimeOut
- BomberGolf
- Strut
- TheDead
- DunGen
- EagleDive
- Span
- RawHide
- KeepAway
- X-Caliber
- ToTheFront
- Wenceslas
- BigGuns
- TreeCheckers
3.2. 음악
3.3. 종교
3.4. 기타
텍스트 에디터 접근 방법은 프롬프트 상에서 Ed(“Filename.txt”); 입력 후 엔터를 치면 된다.
4. 오락 코딩
TempleOS는 현대화된 64비트
코모도어 64를 목표로 합니다.
코모도어 64는 네트워크를 지원하지 않았고, 주로 게임을 위해 사용된 가정용 컴퓨터였습니다. 이것은 완전히 개방되어있었고 hackable 했기에 저희 세대에게 어떻게 프로그래밍 하는지를 훈련시켜 주었습니다.
The vision for TempleOS, however, is a modern, 64-bit Commodore 64. The C64 was a non-networked, home computer mostly used for games. It trained my generation how to program because it was wide open, completely hackable.
― TempleOS 소개
The vision for TempleOS, however, is a modern, 64-bit Commodore 64. The C64 was a non-networked, home computer mostly used for games. It trained my generation how to program because it was wide open, completely hackable.
― TempleOS 소개
HolyC와 x86_64 어셈블리어를 사용해 응용 프로그램을 개발할 수 있다.
모든 코드가 Ring-0에서 작동하므로 하드웨어에 아무런 제한 없이 접근할 수 있고 소스 코드 안에 이미지를 첨부할 수 있는 등 상당히 신기한 특징들을 많이 가지고 있다. 화면 테두리에 시스템 정보와 메시지가 계속 떠다니며 명령어와 소스코드의 장벽이 없어 운영체제의 CLI 입력란에서 프로그래밍 언어가 곧바로 입력되어 실행된다. UI는 CLI와 GUI가 경계 없이 어우러진 형태이다. 단순히 텍스트 터미널에 이미지가 뜨는 정도가 아니라 3D 렌더링까지 돌아가는 등 모든 것이 뒤섞여 있다. 이러한 TempleOS만의 독특한 특징들이 오락용 코딩에 유리하게 작용한다는 평가가 많다.[2]
몇몇 양덕후들은 오락용 코딩에 유리한 이런 특징들에 주목해 여러 프로그램들을 개발하기도 했는데 테트리스, 둠 등 다양한 게임을 구현하고, 데모씬을 제작하거나, 게임보이 에뮬레이터를 제작하거나, 심지어 원래는 지원되지 않는 네트워크 통신 기능을 구현한 용자도 있었다.
TempleOS를 더욱 현대적이고 접근성이 높은 운영체제로 탈바꿈하고자 하는 시도로 ZealOS라는 배포판이 개발되기도 하였다. 다크모드가 지원되고 네트워크 통신 기능이 추가되었으며 언어의 작동 방식도 바뀌었다고 한다.
어떤 양덕후는 이걸 더욱 발전시켜서 Shrine이라는 배포판에 완전한 UI를 구현하기도 하였다.
5. 개발자
자세한 내용은 테리 데이비스 문서 참고하십시오.6. 여담
공식적인 업그레이드는 중단되었지만 많은 프로그래머들이 자발적으로 TempleOS 기반 소프트웨어를 제작하고 기능을 추가하고 있다. 관심이 있다면 공식 서브레딧에서 확인해 보자.TempleOS와 타 세속(?) OS간의 자료교환이 까다로운데 인터넷도 안 되고 USB도 안되고 심지어 플로피도 안되기 때문이다. 간신히 CD굽기는 지원하지만 이마저도 자체 포맷인 Redsea file system(‘홍해’ 포맷)만 지원하기 때문에 타 OS의 PC에선 열어볼 수 없다. 다만 방법이 없는 건 아닌데 TempleOS 가 FAT32 포맷으로 하드디스크에 설치된 상태에서 DOS 시동디스크를 이용하여 DOS로 부팅한 뒤 복사 명령을 이용하여 자료를 빼내는 게 방법이다.[3] DOS에서 파일을 이용하기 위해선 TempleOS 상에서 8.3파일 이름[4] 형태로 저장해야 하며 그렇지 않으면 파일을 제대로 인식하지 못한다.
물론 여기서도 둠은 돌아간다. #, Toom 버전
위에서도 언급된 것처럼 '코드는 신성하고 경건하게 작성해야 하고 완벽하여야 한다' 라는 정언명령(?) 아래에서 프로그램이 커널 최심부(Ring-0)까지 무한한 권한을 가지도록 만들어진 탓에 IT업계에서 악성코드나 보안 이슈 등이 터질 때 댓글란에서 'TempleOS의 HolyC였다면 이런 오점은 용납될수조차 없었다' 등의 찬양(?)으로 등판당하기도 한다.
7. 설치 방법
진짜로 까는 방법과 가상머신에 까는 방법이 있는데 가상머신에 깔기 위해서는 일단 CPU가 vt-x 또는 AMD-v(svm)같은 가상화를 지원해야 원활한 구동이 가능하다. 그리고 당연히 64비트(x86-64 또는 EM64T) 도 지원되는 CPU여야 한다.[5]그래픽 카드는 90년대라면 몰라도 오늘날엔 별 신경을 쓰지 않아도 되며 G210같은 초저가 그래픽 카드라도 아무런 제약을 받지 않을 것이다. 다만 사운드는 좀 까다로운 편인데 일단 버추얼 박스에선 사운드가 먹통이다. VMware에서 설치해야 사운드 재생이 가능하다. 입력장치는 가상머신의 경우 USB 입력장치 호환이 되기에 신경쓰지 않아도 되며 프린터는 기본적으로 미지원한다.
진짜로 까는 방법도 있으나 아무리 신성한 운영체제라고 하지만 사용 난이도 등을 생각해 봤을 때 결코 추천할만한 생각은 아닌 듯 하다. 일단 2020년 이후에 출시된 인텔 CPU를 단 컴퓨터는 원천적으로 설치가 불가능하다. CSM 부팅 지원이 안되기 때문이다. 또한 어찌어찌 구형 CPU나 AMD CPU로 설치한다 한들 USB를 이용하는 모든 주변기기는 먹통이 되기에 키보드와 마우스는 PS/2 포트로, CD-ROM을 사용하고 싶다면 외장형 USB ODD가 아니라 메인보드에 연결하는 작업이 필요하다. 이 과정을 모두 합격한다 한들 사용하기에는 여간 까다로운 게 아닌 게 일단 인터넷도 안되고 사용법도 윈도우에 비하면 매우 난해한 편이며 한글도 아직은 지원하지 않기 때문이다. 64비트를 지원하고 RAM이 512MB이상이며 PS/2 포트가 2개 달렸고 자주 사용하지 않는 구식 컴퓨터에서나 그나마 호기심에 직접 설치 해볼 만하다고 생각된다.
[1]
컨셉이 아니라 진지하게 주장하였던 것 같다. 생전 데이비스는 여러
정신병을 앓았었기 때문이다.
테리 데이비스 항목 참조. 단 TempleOS의 초기 버전인 LoseThos는 단순히 갖고 놀라고 만든 운영체제였다. 테리의 정신병이 악화되면서 본래 개발 목적과 달라진 것이다.
[2]
개발자 본인도 오락 및 학습용 코딩을 주 목적으로 제작한 OS라는 발언을 한 적이 있다.
[3]
Windows 95 OSR2/
Windows 98/98se/Me 또는
Windows XP에서 시동디스크를 작성한 뒤 TempleOS가 깔린 PC에 디스켓을 넣고 부팅하면 FAT32를 읽을 수 있는 DOS가 부팅된다. DOS프롬포트(A:>\) 에서 C:를 입력하여 C드라이브로 이동한 뒤 COPY 또는 XCOPY 명령을 이용하여 자료교환을 하면 된다. 시동디스크 작성 방법은 Win95/98/98se의 경우 시작→시스템 종료→MS-DOS모드로 다시 시작→DOS모드로 빠지면 FORMAT A: /S를 입력 후 엔터이고, WinXP 또는 WinMe는 내 컴퓨터→플로피 디스크(A:₩) 우클릭 후 ‘포맷’ 클릭→’MS-DOS 시동디스크 만들기’ 체크 후 포맷 버튼을 누르면 된다.
[4]
쉽게 말해 8자의 영문 파일이름과 3자의 영문 확장자로 저장하면 된다. 예를 들어 기존에 있는 파일 Helloworld.Hc.Z는 Save As에 들어가서 HELWORLD.HCZ 로 바꿔서 저장하는 식으로 말이다.
[5]
즉, 최소 사양은 코어2 듀오 또는 샌디브릿지 셀러론 정도라고 보면 된다.