๋ณธ๋ฌธ์œผ๋กœ ์ด๋™

DotGNU

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.
DotGNU
๊ฐœ๋ฐœ์ž๋ฆฌ์Šค ์›จ๋œ๋ฆฌ (Southern Storm Software Pty), ํด๋ผ์šฐ์Šค ํŠธ๋ผ์ดํ—ฌ, ํ†ต ์‘์šฐ์˜Œ, ๊ณ ํŒ” V, ๋…ธ๋ฅด๋ฒ ๋ฅดํŠธ ๋ณผ๋กœ
์ตœ์ข… ๋ฒ„์ „
0.8.0 / 2007๋…„ 3์›” 20์ผ(19๋…„ ์ „)(2007-03-20)
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดC, C#
์šด์˜ ์ฒด์ œ๋ฆฌ๋ˆ…์Šค, BSD, ๋งฅ OS X, ์†”๋ผ๋ฆฌ์Šค, AIX, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ, ๊ธฐํƒ€
์ข…๋ฅ˜์‹œ์Šคํ…œ ํ”Œ๋žซํผ
๋ผ์ด์„ ์ŠคGPL ๋ฐ LGPL
์›น์‚ฌ์ดํŠธwww.dotgnu.org

DotGNU(๋‹ท๊ทธ๋ˆ„)๋Š” ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ๋‹ท๋„ท ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์ œ๊ณต์„ ๋ชฉํ‘œ๋กœ 2001๋…„ 1์›”์— ์‹œ์ž‘๋˜์—ˆ๋‹ค๊ฐ€ ํ˜„์žฌ๋Š” ์ค‘๋‹จ๋œ[1] GNU ํ”„๋กœ์ ํŠธ์˜ ์ผ๋ถ€์ด๋‹ค. DotGNU ํ”„๋กœ์ ํŠธ๋Š” ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ์— ์˜ํ•ด ์šด์˜๋˜์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋‹ค๋ฅธ ๋ชฉํ‘œ๋กœ๋Š” ๋น„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์ง€์›๊ณผ ๋” ๋งŽ์€ ํ”„๋กœ์„ธ์„œ ์ง€์›์ด ์žˆ๋‹ค.

DotGNU ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ ๋ฒ ์ด์Šค์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” 100% ๊ณตํ†ต ์–ธ์–ด ์‚ฌ์–‘(CLS)์„ ์ค€์ˆ˜ํ•˜๋Š” ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ฃผ์š” ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ

[ํŽธ์ง‘]

Portable.NET

[ํŽธ์ง‘]

ECMA-335 ๊ณตํ†ต ์–ธ์–ด ๊ธฐ๋ฐ˜(CLI)์˜ ๊ตฌํ˜„์ฒด์ธ DotGNU Portable.NET์€ ๋‹ท๋„ท ๊ธฐ๋ณธ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, XML ๋ฐ ์œˆ๋„์šฐ ํผ์„ ์‚ฌ์šฉํ•˜๋Š” ๋น„์ฃผ์–ผ ๋ฒ ์ด์ง ๋‹ท๋„ท, C# ๋ฐ C ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํฌํ•จํ•œ๋‹ค. Portable.NET์€ x86, PPC, ARM, SPARC ๋“ฑ ๋‹ค์–‘ํ•œ ๋ช…๋ น์–ด ์ง‘ํ•ฉ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค๊ณ  ๋ฐํžˆ๊ณ  ์žˆ๋‹ค.

DotGNU Execution Environment(DGEE)๋Š” ์›น ์„œ๋น„์Šค ์„œ๋ฒ„์ด๋‹ค.

libJIT๋Š” ๊ฐ€์ƒ ๋จธ์‹  ๊ตฌํ˜„, ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์—์„œ ๊ณ ๊ธ‰ JIT ์ปดํŒŒ์ผ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ JIT ์ปดํŒŒ์ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋‹ค. ์ด๋Š” ๋ณ€์ˆ˜๊ฐ€ ์ •์  ๋‹จ์ผ ํ• ๋‹น ํ˜•์‹์œผ๋กœ ์œ ์ง€๋˜๋Š” 3-์–ด๋“œ๋ ˆ์Šค ์ฝ”๋“œ ๊ธฐ๋ฐ˜์˜ ์ค‘๊ฐ„ ํ‘œํ˜„์„ ๊ตฌํ˜„ํ•œ๋‹ค.

libJIT๋Š” GNU ์ด๋งฅ์Šค,[2][3] ILDJIT[4] ๋ฐ HornetsEye[5]๋ฅผ ํฌํ•จํ•œ ๋‹ค๋ฅธ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์ผ๋ถ€ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.

