ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toInfrastructure
์๋ฌธ ์ฝ๊ธฐ
VBE ์ธํฐํ์ด์ค ๊ธฐ๋ฐ 1024x768 32-bit ๊ณ ํด์๋ ๊ทธ๋ํฝ OS ๊ตฌํ
"๐๏ธ Simp1OS Dev Logs โ The Quest for "BRANCH" and the Mystery of the Infinite "A""
AI ์์ฝ
Context
๊ธฐ์กด 16์ VGA์ ๋ฎ์ ํด์๋์ ์์ ํํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ 32-bit x86 OS ๊ฐ๋ฐ ๊ณผ์ ๋ถ์. ์ปค๋ ์์ค์์ ํ๋์จ์ด ์ง์ ์ ์ด๋ฅผ ํตํ ๊ณ ์ฑ๋ฅ GUI ํ๊ฒฝ ๊ตฌ์ถ์ ๋ชฉํ๋ก ์ค์ .
Technical Solution
- VESA BIOS Extensions(VBE) ์ธํฐํ์ด์ค๋ฅผ ํตํ 1024x768 ํด์๋ ๋ฐ 32-bit color depth ํ๋ณด
- 0xFD000000 ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ์ง์ ์ ๊ทผํ๋ Manual Framebuffer Mapping ๋ฐฉ์ ์ฑํ
- ํ๋ฉด ๊น๋นก์ ์ ๊ฑฐ๋ฅผ ์ํด RAM ๋ด 3MB back-buffer๋ฅผ ์ด์ํ๋ Double-Buffering ๋ฉ์ปค๋์ฆ ๊ตฌํ
- UI ์์์ ๋ ๋๋ง ํจ์จ์ ๋์ด๊ธฐ ์ํด ์์ด์ฝ๊ณผ ํ์คํฌ๋ฐ๋ฅผ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ์ ์ง์ ๊ธฐ๋กํ๋ Baking ์์คํ ์ค๊ณ
- ํฐํธ ๋ ๋๋ง ๋ฃจํ์ ๋ก์ง ์ถฉ๋ ํด๊ฒฐ์ ์ํด Desktop, Menu, Application์ ๋ถ๋ฆฌํ State Machine ์ฌ์ค๊ณ
- ํ๋์จ์ด ์ ์ด Engine๊ณผ UI ๋ก์ง Apps๋ฅผ ์์ ํ ๋ถ๋ฆฌํ Total Modularity ์ํคํ ์ฒ ์ ์ฉ
์ค์ฒ ํฌ์ธํธ
- ํ๋์จ์ด ์ง์ ์ ์ด ์ ๋ฉ๋ชจ๋ฆฌ ๋งตํ ์ฃผ์์ ์ ํํ ์๋ณ๊ณผ ์ ๋ ฌ ํ์ธ - ๊ทธ๋ํฝ ๋ ๋๋ง ์ Flicker ๋ฐฉ์ง๋ฅผ ์ํ ๋๋ธ ๋ฒํผ๋ง ์ ๋ต ๊ฒํ - ๋ณต์กํ ์ํ ๋ณํ๊ฐ ๋ฐ์ํ๋ UI ์์คํ ์ค๊ณ ์ State Machine์ ํตํ ๋ ผ๋ฆฌ ๊ณ์ธต ๋ถ๋ฆฌ ์ ์ฉ