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

๊ตฌ๊ธ€ ๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์ด์–ธํŠธ

์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „.
(Google Native Client์—์„œ ๋„˜์–ด์˜ด)
๊ตฌ๊ธ€ ๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์ด์–ธํŠธ
Google Native Client
๊ฐœ๋ฐœ์ž๊ตฌ๊ธ€ ๋“ฑ
๋ฐœํ‘œ์ผ2011๋…„ 9์›” 16์ผ(15๋…„ ์ „)(2011-09-16)[1]
์•ˆ์ •ํ™” ๋ฒ„์ „
SDK: Pepper 45 / 2015๋…„ 7์›” 10์ผ(11๋…„ ์ „)(2015-07-10)

ํด๋ผ์ด์–ธํŠธ: ๊ตฌ๊ธ€ ํฌ๋กฌ๊ณผ ๋™์ผ

์ €์žฅ์†Œ
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ดC++
์šด์˜ ์ฒด์ œํฌ๋กœ์Šค ํ”Œ๋žซํผ: ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์œˆ๋„์šฐ, ๋ฆฌ๋ˆ…์Šค, ๋งฅ OS, ํฌ๋กฌ OS
์ข…๋ฅ˜๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ ์‹คํ–‰์„ ์œ„ํ•œ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ƒŒ๋“œ๋ฐ•์Šค
๋ผ์ด์„ ์Šค์‹ ๊ทœ BSD ๋ผ์ด์„ ์Šค
์ƒํƒœ์—ฐ๊ตฌ ์ค‘
์›น์‚ฌ์ดํŠธcode.google.com/p/nativeclient

๊ตฌ๊ธ€ ๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์ด์–ธํŠธ(์˜์–ด: Google Native Client, NaCl)๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋ฐ˜ ์‹คํŒจ ๋ถ„๋ฆฌ(fault isolation)[2]๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธํ…” x86์ด๋‚˜ ARM ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ์˜ ํ•˜๋ถ€์ง‘ํ•ฉ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ƒŒ๋“œ๋ฐ•์Šค ๊ธฐ์ˆ ์ด๋‹ค. ํ˜„์žฌ๋Š” ๊ฐœ๋ฐœ ์ค‘์— ์žˆ๋Š” ์ด ๊ธฐ์ˆ ์€ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ๋ถ€ํ„ฐ ๋„ค์ดํ‹ฐ๋ธŒ ์ฝ”๋“œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์›น ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋„ค์ดํ‹ฐ๋ธŒ์— ๊ฐ€๊นŒ์šด ์†๋„๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.[3] ๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์ด์–ธํŠธ๋Š” ๊ตฌ๊ธ€์ด ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๋‹ค.[4]

ํŽ˜ํผ

[ํŽธ์ง‘]

NaCl๋Š” ์—ผํ™” ๋‚˜ํŠธ๋ฅจ์„ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์–ธ์–ด ์œ ํฌ๋กœ ํ›„์ถ”์˜ ์ด๋ฆ„์œผ๋กœ ํŽ˜ํผ๊ฐ€ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค. ํŽ˜ํผ API๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์ด์–ธํŠธ ๋ชจ๋“ˆ๋“ค์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ, ์˜คํ”ˆ ์†Œ์Šค API์ด๋‹ค.[5] ํŽ˜ํผ ํ”Œ๋Ÿฌ๊ทธ์ธ API, ์ฆ‰ PPAPI[6][7]๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ํด๋ผ์ด์–ธํŠธ ๋ณด์•ˆ ์›น ๋ธŒ๋ผ์šฐ์ € ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์œ„ํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ API๋กœ์„œ, ์ฒ˜์Œ์—๋Š” ๋„ท์Šค์ผ€์ดํ”„ NPAPI์— ๊ธฐ๋ฐ˜์„ ๋‘๋‹ค๊ฐ€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. ํ˜„์žฌ๋Š” PPAPI ๋ฒ„์ „์˜ ์–ด๋„๋น„ ํ”Œ๋ž˜์‹œ[8]์™€ ๋‚ด์žฅ PDF ๋ทฐ์–ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํฌ๋กœ๋ฏธ์—„๊ณผ ๊ตฌ๊ธ€ ํฌ๋กฌ์— ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.[9]

