SerenityOS ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Acid3 ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค.

SerenityOS ์šด์˜ ์ฒด์ œ ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ํ‘œ์ค€ ์ง€์›์„ ์œ„ํ•ด ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” Acid3 ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ๋‹ค๊ณ  ๋ณด๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค. Acid3 ํ˜•์„ฑ ์ดํ›„ ๋งŒ๋“ค์–ด์ง„ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐฉํ˜• ๋ธŒ๋ผ์šฐ์ € ์ค‘์—์„œ SerenityOS ๋ธŒ๋ผ์šฐ์ €๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์™„์ „ํžˆ ํ†ต๊ณผํ•œ ์ตœ์ดˆ์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

SerenityOS ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Acid3 ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค.

Acid3 ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋Š” HTML2008 ์‚ฌ์–‘์˜ ์ฐฝ์‹œ์ž์ด์ž CSS ์‚ฌ์–‘์˜ ๊ณต๋™ ์ €์ž์ธ Ian Hickson์ด 5๋…„์— ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Acid3์—๋Š” ๊ธ์ •์ ์ด๊ฑฐ๋‚˜ ๋ถ€์ •์ ์ธ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋กœ ์ค€๋น„๋œ 100๊ฐœ์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML ๋“ฑ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์˜์—ญ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋Š” 2011๋…„์— ์—…๋ฐ์ดํŠธ๋˜์—ˆ์ง€๋งŒ ์ตœ์‹  ์›น ์‚ฌ์–‘์˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์ตœ์‹  Chrome ๋ฐ Firefox๋Š” Acid97 ํ…Œ์ŠคํŠธ 100๊ฐœ ์ค‘ 3๊ฐœ๋งŒ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค.

SerenityOS ๋ธŒ๋ผ์šฐ์ €๋Š” C++๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ BSD ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์žˆ๋Š” ์ž์ฒด ๋ธŒ๋ผ์šฐ์ € ์—”์ง„ LibWeb๊ณผ JavaScript ์ธํ„ฐํ”„๋ฆฌํ„ฐ LibJS๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. WebAssembly ์ค‘๊ฐ„ ์ฝ”๋“œ ์‹คํ–‰์ด ์ง€์›๋ฉ๋‹ˆ๋‹ค. HTTP ๋ฐ HTTPS ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด LibHTTP ๋ฐ LibTLS ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค.

Serenity ํ”„๋กœ์ ํŠธ๋Š” 86๋…„๋Œ€ ํ›„๋ฐ˜ ์šด์˜ ์ฒด์ œ ์Šคํƒ€์ผ๋กœ ์„ค๊ณ„๋œ ์ž์ฒด ์ปค๋„ ๋ฐ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–์ถ˜ x86 ๋ฐ x64_1990 ์•„ํ‚คํ…์ฒ˜์šฉ Unix ๊ณ„์—ด ์šด์˜ ์ฒด์ œ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์ ์„ ์ƒ๊ธฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์€ ๊ด€์‹ฌ์„ ์œ„ํ•ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆ˜ํ–‰๋˜๋ฉฐ ๊ธฐ์กด ์šด์˜ ์ฒด์ œ์˜ ์ฝ”๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ €์ž๋Š” SerenityOS๋ฅผ ์ผ์ƒ ์ž‘์—…์— ์ ํ•ฉํ•œ ์ˆ˜์ค€์œผ๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๊ณ  90๋…„๋Œ€ ํ›„๋ฐ˜ ์‹œ์Šคํ…œ์˜ ๋ฏธํ•™์„ ๋ณด์กดํ•˜๋ฉด์„œ๋„ ํ˜„๋Œ€ ์‹œ์Šคํ…œ์˜ ๊ณ ๊ธ‰ ์‚ฌ์šฉ์ž์—๊ฒŒ ์œ ์šฉํ•œ ์•„์ด๋””์–ด๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ๋ชฉํ‘œ๋ฅผ ์„ธ์› ์Šต๋‹ˆ๋‹ค.

SerenityOS ์ปค๋„์€ ์„ ์ ํ˜• ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น, ํ•˜๋“œ์›จ์–ด ๋ณดํ˜ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜(SMEP, SMAP, UMIP, NX, WP, TSD) ์‚ฌ์šฉ, ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ, IPv4 ์Šคํƒ, Ext2 ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์‹œ์Šคํ…œ, POSIX ์‹ ํ˜ธ, mmap(), ELF ํ˜•์‹์˜ ์‹คํ–‰ ํŒŒ์ผ, ์˜์‚ฌ FS/proc, Unix ์†Œ์ผ“, ์˜์‚ฌ ํ„ฐ๋ฏธ๋„, ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ.

์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์€ ๋ณตํ•ฉ ๋ฐ ์ฝ˜์†” ๊ด€๋ฆฌ์ž(WindowServer, TTYServer), ๋ช…๋ น์ค„ ์…ธ, ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(LibC), ํ‘œ์ค€ ์‚ฌ์šฉ์ž ์œ ํ‹ธ๋ฆฌํ‹ฐ ์„ธํŠธ ๋ฐ ์ž์ฒด GUI ํ”„๋ ˆ์ž„์›Œํฌ(LibGUI, LibGfx, LibGL) ๊ธฐ๋ฐ˜ ๊ทธ๋ž˜ํ”ฝ ํ™˜๊ฒฝ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ) ๋ฐ ์œ„์ ฏ ์„ธํŠธ. ๊ทธ๋ž˜ํ”ฝ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์„ธํŠธ์—๋Š” ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ, ์‹œ๊ฐ์  ์ธํ„ฐํŽ˜์ด์Šค ๋””์ž์ธ์šฉ ํ™˜๊ฒฝ HackStudio, ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ, ์˜ค๋””์˜ค ์‹ ๋””์‚ฌ์ด์ €, ํŒŒ์ผ ๊ด€๋ฆฌ์ž, ์—ฌ๋Ÿฌ ๊ฒŒ์ž„, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์šฉ ์ธํ„ฐํŽ˜์ด์Šค, ๊ธ€๊ผด ํŽธ์ง‘๊ธฐ, ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๊ด€๋ฆฌ์ž, ํ„ฐ๋ฏธ๋„์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์—๋ฎฌ๋ ˆ์ดํ„ฐ, ๊ตฌ์„ฑ์ž, PDF ๋ทฐ์–ด, ๊ทธ๋ž˜ํ”ฝ ํŽธ์ง‘๊ธฐ PixelPaint, ์Œ์•… ํ”Œ๋ ˆ์ด์–ด, ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ ํŽธ์ง‘๊ธฐ, ๋น„๋””์˜ค ํ”Œ๋ ˆ์ด์–ด.

SerenityOS ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐœ๋ฐœํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ Acid3 ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ต๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค.


์ถœ์ฒ˜ : opennet.ru

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