Brutal OS์˜ ๋„ค ๋ฒˆ์งธ ์‹คํ—˜ ๋ฆด๋ฆฌ์Šค

Brutal ํ”„๋กœ์ ํŠธ์˜ ๋„ค ๋ฒˆ์งธ ์‹คํ—˜ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋ฐœํ‘œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์—ด๊ด‘์ ์ธ ์‚ฌ๋žŒ๋“ค์ด 1970๋…„๋Œ€ Unix ์‹œ์Šคํ…œ์˜ ์ด์ƒ๊ณผ ํ˜„๋Œ€ ๊ธฐ์ˆ ์„ ๊ฒฐํ•ฉํ•˜๋ ค๋Š” ์•„ํ‚คํ…์ฒ˜์ธ ๊ฐœ๋ฐฉํ˜• ์šด์˜ ์ฒด์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์ž์ฒด ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๋งˆ์ดํฌ๋กœ ์ปค๋„๊ณผ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” C๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ MIT ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. x86_64, i686, RISC-V ๋ฐ ARM ์•„ํ‚คํ…์ฒ˜์šฉ ๋นŒ๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ณผ๊ฑฐ ํ…Œ์ŠคํŠธ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋งˆ์ดํฌ๋กœ์ปค๋„๊ณผ ๊ธฐ๋ณธ ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๊ฐœ๋ฐœ์— ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น, ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž, ํ‘œ์ค€ ์‹œ์Šคํ…œ ํ˜ธ์ถœ, IPC, ACPI ๋ฐ ๊ฒฝ๋Ÿ‰ ์Šค๋ ˆ๋“œ(ํŒŒ์ด๋ฒ„)๊ฐ€ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„ค ๋ฒˆ์งธ ์‹คํ—˜ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๊ถŒํ•œ ๋ถ„๋ฆฌ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜๊ณ  ์ž์ฒด ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž”์ธ GUI, ๋ฒกํ„ฐ ๊ทธ๋ž˜ํ”ฝ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž”์ธ GFX ๋ฐ ๋ณตํ•ฉ ์„œ๋ฒ„๋ฅผ ๊ฐ–์ถ˜ ๊ทธ๋ž˜ํ”ฝ ํ•˜์œ„ ์‹œ์Šคํ…œ๋„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ Œ๋”๋ง์€ SDL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. SVG ์ด๋ฏธ์ง€, ๋ฒกํ„ฐ ๊ธ€๊ผด ๋ฐ ๊ทธ๋ผ๋””์–ธํŠธ๊ฐ€ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

Brutal OS์˜ ๋„ค ๋ฒˆ์งธ ์‹คํ—˜ ๋ฆด๋ฆฌ์Šค

์ˆ˜ํ–‰๋œ ์ž‘์—…์—๋Š” AHCI ๋ฐ EXT2์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์› ์ƒ์„ฑ, RISC-V ์•„ํ‚คํ…์ฒ˜๋กœ ํฌํŒ…, ์ด์ œ Fuchsia OS์˜ IPC๋ฅผ ์—ฐ์ƒ์‹œํ‚ค๋Š” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” IPC ํ•˜์œ„ ์‹œ์Šคํ…œ ์žฌ์ž‘์—…๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” Doom ๊ฒŒ์ž„ ๊ตฌํ˜„, ํ„ฐ๋ฏธ๋„ ์ง€์›(TTY) ์ถ”๊ฐ€, ๋ช…๋ น ์…ธ ๊ตฌํ˜„, AHCI ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ Ext2/FAT ํŒŒ์ผ ์‹œ์Šคํ…œ์šฉ ๋“œ๋ผ์ด๋ฒ„ ์—…๋ฐ์ดํŠธ๋ฅผ ๊ณ„ํšํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๋‹ค ๋จผ ๊ณ„ํš์—๋Š” ๋„คํŠธ์›Œํฌ ์Šคํƒ ๋ฐ ๋„คํŠธ์›Œํฌ ์žฅ์น˜์šฉ ๋“œ๋ผ์ด๋ฒ„ ๊ฐœ๋ฐœ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€