์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.



1. ๊ฐœ์š”2. ํฌํ•จ๋œ ์†Œํ”„ํŠธ์›จ์–ด ๋ชฉ๋ก
2.1. ๊ฒŒ์ž„2.2. ์Œ์•…2.3. ์ข…๊ต2.4. ๊ธฐํƒ€
3. ์˜ค๋ฝ ์ฝ”๋”ฉ4. ๊ฐœ๋ฐœ์ž5. ์—ฌ๋‹ด

1. ๊ฐœ์š”[ํŽธ์ง‘]

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๋Š” ๋ฏธ๊ตญ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ ํ…Œ๋ฆฌ ๋ฐ์ด๋น„์Šค๊ฐ€ ์‹ญ์—ฌ๋…„์ด ๋„˜๋Š” ๊ธฐ๊ฐ„๋™์•ˆ ํ™€๋กœ ๊ฐœ๋ฐœํ•œ ์šด์˜์ฒด์ œ์ด๋‹ค. 2013๋…„ ์ฒ˜์Œ ๋ฐฐํฌ๋˜์—ˆ๊ณ  2017๋…„ ๋งˆ์ง€๋ง‰์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ๋‹ค.

TempleOS์˜ ๊ฐœ๋ฐœ์ž์ธ ๋ฐ์ด๋น„์Šค๋Š” ์ž์‹ ์ด ์‹ ๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค๊ณ  ์ฃผ์žฅํ•œ๋‹ค. ์‹ ์œผ๋กœ๋ถ€ํ„ฐ 16์ƒ‰ 640x480 ํ•ด์ƒ๋„์˜ ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค๋ผ๋Š” ๊ณ„์‹œ๋ฅผ ๋ฐ›์•„ ๋งŒ๋“ค๊ฒŒ ๋œ ๊ฒƒ์ด ๋ฐ”๋กœ ์ด ์šด์˜์ฒด์ œ.[1] Davis๊ฐ€ ์ง์ ‘ ์ฐฝ์กฐํ•œ ๋ณ€์ข… C์–ธ์–ด์ธ HolyC๋กœ ๊ฐœ๋ฐœ๋˜์—ˆ๋‹ค. ๋น„ํ–‰ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ, 3D FPS ๋ฐ ๊ฐ์ข… ๊ฒŒ์ž„, HolyC ์ปดํŒŒ์ผ๋Ÿฌ, ์‹ ํƒ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ๋“ฑ ํ˜ผ์ž์„œ ๋ชจ๋‘ ๊ฐœ๋ฐœํ–ˆ๋‹ค๊ณ ๋Š” ๋ฏฟ์„ ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๋‹ค์–‘ํ•œ ์‘์šฉํ”„๋กœ๊ทธ๋žจ๋“ค์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

์–ด๋– ํ•œ ์˜คํ”ˆ ์†Œ์Šค๋„ ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ž์‹ ์ด ์ง์ ‘ ์ž‘์„ฑํ–ˆ๋‹ค๊ณ  ํ•œ๋‹ค.

์—ฌ๊ธฐ์—์„œ TempleOS๋ฅผ ์ง„์ง€ํ•˜๊ฒŒ ๋ถ„์„ํ•œ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

2. ํฌํ•จ๋œ ์†Œํ”„ํŠธ์›จ์–ด ๋ชฉ๋ก[ํŽธ์ง‘]

2.1. ๊ฒŒ์ž„[ํŽธ์ง‘]

2.2. ์Œ์•…[ํŽธ์ง‘]

2.3. ์ข…๊ต[ํŽธ์ง‘]

2.4. ๊ธฐํƒ€[ํŽธ์ง‘]

3. ์˜ค๋ฝ ์ฝ”๋”ฉ[ํŽธ์ง‘]

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.



HolyC์™€ x86_64 ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ชจ๋“  ์ฝ”๋“œ๊ฐ€ Ring-0์—์„œ ์ž‘๋™ํ•˜๋ฏ€๋กœ ํ•˜๋“œ์›จ์–ด์— ์•„๋ฌด๋Ÿฐ ์ œํ•œ ์—†์ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ณ , ์†Œ์Šค ์ฝ”๋“œ ์•ˆ์— ์ด๋ฏธ์ง€๋ฅผ ์ฒจ๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ๋“ฑ ์ƒ๋‹นํžˆ ์‹ ๊ธฐํ•œ ํŠน์ง•๋“ค์„ ๋งŽ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. UI๋Š” CUI์™€ GUI๊ฐ€ ๊ฒฝ๊ณ„ ์—†์ด ์–ด์šฐ๋Ÿฌ์ง„ ํ˜•ํƒœ์ด๋‹ค. ์ด๋Ÿฌํ•œ TempleOS๋งŒ์˜ ๋…ํŠนํ•œ ํŠน์ง•๋“ค์ด ์˜ค๋ฝ์šฉ ์ฝ”๋”ฉ์— ์œ ๋ฆฌํ•˜๊ฒŒ ์ž‘์šฉํ•œ๋‹ค๋Š” ํ‰๊ฐ€๊ฐ€ ๋งŽ๋‹ค.[8]