2009๋…„ 8์›” 12์ผ, ๊ตฌ๊ธ€ ์ฝ”๋“œ์˜ ํ•œ ํŽ˜์ด์ง€๋Š” "ํŽ˜ํผ"๋ผ๋Š” ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ๋ณด์˜€์œผ๋ฉฐ ํŽ˜ํผ ํ”Œ๋Ÿฌ๊ทธ์ธ API, ์ฆ‰ PPAPI์™€ ์—ฐ๊ณ„ํ•˜์˜€๋Š”๋ฐ,[10] ์ด๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๋” ํœด๋Œ€์„ฑ์žˆ๊ฒŒ ๋” ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด NPAPI์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์˜ ์ง‘ํ•ฉ์ด๋‹ค.[11]

๊ฐ์ฃผ

[ํŽธ์ง‘]
  1. โ†‘ โ€œGoogle's Native Client goes live in Chromeโ€. ใ€ŠThe Registerใ€‹. 2011๋…„ 9์›” 16์ผ. 2016๋…„ 3์›” 12์ผ์— ํ™•์ธํ•จ.
  2. โ†‘ Efficient software-based fault isolation ๋ณด๊ด€๋จ 2008-06-11 - ์›จ์ด๋ฐฑ ๋จธ์‹ , Robert Wahbe, Steven Lucco, Thomas E. Anderson, Susan L. Graham, 1993
  3. โ†‘ โ€œNative Client: A Technology for Running Native Code on the Webโ€. 2013๋…„ 1์›” 20์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2012๋…„ 12์›” 11์ผ์— ํ™•์ธํ•จ.
  4. โ†‘ Google Native Client on Google Code
  5. โ†‘ โ€œTechnical Overviewโ€. 2014๋…„ 2์›” 28์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2017๋…„ 2์›” 12์ผ์— ํ™•์ธํ•จ.
  6. โ†‘ โ€œPepper Plugin API project atโ€. Google. 2016๋…„ 9์›” 9์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2012๋…„ 4์›” 25์ผ์— ํ™•์ธํ•จ.
  7. โ†‘ โ€œChrome Source: Index of /trunk/src/ppapiโ€. Src.chromium.org. 2012๋…„ 4์›” 25์ผ์— ํ™•์ธํ•จ.
  8. โ†‘ โ€œThe road to safer, more stable, and flashier Flashโ€. Google. 2012๋…„ 8์›” 8์ผ. 2013๋…„ 8์›” 10์ผ์— ํ™•์ธํ•จ.
  9. โ†‘ Metz, Cade (2010๋…„ 6์›” 18์ผ). โ€œGoogle hugs Adobe harder with Chrome-PDF mergeโ€. The Register. 2012๋…„ 4์›” 25์ผ์— ํ™•์ธํ•จ.
  10. โ†‘ โ€œGetting Started: Background and Basics โ€“ The Chromium Projectsโ€. Chromium.org. 2017๋…„ 3์›” 15์ผ์— ์›๋ณธ ๋ฌธ์„œ์—์„œ ๋ณด์กด๋œ ๋ฌธ์„œ. 2012๋…„ 4์›” 25์ผ์— ํ™•์ธํ•จ.
  11. โ†‘ Comment by t.hajdu....@gmail.com (2012๋…„ 2์›” 24์ผ). โ€œPepper.wikiโ€. Google. 2012๋…„ 4์›” 25์ผ์— ํ™•์ธํ•จ.

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

[ํŽธ์ง‘]
  • asm.jsย : ์›น ๊ธฐ๋ฐ˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ ๊ธฐ์ˆ .

์˜ˆ์ œ

[ํŽธ์ง‘]

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

[ํŽธ์ง‘]