ํ”„๋ ˆ์ž„์›Œํฌ ๊ตฌ์กฐ

[ํŽธ์ง‘]
๋‹จ์ˆœํ™”๋œ ๋ชจ๋…ธ ๊ตฌ์กฐ

Portable .NET ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ ์ž ํ•œ๋‹ค. ์ด๋“ค์€ ์ฃผ๋กœ C#์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์ง€๋งŒ, ๊ณตํ†ต ์–ธ์–ด ์‚ฌ์–‘ ๋•๋ถ„์— ๋ชจ๋“  ๋‹ท๋„ท ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ท๋„ท๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค์™€ ์–ด์…ˆ๋ธ”๋ฆฌ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.[6] ์—ฌ๊ธฐ์—๋Š” Accessibility ๋ฐ DotGNU๋ฅผ ํฌํ•จํ•œ ์ถ”๊ฐ€์ ์ธ ์ตœ์ƒ์œ„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ž‘๋™ ๋ฐฉ์‹์—์„œ Portable .NET ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ECMA-335 6์žฅ์— ๊ทœ์ •๋œ ๋Œ€๋กœ ๊ณตํ†ต ์–ธ์–ด ์‚ฌ์–‘(CLS) ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ , Portable .NET ๋Ÿฐํƒ€์ž„์ด ์ด ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์™€ ์‹คํ–‰ํ•œ๋‹ค.

์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด

[ํŽธ์ง‘]

DotGNU๋Š” ์ž์‹ ์ด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด์ž„์„ ๊ฐ•์กฐํ•˜๋ฉฐ, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ์˜ GUI ์ฝ”๋“œ ํ˜ธ์ถœ๊ณผ ๊ฐ™์€ ๋…์  ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ์ตœ์†Œํ™”ํ•˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. DotGNU๋Š” 2007๋…„ 7์›” 31์ผ[7]๋ถ€ํ„ฐ 2008๋…„ 10์›” 2์ผ[8]๊นŒ์ง€ ๋†’์€ ์šฐ์„ ์ˆœ์œ„์˜ ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์ ํŠธ ์ค‘ ํ•˜๋‚˜์˜€๋‹ค.

DotGNU์™€ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ํŠนํ—ˆ

[ํŽธ์ง‘]

ํ‘œ์ค€ํ™”๋ฅผ ์œ„ํ•ด ECMA์— ์ œ์ถœ๋˜์ง€ ์•Š์€ ๋‹ท๋„ท ์Šคํƒ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์— ๋Œ€ํ•œ DotGNU์˜ ๊ตฌํ˜„์€ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ๊ธฐ๊ฐ„ ์ค‘ ์ƒ๋‹น ๋ถ€๋ถ„ ๋™์•ˆ ํŠนํ—ˆ ์นจํ•ด ์šฐ๋ ค์˜ ์›์ธ์ด ๋˜์—ˆ๋‹ค. ํŠนํžˆ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ํŠนํ—ˆ ์†Œ์†ก์„ ํ†ตํ•ด DotGNU ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฌด๋„ˆ๋œจ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋…ผ์˜๊ฐ€ ์ด๋ฃจ์–ด์กŒ๋‹ค.

ECMA์— ์ œ์ถœ๋œ ๊ธฐ๋ณธ ๊ธฐ์ˆ ๋“ค์€ ๋ฌธ์ œ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ๋‹ค. ์šฐ๋ ค๋Š” ์ฃผ๋กœ ASP.NET, ADO.NET, ์œˆ๋„์šฐ ํผ(ํ‘œ์ค€ํ™”๋˜์ง€ ์•Š์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ฐธ์กฐ)๊ณผ ๊ฐ™์ด ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๊ฐ€ ๋‹ท๋„ท ํ”„๋ ˆ์ž„์›Œํฌ ์œ„์—์„œ ๊ฐœ๋ฐœํ•œ ๊ธฐ์ˆ ๋“ค, ์ฆ‰ DotGNU์˜ ์œˆ๋„์šฐ ํ˜ธํ™˜์„ฑ ์Šคํƒ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ถ€๋ถ„๋“ค๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ๋“ค์€ ํ˜„์žฌ DotGNU์—์„œ ์™„์ „ํžˆ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ DotGNU ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ํ•„์ˆ˜์ ์ธ ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค.