๋ช‡๋ช‡ ์–‘๋•๋“ค์€ ์˜ค๋ฝ์šฉ ์ฝ”๋”ฉ์— ์œ ๋ฆฌํ•œ ์ด๋Ÿฐ ํŠน์ง•๋“ค์— ์ฃผ๋ชฉํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ๊ฐœ๋ฐœํ•˜๊ธฐ๋„ ํ–ˆ๋Š”๋ฐ ํ…ŒํŠธ๋ฆฌ์Šค ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฒŒ์ž„์„ ๊ตฌํ˜„ํ•˜๊ณ , demo scene์„ ์ œ์ž‘ํ•˜๊ฑฐ๋‚˜, ๊ฒŒ์ž„๋ณด์ด ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ์ œ์ž‘ํ•˜๊ฑฐ๋‚˜, ์‹ฌ์ง€์–ด ์›๋ž˜๋Š” ์ง€์›๋˜์ง€ ์•Š๋Š” ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•œ ์šฉ์ž๋„ ์žˆ์—ˆ๋‹ค.

TempleOS๋ฅผ ๋”์šฑ ํ˜„๋Œ€์ ์ด๊ณ  ์ ‘๊ทผ์„ฑ์ด ๋†’์€ ์šด์˜์ฒด์ œ๋กœ ํƒˆ๋ฐ”๊ฟˆํ•˜๊ณ ์ž ํ•˜๋Š” ์‹œ๋„๋กœ Shrine์ด๋ผ๋Š” ๋ฐฐํฌํŒ์ด ๊ฐœ๋ฐœ๋˜๊ธฐ๋„ ํ•˜์˜€๋‹ค. Lambda Shell์ด ์ง€์›๋˜๊ณ  ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋“ค์„ ์ถ”๊ฐ€๋กœ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

4. ๊ฐœ๋ฐœ์ž[ํŽธ์ง‘]

5. ์—ฌ๋‹ด[ํŽธ์ง‘]

๊ณต์‹์ ์ธ ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ์ค‘๋‹จ๋˜์—ˆ์ง€๋งŒ, ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์ด ์ž๋ฐœ์ ์œผ๋กœ TempleOS ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค. ๊ด€์‹ฌ์ด ์žˆ๋‹ค๋ฉด ๊ณต์‹ ์„œ๋ธŒ๋ ˆ๋”ง์—์„œ ํ™•์ธํ•ด๋ณด์ž.
[1] ๋ ˆ๋ฏธ๋””์•„ ๋ฐ”์‹ค๋ฆฌ์นด๊ฐ€ ๊ณต๊ตญ์— ์žˆ์–ด์„œ ๋ฐ˜ํˆฌ์กฑ๊ณผ๋Š” ๋™๋งน์ด๋ผ ์‰ฝ๊ฒŒ ์–‘ํ•ด๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ ๋กœ์Šค ์ œ๊ตญ์€ ์—ฌ์ „ํžˆ ๊ทธ๋ฆผ์‹œ์ปค๋ฅผ ๋น„ํ˜ธํ•˜๊ณ  ์žˆ์ง€๋งŒ ํƒ€ ๊ตญ๊ฐ€๋“ค, ํŠนํžˆ ๋ฒจ ๋งˆ์ด์–ด ๊ณต๊ตญ์—๊ฒŒ ์ ์  ๊ผฌ๋ฆฌ๋ฅผ ์žกํžˆ๋Š” ์ค‘์ด๋ผ ๋” ์ด์ƒ ๋ณดํ˜ธํ•  ์ˆ˜ ์—†์„ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. ์ธ๊ฒŒ์ž„์—์„œ๋Š” ๋ฐ˜ํˆฌ์กฑ์˜ ๋ˆˆ์‚ฌํƒœ ๋ผ๋น„๋‚˜์™€ ์ œ๊ตญ์ธ์ธ ๋ฃจ์‹ค ๋ ˆ๋“œ๋ฉ”์ธ์ด ์„ค์‚ฐ์—์„œ ๋Œ€์น˜ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค.
[10] ์‹ค์ œ๋กœ ์บฅ๊ฑฐ๋ฃจ๊ฐ€ ์‹ธ์šธ ๋•Œ๋Š” ๊ผฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๋ชธ์„ ์ง€ํƒฑํ•˜๋ฉด์„œ ๋ฐœ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
[11] ์บฅ๊ฑฐ๋ฃจ๊ณผ์— ์บฅ๊ฑฐ๋ฃจ์†์ด ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ๋ถ€๋ฅด๋Š” ์บฅ๊ฑฐ๋ฃจ๋ž€ ๋ช…์นญ์€ ์บฅ๊ฑฐ๋ฃจ๊ณผ ๋™๋ฌผ์˜ ์ด์นญ์ด๋‹ค.