2009๋…„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ํŠนํ—ˆ ํ—ˆ์—ฌ๊ฐ€ ํฌํ•จ๋œ ์•„ํŒŒ์น˜ ๋ผ์ด์„ ์Šค ๋ฒ„์ „ 2.0์œผ๋กœ ๋‹ท๋„ท ๋งˆ์ดํฌ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ถœ์‹œํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ท๋„ท ๋งˆ์ดํฌ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” CLR์˜ ์žฌ๊ตฌํ˜„์ฒด์ด๋ฉฐ ์ž„๋ฒ ๋””๋“œ ์žฅ์น˜์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ œํ•œ๋œ ํ•˜์œ„ ์ง‘ํ•ฉ์ด๋‹ค. ๋˜ํ•œ ์•„ํŒŒ์น˜ ๋ผ์ด์„ ์Šค์˜ ํŠนํ—ˆ ํ—ˆ์—ฌ๋Š” ๋‹ท๋„ท ๋งˆ์ดํฌ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ธฐ์—ฌ์ž ๋ฐ ์‚ฌ์šฉ์ž๋งŒ์„ ๋ณดํ˜ธํ–ˆ์„ ๊ฒƒ์ด๋ฉฐ, DotGNU๋‚˜ ๋ชจ๋…ธ์™€ ๊ฐ™์€ ๋Œ€์•ˆ ๊ตฌํ˜„์ฒด์˜ ์‚ฌ์šฉ์ž ๋ฐ ๊ฐœ๋ฐœ์ž๋Š” ๋ณดํ˜ธํ•˜์ง€ ์•Š์•˜์„ ๊ฒƒ์ด๋‹ค.

2014๋…„ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ์•„ํŒŒ์น˜ ๋ผ์ด์„ ์Šค๋กœ ์ฐจ์„ธ๋Œ€ ๊ณต์‹ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ C# ์ปดํŒŒ์ผ๋Ÿฌ์ธ Roslyn์„ ์ถœ์‹œํ–ˆ๋‹ค. ๊ทธํ•ด ๋ง, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ๋Š” ๊ณต์‹ ๋‹ท๋„ท ํ”„๋ ˆ์ž„์›Œํฌ์˜ "์žฌ์‹œ๋™"์„ ๋ฐœํ‘œํ–ˆ๋‹ค. ํ•ด๋‹น ํ”„๋ ˆ์ž„์›Œํฌ๋Š” MIT ํ—ˆ๊ฐ€์„œ๋กœ ์ถœ์‹œ๋œ ๊ณต์‹ ๋Ÿฐํƒ€์ž„ ๋ฐ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํฌํ•จํ•˜๋Š” .NET Core๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ๋‹ท๋„ท ์ฝ”์–ด์™€ ๊ด€๋ จ๋œ ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์†Œ์œ  ํŠนํ—ˆ๋กœ๋ถ€ํ„ฐ ์ˆ˜ํ˜œ์ž๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๋ณดํ˜ธํ•˜๋Š” ํŠนํ—ˆ ํ—ˆ์—ฌ๋ฅผ ํฌํ•จํ•œ๋‹ค.

๊ฐ™์ด ๋ณด๊ธฐ

[ํŽธ์ง‘]

๊ฐ์ฃผ

[ํŽธ์ง‘]
  1. โ†‘ โ€œDotGNU Projectโ€. 2005๋…„ 8์›” 16์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2026๋…„ 1์›” 7์ผ์— ํ™•์ธํ•จ. As of December 2012, the DotGNU project has been decommissioned, until and unless a substantial new volunteer effort arises. The exception is the libjit component, which is now a separate libjit package.
  2. โ†‘ โ€œEmacs Lisp JIT Compilerโ€.
  3. โ†‘ โ€œEmacs.git - Emacs source repositoryโ€.
  4. โ†‘ https://web.archive.org/web/20111201192347/http://sourceforge.net/apps/mediawiki/ildjit/index.php?title=Main_Page
  5. โ†‘ https://web.archive.org/web/20100328171539/http://www.wedesoft.demon.co.uk/hornetseye-api/files/HornetsEye-txt.html
  6. โ†‘ โ€œGNU Portable .NET documentationโ€. 2005๋…„ 2์›” 4์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2006๋…„ 1์›” 15์ผ์— ํ™•์ธํ•จ.
  7. โ†‘ ใ€ŠGNU High Priority Free Software Projectsใ€‹, FSF, 2007๋…„ 7์›” 31์ผ, 2007๋…„ 8์›” 10์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ
  8. โ†‘ ใ€ŠGNU High Priority Free Software Projectsใ€‹, FSF, 2008๋…„ 10์›” 1์ผ, 2008๋…„ 10์›” 2์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ

์™ธ๋ถ€ ๋งํฌ

[ํŽธ์ง‘]