์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

์ถœ์ฒ˜: http://kin.naver.com/knowhow/entry.php?eid=UvRpyW8yP2g+VvhY0HHMHSzQhvBuJyNF

์ปดํ“จํ„ฐ ์„ธ๊ณ„์— ๋น ์ ธ๋“ค๋ฉด ์–ธ์  ๊ฐ€๋Š” ์ปดํ“จํ„ฐ๋‚˜ ์šด์˜์ฒด์ œ, ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋Š” ์š•์‹ฌ์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฅธ๋ฐ” ์ „์ฒด์ ์ด๊ณ  ์ข…ํ•ฉ์ ์ธ '๊ธฐ๋ณธ๊ธฐ'๊ฐ€ ์ถฉ์‹คํžˆ ์Œ“์—ฌ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๊ทธ ๊ฟˆ์€ ๊ฟˆ์œผ๋กœ ๊ทธ์น  ์ˆ˜๋ฐ–์— ์—†๋‹ค. ์ด ๊ธ€์€ ์ „์‚ฐํ•™์ด๋ผ๋Š” ํ™”๋‘๋ฅผ ๊ฐ–๊ณ , ์•„๋ฌด๋ฆฌ ๊ฐ•์กฐํ•ด๋„ ์ง€๋‚˜์น˜์ง€ ์•Š๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ์•„์•ผ ํ•  '๊ธฐ๋ณธ ์ง€์‹'์„ ์‚ดํŽด๋ณด๋Š” ๋ฐ ๊ทธ ๋ชฉ์ ์ด ์žˆ๋‹ค.

"์ปดํ“จํ„ฐ๋ฅผ ์ „๊ณตํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ์ธ๋ฐ, ์ปดํ“จํ„ฐ๋ฅผ ์ž˜ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?" ์˜ˆ์ „์— ์–ด๋–ค ์‚ฌ๋žŒ์ด ์ด๋Ÿฐ ์งˆ๋ฌธ์„ ํ•ด์™”๋‹ค. ์ด ์งˆ๋ฌธ์œผ๋กœ ์–˜๊ธฐ๋ฅผ ์‹œ์ž‘ํ•ด ๋ณด์ž(์‚ฌ์‹ค ํ•„์ž๋„ ์ปดํ“จํ„ฐ๋ฅผ ํ•™๋ฌธ์œผ๋กœ ์ „๊ณตํ•œ ์‚ฌ๋žŒ์€ ์•„๋‹ˆ๋‹ค).
๋ชจ๋“  ๋ถ„์•ผ์˜ ์ผ์ด ๋งˆ์ฐฌ๊ฐ€์ง€์ง€๋งŒ, ์ปดํ“จํ„ฐ ๊ด€๋ จ ์—”์ง€๋‹ˆ์–ด๋ง ๋ถ„์•ผ๋งŒํผ ์ด๋ก ๊ณผ ์‹ค์ œ์˜ ์ฐจ์ด๊ฐ€ ํ•ญ์ƒ ๋ฏผ๊ฐํ•˜๊ฒŒ ๊ต์ฐจ๋˜๋Š” ๋ถ„์•ผ๊ฐ€ ๊ทธ๋ฆฌ ํ”ํ•˜์ง€๋Š” ์•Š๋‹ค. ์šฐ์„  ์šฐ๋ฆฌ๋Š” ์ปดํ“จํ„ฐ๋ฅผ '๊ณผํ•™'์œผ๋กœ ๋ณผ ๊ฒƒ์ธ์ง€, '๊ณตํ•™'์œผ๋กœ ๋ณผ ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.
๊ณผํ•™์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€. ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ณผํ•™์€ '๊ฐ€์„ค๊ณผ ๊ฒ€์ฆ'์ด๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณผํ•™์€ ๊ฐ€์„ค์„ ์„ธ์šฐ๊ณ , ์ด๋ฅผ ๊ฒ€์ฆํ•ด ์ด๋ก ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณตํ•™์€ ์ข€ ๋‹ค๋ฅด๋‹ค. ๊ณตํ•™์€ ์‹ค์ œ๋กœ ์œ ์šฉํ•œ ๊ตฌํ˜„๋ฌผ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ณตํ•™์˜ ๋ชฉ์ ์€ ๋ฌด์–ธ๊ฐ€ ๊ตฌ์ฒด์ ์ธ '๊ตฌํ˜„' ํ˜น์€ '๊ณต์ •'์ด ๋œ๋‹ค.
โ—† ๊ณผํ•™ : ๊ฐ€์„ค๊ณผ ๊ฒ€์ฆ ์ด๋ก 
โ—† ๊ณตํ•™ : ๋ฐฉ๋ฒ•๊ณผ ํšจ์œจ ๊ตฌํ˜„
์šฐ๋ฆฌ๋‚˜๋ผ ์ „์‚ฐํ•™์˜ ์˜๋ฌธ ๋ช…์นญ์€ ๋Œ€๋ถ€๋ถ„ 'Computer Science'๋กœ ํ‘œ๊ธฐ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ปดํ“จํ„ฐ ๊ณผํ•™๊ณผ ์ปดํ“จํ„ฐ ๊ณตํ•™์€ ์กฐ๊ธˆ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ์ด ๊ธ€์„ ์ฝ๋Š” ๋…์ž์˜ ๋Œ€๋ถ€๋ถ„์ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ˜น์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ด€์ ์—์„œ ์ปดํ“จํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค('๊ณตํ•™'์˜ ์ž…์žฅ์—์„œ ์ปดํ“จํ„ฐ๋ฅผ ๋ฐ”๋ผ๋ณด๋Š” ๊ฒƒ์ด๋‹ค). ์ด๋ก ์„ ๋งŒ๋“œ๋Š” ๊ฒŒ ๋ชฉ์ ์ด ์•„๋‹ˆ๋ผ๋Š” ์ ์„ ๋ช…ํ™•ํžˆ ํ•˜์ž.
ํ•„์ž๋Š” ์ด ๊ธ€์„ ํ†ตํ•ด ์ „์‚ฐํ•™ ์ด๋ก ์— ๋Œ€ํ•œ ๋งํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๊ทธ๋ณด๋‹ค ์ „์‚ฐํ•™์—์„œ๋Š” ๋ฌด์—‡์„ ๊ณต๋ถ€ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ณ , ์ „์‚ฐํ•™์˜ ์—ฌ๋Ÿฌ ๋ถ„์•ผ ์ค‘์—์„œ ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์ผ์— ๊ตฌ์ฒด์ ์ธ ๋„์›€์ด ๋˜๋Š” ๋ถ€๋ถ„์—๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”์ง€ '์ƒ์‹'์„ ์—์„œ ์งš์–ด๋ณด๊ณ ์ž ํ•œ๋‹ค.
์–ธ์ œ๋‚˜ '๊ธฐ๋ณธ'์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋‹ค์‹œ ๋Œ์ด์ผœ ๋ณด์ž. ์ด๋ก ์—์„œ ์‹ค์งˆ์ ์ธ ๋„์›€์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„๋“ค, ์ด๋ก  ์ค‘์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•Œ์•„๋‘ฌ์•ผ ํ•  ์ƒ์‹๋“ค, ์ž˜๋ชป ์ดํ•ด๋˜๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„๋“ค(์ด๋ก ๊ณผ ์‹ค์ œ์˜ ์ฐจ์ด)์„ ์‚ดํŽด๋ณด์ž.
์ „์‚ฐํ•™์˜ ๊ธฐ์ดˆ '๋น… 5'
์ปดํ“จํ„ฐ๋ฅผ ์ ‘ํ•˜๊ณ  ์ด๋ฅผ ๊ณต๋ถ€ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์–ธ์  ๊ฐ€๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๊ฑฐ๋‚˜, ์šด์˜์ฒด์ œ๋ฅผ ๋งŒ๋“ค์–ด ๋ณธ๋‹ค๊ฑฐ๋‚˜ ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•œ ์ ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ „์‚ฐํ•™์˜ ๋ถ„์•ผ๋ฅผ ๋ณด๋ฉด ์‹ค์ œ๋กœ ์ด๋Ÿฐ ๋ถ„์•ผ๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค. ์ „์‚ฐํ•™์˜ ์—ฌ๋Ÿฌ ๋ถ„์•ผ ๊ฐ€์šด๋ฐ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋‹ค์„ฏ ๋ถ„์•ผ๋ฅผ ๊ผฝ๋Š”๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
1. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก 
2. ์šด์˜์ฒด์ œ
3. ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜
4. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ก , ์ปดํŒŒ์ผ๋Ÿฌ
5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ก 
์ด ๋‹ค์„ฏ ๊ฐœ์˜ ๋ถ„์•ผ๋Š” ๊ธฐ์ดˆ๋ถ„์•ผ๋กœ ๊ผฝํžˆ๋ฉฐ, ์‹ค์ œ๋กœ ๊ฑฐ์˜ ๋ชจ๋“  ์ „์‚ฐํ•™๊ณผ์—์„œ ๊ฐ•์˜๊ฐ€ ์ด๋ค„์ง€๊ณ  ์žˆ๋‹ค.
์ด ๋ฐ–์— ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™, ๋„คํŠธ์›Œํฌ, ์ธ๊ณต์ง€๋Šฅ ๋“ฑ์˜ ๋ถ„์•ผ๊ฐ€ ์žˆ์œผ๋ฉฐ, ํ•™๊ต์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ํŠน์„ฑ์„ ๊ฐ–๊ณ  ์ปค๋ฆฌํ˜๋Ÿผ์ด ์šด์˜๋œ๋‹ค.
๋…์ž ์—ฌ๋Ÿฌ๋ถ„๋„ ์ด๋ฏธ ์•Œ๊ฒ ์ง€๋งŒ, ์ด ๋ถ„์•ผ๋ฅผ ๋ชจ๋‘ ๊ณต๋ถ€ํ•ด์•ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋งํ•ด 'ํ”„๋กœ๊ทธ๋ž˜๋ฐ'ํ•˜๋Š” ๊ฒƒ๊ณผ ์ด ๋ถ„์•ผ๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์€ ์ „ํ˜€ ๋ณ„๊ฐœ์˜ ๋ฌธ์ œ์ผ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ˆ„๊ตฌ๋‚˜ ํ•  ์ˆ˜ ์žˆ๋‹ค.
์‹ค์ œ ์ปดํ“จํ„ฐ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ์ „ํ˜€ ์—†๋Š” ์‚ฌ๋žŒ๋„ ๋Œ€๋žต 4โˆผ6๊ฐœ์›” ์ •๋„์˜ ํ•™์Šต์„ ๊ฑฐ์น˜๋ฉด ์‹ค์ „์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ •๋„์˜ ๋Šฅ๋ ฅ์ด ๋ฐฐ์–‘๋œ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋ชจ๋“  ๊ฒƒ์ด ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. 1๋…„์ด๋‚˜ 2๋…„์ด ์ง€๋‚˜๋ฉด, 'ํ”„๋กœ๊ทธ๋žจ ์งค ์ˆ˜ ์žˆ๋‹ค'๋Š” ์ •๋„์˜ ๋‚ด๊ณต(?)์— ๋ถ€์กฑํ•จ์„ ๋Š๋ผ๊ฒŒ ๋˜๋Š” ๊ฒƒ์€ ์–ด์ฉŒ๋ฉด ๋‹น์—ฐํ•œ ์ผ์ธ์ง€๋„ ๋ชจ๋ฅธ๋‹ค.
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๋”ฐ๋ฅธ ๋‹ค์–‘ํ•œ ์ด์Šˆ๋ฅผ ์†Œํ™”ํ•˜๊ณ , ์‹ค์ œ ๊ธฐ์ˆ ์˜ ์žฅ๋‹จ์ ์„ ๋…ผ์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์กฐ๊ธˆ์€ ๋‹ค๋ฅธ ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค.
์˜ˆ์ปจ๋Œ€ ๊ฐœ๋ฐœ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ˆ˜ํ–‰ ํšจ์œจ์„ ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•œ ์„ฑ๋Šฅ ํŠœ๋‹, ์ด์‹, ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜์™€ ๋ฐฐํฌ, ํŒ€ ๊ฐœ๋ฐœ์„ ์ด๋Œ์–ด ๊ฐ€๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋“ฑ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ด์™ธ์˜ ์ด์Šˆ๋ฅผ ๋งŒ๋‚˜๋ฉด, 'ํ”„๋กœ๊ทธ๋žจ์„ ์งค ์ˆ˜ ์žˆ๋‹ค'๋งŒ์œผ๋กœ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š” ๊ตฌ์„์ด ๋งŽ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ๊ธฐ๋ณธ๊ธฐ์˜ ์ค‘์š”์„ฑ์„ ์ ˆ๊ฐํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด ๊ธ€์˜ ๋ชฉ์ ์€ ์ „์‚ฐํ•™์ด๋ผ๋Š” ํ™”๋‘๋ฅผ ๊ฐ–๊ณ , '๊ธฐ๋ณธ๊ธฐ'๋ผ๋Š” ๊ฒƒ์„ ์‚ดํŽด๋ณด๊ธฐ ์œ„ํ•จ์ด๋‹ค. ์ด์ œ๋ถ€ํ„ฐ ๊ฐ ๋ถ„์•ผ๋ณ„๋กœ ์‚ดํŽด๋ณด์ž(์ด ๊ธ€์€ ์ „์‚ฐํ•™์˜ ์ „์ฒด๋ฅผ ์–˜๊ธฐํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ „์‚ฐํ•™๊ณผ ํ•™๋ถ€๊ณผ์ •์—์„œ ๋ฐฐ์šฐ๋Š” ๋‚ด์šฉ๊ณผ ๊ต์žฌ์— ํ•œ์ •ํ•œ ์–˜๊ธฐ๋ผ๋Š” ์ ์„ ์ „์ œํ•œ๋‹ค).
<!--(PAGEBREAK)-->
์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก 
๊ฐ•์ขŒ๋‚ด์šฉ : ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก ์€ ๊ธ€์ž ๊ทธ๋Œ€๋กœ ์ปดํ“จํ„ฐ์˜ ๊ธฐ๋ณธ์ ์ธ ํ•˜๋“œ์›จ์–ด์˜ ์ž‘๋™ ์›๋ฆฌ์™€ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๋Š” ๋ถ„์•ผ. ๋ถ€์šธ ๋Œ€์ˆ˜(Boolean Algebra)์™€ ๋…ผ๋ฆฌ ํ‘œํ˜„์„ ์ตํžˆ๊ณ , ์ด๋ฅผ ํ•˜๋“œ์›จ์–ด๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ•˜๋Š”์ง€ ๊ณต๋ถ€ํ•˜๊ณ  ์ง‘์ ํšŒ๋กœ(IC)์˜ ๋™์ž‘์›๋ฆฌ๋ฅผ ๋ฐฐ์šด๋‹ค. CPU, ๋ฉ”๋ชจ๋ฆฌ, ์ž…์ถœ๋ ฅ์˜ ๊ตฌ์„ฑ์ด๋‚˜ ์ฃผ๋ณ€ ์žฅ์น˜์™€์˜ ํ†ต์‹ ๋ฐฉ๋ฒ• ๋“ฑ๋„ ํฌํ•จ๋œ๋‹ค.
์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ž…์žฅ์—์„œ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก ์€ '์–ด์…ˆ๋ธ”๋ฆฌ์–ด'๋ฅผ ์ตํžˆ๊ณ , ๋™์ž‘์›๋ฆฌ๋ฅผ ์•„๋Š” ๋ฐ ์˜์˜๊ฐ€ ์žˆ๋‹ค. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก ์€ ์ปดํ“จํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ, ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก ์„ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ๊ณผ ์ปดํ“จํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” ์ผ์—๋Š” ์•„์ฃผ ํฐ ๊ฒฉ์ฐจ๊ฐ€ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.
๋งŒ์ผ, ์—ฌ๋Ÿฌ๋ถ„์ด ์ปดํ“จํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค๋ฉด ๋‚ฉ๋•œ์งˆ์„ ๋ฐฐ์šฐ๊ฑฐ๋‚˜ ์›์นฉ ๋งˆ์ดํฌ๋กœ ์ปดํ“จํ„ฐ๋ฅผ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๋น ๋ฅผ ๊ฒƒ์ด๋‹ค.
์šด์˜์ฒด์ œ
๊ฐ•์ขŒ๋‚ด์šฉ : ์ปดํ“จํ„ฐ์™€ ์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐ, ๊ฐ€์ƒ ๊ธฐ์–ต ์žฅ์น˜, ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น, ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ฅด๋ง ๋“ฑ์˜ ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์ด๋“ค๊ณผ ๊ด€๋ จ๋œ ์ด์Šˆ๋ฅผ ๊ณต๋ถ€ํ•œ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ ๊ฐ•์ขŒ์—์„œ ์œ ๋‹‰์Šค ์šด์˜์ฒด์ œ์˜ ๊ตฌ์กฐ์™€ ์ž‘๋™์›๋ฆฌ๋ฅผ ์‹ค์‚ฌ๋ก€๋กœ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. ์œ ๋‹‰์Šค๋Š” C๋กœ ์†Œ์Šค๊ฐ€ ์“ฐ์—ฌ ์žˆ์–ด ๊ตฌ์ฒด์ ์œผ๋กœ ์„ค๋ช…ํ•˜๊ธฐ์— ์ข‹๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์šด์˜๋˜๋Š” ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šด์˜์ฒด์ œ๋ก ์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ค‘์š”ํ•œ ๋‚ด์šฉ์„ ๋งŽ์ด ๋‹ด๊ณ  ์žˆ๋‹ค. ๋ฌผ๋ก  ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, CPU ์Šค์ผ€์ฅด๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ฃผ๋ณ€์žฅ์น˜ ๊ด€๋ฆฌ ๋“ฑ์— ๋Œ€ํ•œ ํ•™์Šต์ด ์‹ค์ œ ์ฝ”๋”ฉ์— ์ง์ ‘ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋”๋ผ๋„, ์กฐ๊ธˆ ๊ทœ๋ชจ๊ฐ€ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ •์ฑ…์— ๋Œ€ํ•œ ๊ตฌํ˜„์€ ์—ฌ๋Ÿฌ๋ถ„์ด ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๋ฐ ์ ์ง€ ์•Š์€ ๋„์›€์„ ์ค€๋‹ค. ํŠนํžˆ '๋ฌด์Šจ ๋ฌด์Šจ ์„œ๋ฒ„'๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, ์šด์˜์ฒด์ œ ์ „๋ฐ˜์— ๋Œ€ํ•œ ์ดํ•ด๋Š” ์•„์ฃผ ํ•„์ˆ˜์ ์ด๋‹ค.
์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜
๊ฐ•์ขŒ๋‚ด์šฉ : ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ ์„ค๊ณ„์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ๋ณต์žก๋„๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ ๊ฐ์ข… ๊ฒ€์ƒ‰, ์ •๋ ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•ด ์‹ค์ œ๋กœ ๊ตฌํ˜„ํ•ด ๋ณด๊ณ  ๋ณต์žก๋„๋ฅผ ๋ถ„์„ํ•œ๋‹ค.
์ผ๋ฐ˜์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•  ํ•„์š”์„ฑ์€ ์ ์ฐจ ์ค„์–ด๋“ค๊ณ  ์žˆ๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋งŽ์€ ๋‚ด์šฉ์ด ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ตฌ์ถ•๋ผ ์ด๋ฅผ ์ž˜ ํ™œ์šฉํ•˜๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜ํ™”์ ์ธ ํ˜„์ƒ์œผ๋กœ ์ž๋ฆฌ์žก์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋น„์ •ํ˜•ํ™”๋œ ์ž๋ฃŒ๋Š” ๋ณต์žกํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค XML๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ „์†กํ•˜๋Š” ๊ฒƒ์ด ์ƒ๋‹นํžˆ ๋ณดํŽธํ™”๋๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด C++ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ง์ ‘ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋˜๋„๋ก CArray, CList, CMap ๊ฐ™์€ ์„ธ ๊ฐœ์˜ ํด๋ž˜์Šค๋Š” ๊ฐ๊ฐ ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฐฐ์—ด, ์–‘๋ฐฉํ–ฅ ๋ฆฌ์ŠคํŠธ, ํ•ด์‹œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค. ์ด ์ •๋„๋ฉด ์›ฌ๋งŒํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž‘์„ฑํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•˜๋‹ค.
๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ž๋ฐ”๋„ ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ๋ฒกํ„ฐ๋‚˜ ํ•ด์‹œ ํ…Œ์ด๋ธ” ๋“ฑ์„ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ๋” ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋ฉด ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ํ‘œ์ค€ํ™”ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ๊ณตํ•˜๋Š” C++์˜ STL์„ ์ด์šฉํ•ด๋„ ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ์ž๋ฃŒ๊ตฌ์กฐ๋‚˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•œ ์ดํ•ด ์—†์ด ์ด๋Ÿฐ ๋‚ด์šฉ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
์ž๋ฃŒ๊ตฌ์กฐ๋Š” ์ ์–ด๋„ ์–‘๋ฐฉํ–ฅ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ์ˆ˜์ค€๊นŒ์ง€ ํ•ด๋ด์•ผ ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ์ •๋ ฌ/ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ธฐ๋ณธ์œผ๋กœ ๊ณต๋ถ€ํ•˜์ง€๋งŒ, ์‹ค์ œ๋Š” ํŒŒ์ผ ๊ธฐ๋ฐ˜์˜ ํƒ์ƒ‰๊ณผ ์ •๋ ฌ์ด ์˜คํžˆ๋ ค ๋” ์ค‘์š”ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ •๋ ฌ์˜ ๊ฒฝ์šฐ ํŒŒ์ผ ๊ธฐ๋ฐ˜์˜ ๋ณ‘ํ•ฉ ์ •๋ ฌ ์ •๋„๊นŒ์ง€ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
<!--(PAGEBREAK)-->
ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์ปดํŒŒ์ผ๋Ÿฌ
๊ฐ•์ขŒ๋‚ด์šฉ : ๊ฐ์ข… ์–ธ์–ด์˜ ํŠน์„ฑ์„ ์„œ๋กœ ๋น„๊ตํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋ฌธ๋ฒ• ๋ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋“ฑ์„ ๋‹ค๋ฃฌ๋‹ค. ๋…ผ๋ฆฌ ์–ธ์–ด, ํ•จ์ˆ˜ ์–ธ์–ด, ๊ทธ๋ฆฌ๊ณ  ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ํŠน์„ฑ ๋ฐ ์‘์šฉ ๋ถ„์•ผ ๋“ฑ์ด ์—ฌ๊ธฐ์— ํ•ด๋‹นํ•œ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์˜คํ† ๋จธํ„ฐ(Automata) ๊ตฌ์„ฑ, ์–ดํœ˜ ๋ถ„์„(lexical analysis) ๋“ฑ์„ ํ•™์Šตํ•˜๊ณ , ์ปดํŒŒ์ผ๋Ÿฌ ์ œ์ž‘๋„๊ตฌ์ธ Lex๋‚˜ Yacc๋ฅผ ์ด์šฉํ•ด ๊ฐ„๋‹จํ•œ ์–ธ์–ด๋ฅผ ๋งŒ๋“ค์–ด ๋ณธ๋‹ค.
์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋ฌด์ฒ™ ๋ณต์žกํ•˜๊ณ  ๊นŒ๋‹ค๋กœ์šด ๋ถ„์•ผ ์ค‘ ํ•˜๋‚˜๋‹ค. HTML, XML๊ณผ ๊ฐ™์€ ๋งˆํฌ์—… ์–ธ์–ด๊ฐ€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋ฉด์„œ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ํ•œ ๋ถ€๋ถ„์ธ ํŒŒ์„œ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์ด ๋†’์•„์กŒ์œผ๋ฉฐ, ์ด์— ๋”ฐ๋ผ ๊ณต๊ฐœ๋œ ํŒŒ์„œ๋„ ๋งŽ์ด ๋“ฑ์žฅํ–ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํŒŒ์„œ๊ฐ€ ํ•„์š”ํ•˜๊ณ  ์ด๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ์ปดํŒŒ์ผ๋Ÿฌ ์ด๋ก ์ด ํ•„์š”ํ•˜๊ฒ ์ง€๋งŒ, ํ”ํ•˜์ง€ ์•Š์€ ์ผ์ด๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
๊ฐ•์ขŒ๋‚ด์šฉ : ์ฃผ๋กœ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ์™€ ๋™์ž‘ ๋“ฑ์— ๋Œ€ํ•œ ์ด์Šˆ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉฐ, ์ •๊ทœํ™” ๋ฐฉ๋ฒ•๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„, ํŠœ๋‹ ๋“ฑ์— ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด๋ก ์„ ๊ณต๋ถ€ํ•œ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์€ ํ•„์ˆ˜์ ์ธ ์‚ฌํ•ญ์œผ๋กœ SQL, ERD ์ž‘์„ฑ, ์ •๊ทœํ™”, ์„ค๊ณ„, ๊ตฌ์ถ•, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์„ฑ ๋“ฑ์€ ๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์š”๊ตฌ๋˜๋Š” ๊ธฐ์ˆ ์ด ๋๋‹ค. ํŠนํžˆ SQL์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์‚ฌ์šฉ์ด ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค.
์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฒƒ์€ ํ•˜๋‚˜๋„ ์—†๋‹ค
์ „์‚ฐํ•™์˜ ๊ธฐ์ดˆ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๋‹ค์„ฏ ๋ถ„์•ผ ์ค‘ ์‹ค์ œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๊ฐ€์žฅ ํฌ๊ฒŒ ๋„์›€์ด ๋˜๋Š” ๋ถ„์•ผ๋ฅผ ๊ผฝ์œผ๋ผ๋ฉด, ์ฃผ์ € ์—†์ด '์šด์˜์ฒด์ œ๋ก '์„ ๊ผฝ์„ ๊ฒƒ์ด๋‹ค. ๋งŒ์ผ, ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒ€์—์„œ ์‹œ๊ฐ„์  ์—ฌ์œ ๊ฐ€ ์ข€ ์žˆ๊ณ , BOOK GROUP(ํŠน์ •ํ•œ ์ฑ…์„ ํ•จ๊ป˜ ๊ณต๋ถ€ํ•˜๋Š” ํ•œ์‹œ์ ์ธ ํ•™์Šต ์กฐ์ง)์„ ์šด์˜ํ•œ๋‹ค๋ฉด ์šด์˜์ฒด์ œ๋ก ์— ๋Œ€ํ•œ ํ•™์Šต์„ ๊ฐ€์žฅ ์ถ”์ฒœํ•˜๊ณ  ์‹ถ๋‹ค.
ํŠนํžˆ (์—ฌ๋Ÿฌ๋ถ„์ด ์œˆ๋„์šฐ๋ฅผ ์“ด๋‹ค๊ณ  ํ•ด๋„) ์œ ๋‹‰์Šค์— ๋Œ€ํ•œ ํ•™์Šต์€ ์•„์ฃผ ํ•„์ˆ˜์ ์ธ ์ฝ”์Šค ์ค‘ ํ•˜๋‚˜๋‹ค(์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ํ•™์Šต์€ ์œ ๋‹‰์Šค ๋ช…๋ น์–ด๋‚˜ ์‚ฌ์šฉ๋ฒ•์„ ๋งํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค). ์œˆ๋„์šฐ 2000์˜ ๋‚ด๋ถ€์ ์ธ ๊ตฌ์„ฑ์ด ์ด์ „ ๋ฒ„์ „๊ณผ ๋น„๊ตํ•ด ์œ ๋‹‰์Šค๋ฅผ ๋งŽ์ด ๋‹ฎ์•˜๋‹ค๋Š” ์ ๊ณผ ๋งฅ OS X์ด ์™„์ „ํžˆ ์œ ๋‹‰์Šค ๊ธฐ๋ฐ˜์ด๋ผ๋Š” ์ ์€ ์‹œ์‚ฌํ•˜๋Š” ๋ฐ”๊ฐ€ ํฌ๋‹ค. ๋ณด์•ˆ๊ณผ ๊ด€๋ จํ•ด ๋„คํŠธ์›Œํ‚น์„ ๊ณต๋ถ€ํ•˜๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์œ ๋‹‰์Šค๋Š” ๋”์šฑ ์ค‘์š”ํ•˜๋‹ค. TCP/IP ๋“ฑ ๋Œ€๋ถ€๋ถ„์˜ ์ธํ„ฐ๋„ท ๊ด€๋ จ ํ”„๋กœํ† ์ฝœ์ด๋‚˜ ๊ธฐ๋ฐ˜๊ธฐ์ˆ ์ด ์œ ๋‹‰์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ž๋ฐ” VM(Java Virtual Machine, ์ดํ•˜ JVM)์€ ์šด์˜์ฒด์ œ์™€ ๊ทธ ์—ญ์‚ฌ๊ฐ€ ์ „ํ˜€ ๋‹ค๋ฅด์ง€๋งŒ, ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž…์žฅ์—์„œ ๋ณด๋ฉด JVM๋„ ํ•˜๋‚˜์˜ ์šด์˜์ฒด์ œ๋‹ค. ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ง€์‹์„ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ž๋ฐ” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋“ค์€ ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” JVM์˜ ํŠน์„ฑ์— ๋Œ€ํ•ด ํ•™์Šตํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.
์ž๋ฐ”๋ฅผ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃจ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ๊ฑฐ์˜ ํ•œ๊ฒฐ ๊ฐ™์ด ์ž๋ฐ”๊ฐ€ 100% ํ”Œ๋žซํผ ๋…๋ฆฝ์ ์ด์ง€๋Š” ์•Š๋‹ค๊ณ  ๋งํ•œ๋‹ค(์•„๋งˆ๋„ ์ •๋„์˜ ๋ฌธ์ œ์ผ ๊ฒƒ์ด๋‹ค). ์ž๋ฐ” ๊ธฐ์ˆ ์€ ๋Œ€๋ถ€๋ถ„ ์ฌ์ด ์ŠคํŽ™์„ ์ œ๊ณตํ•˜๊ณ , ์ด๋ฅผ ์—ฌ๋Ÿฌ ํšŒ์‚ฌ๋“ค์ด ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ๋‹ค. JVM๋งŒ ๋ด๋„ ๊ทธ๋ ‡๋‹ค.
์ฌ, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ, IBM ๋“ฑ ์œ ์ˆ˜์˜ ์—…์ฒด๋“ค์ด ๋‚˜๋ฆ„๋Œ€๋กœ ๊ตฌํ˜„ํ•œ JVM์„ ๋‚ด๋†“๊ณ  ์žˆ์œผ๋ฉฐ ์•ˆ์ •์„ฑ, API ๊ตฌํ˜„์ƒ์˜ ํŠน์ด์ , ํ™•์žฅ ๊ธฐ๋Šฅ ์ œ๊ณต๋ฉด์—์„œ ์ฐจ์ด๋ฅผ ๋ณด์ด๊ณ  ์žˆ๋‹ค. ๊ฐ€๋”์€ ์ด๋Ÿฐ ์ฐจ์ด๊ฐ€ ํŠน์ • JVM์„ ์„ ํƒํ•˜๋Š” ๊ธฐ์ค€์ด ๋˜๊ธฐ๋„ ํ•œ๋‹ค. ๋˜ํ•œ JVM ์ž์ฒด๊ฐ€ ์šด์˜์ฒด์ œ ์œ„์—์„œ ์šด์˜๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๊ธฐ ๋•Œ๋ฌธ์— JVM์˜ ๊ตฌํ˜„ ํŠน์„ฑ๊ณผ ์šด์˜์ฒด์ œ์˜ ํ™˜๊ฒฝ์„ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋‹ค.
<!--(PAGEBREAK)-->
๊ทธ ๋‹ค์Œ์œผ๋กœ ์ค‘์š”ํ•œ ๋ถ„์•ผ๋ฅผ ๊ผฝ๋Š”๋‹ค๋ฉด '๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค', '์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜'์ด๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Object-Oriented DBMS)๊ฐ€ ์ฃผ๋ชฉ์„ ๋ฐ›์•„ ๋งŽ์€ ์—ฐ๊ตฌ๊ฐ€ ์ˆ˜ํ–‰๋˜๊ณ  ์žˆ์ง€๋งŒ, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Relational DBMS)๋ฅผ ์™„์ „ํžˆ ๋Œ€์ฒดํ•˜์ง€๋Š” ๋ชปํ•˜๊ณ  ์žˆ๋‹ค(ํ˜„์žฌ๋Š” RDB์— ODB์˜ ํŠน์„ฑ์„ ๊ฐ€๋ฏธํ•œ ORDB๊ฐ€ ์‚ฌ์‹ค์ƒ์˜ ํ‘œ์ค€์ด๋‹ค).
์ด์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋” ์ด์ƒ ํŠน์ˆ˜ํ•œ ๋ถ„์•ผ๊ฐ€ ์•„๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ธํ„ฐ๋„ท์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๊ณ  ์žˆ๊ณ , ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
<ํ‘œ 1>์€ ์ด ๋‹ค์„ฏ ๋ถ„์•ผ์˜ ๊ต์žฌ๋กœ, ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ฑ…์„ ๋‚˜์—ดํ•œ ๊ฒƒ์ด๋‹ค(๋ถ„์•ผ๋ณ„๋กœ ๋‹ค๋ฅธ ์ข‹์€ ์ฑ…์ด ๋งŽ์ด ์žˆ์œผ๋‚˜ ๊ฐœ์ธ์  ์ฒดํ—˜์— ์ž…๊ฐํ•ด ํ•œ ๊ฐœ์”ฉ ์„ ์ •ํ•œ ๊ฒƒ์ด๋‹ค). ์ด ์ฑ…๋“ค์€ ๋ชจ๋‘ ๋ฒˆ์—ญ์„œ๋„ ์žˆ๋‹ค.
<ํ‘œ 1> ๋ถ„์•ผ๋ณ„ ๋Œ€ํ‘œ์ ์ธ ๊ต์žฌ

๊ณผ๋ชฉ

์ €์„œ

์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋ก 

Computer System Architecture 2/e, M. Morris Mano, Prentice-Hall, 1982

์šด์˜์ฒด์ œ๋ก 

Operating System Concepts 4/e, Avi Silberschatz, Peter Galvin, Addision Wesley Longman, Inc., 1998.

์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜

Fundamentals of DATA STRUCTURES in C++, Horowitz & Sahni, Computer Sci. Press, 1995.

์ปดํŒŒ์ผ๋Ÿฌ

Compilers: Principles, Techniques, and Tools, Alfred Aho, Ravi Sethi,Jeffrey Ullman, Addison-Wesley, 1986.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ก 

An introduction to Database Systems 6/e, C.J.Date, Addison-Wesley, 1995.

๊ทธ ๋ฐ–์˜ ๋ถ„์•ผ๋“ค
์•ž์„œ ๋งํ•œ ๋ถ„์•ผ ์™ธ์— ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™, ๋„คํŠธ์›Œํฌ, ์ธ๊ณต์ง€๋Šฅ ๊ฐ™์€ ๋ถ„์•ผ๋„ ์ด์— ๋ชป์ง€ ์•Š๊ฒŒ ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ๋ถ„์•ผ์ด๋‹ค.
์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์€ ๋ถ„์„ ์„ค๊ณ„ ๊ตฌํ˜„์„ ํฐ ์ถ•์œผ๋กœ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ƒ๋ช… ์ฃผ๊ธฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐœ๋ฐœ์‹œ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์™€ ๊ฐ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด์Šˆ๋ฅผ ์ฃผ๋กœ ๋‹ค๋ฃฌ๋‹ค. ์š”์ฆ˜์€ ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•๋ก ๊ณผ ๋ถ„์„/์„ค๊ณ„์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ๋งŽ์ด ๋ณด๊ฐ•๋˜๊ณ  ์žˆ๋‹ค. ๋„คํŠธ์›Œํฌ๋Š” ์ฃผ๋กœ ๋„คํŠธ์›Œํ‚น์˜ ๊ธฐ๋ณธ ์ด๋ก ์ด ๋˜๋Š” OSI 7 ๊ณ„์ธต์— ๋Œ€ํ•œ ๋‚ด์šฉ๊ณผ ํ”„๋กœํ† ์ฝœ ๊ด€๋ จ ์ด์Šˆ๊ฐ€ ์ฃผ๋ฅ˜๋ฅผ ์ด๋ฃฌ๋‹ค. ์ธ๊ณต์ง€๋Šฅ์—์„  ๋ฌธ์ œ ํ•ด๊ฒฐ, ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ, ์ง€์‹ ์ฒ˜๋ฆฌ, ์ถ”๋ก  ๋จธ์‹ , ๋กœ๋ณดํ‹ฑ์Šค, ์—์ด์ „ํŠธ ๋“ฑ์˜ ์—ฐ๊ตฌ๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋‹ค.
์ด ์„ธ ๊ฐ€์ง€์˜ ๋ถ„์•ผ์— ๋Œ€ํ•œ ์ง€์‹์€ ๊ฐ„์ ‘์ ์œผ๋กœ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์— ๋งŽ์€ '๊บผ๋ฆฌ'๋ฅผ ๋˜์ ธ์ค€๋‹ค. ์‹ค๋ฌด์—์„œ ์ผํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋“ค ๋ถ„์•ผ์— ๋Œ€ํ•ด์„  ์ง€๋‚˜์น˜๊ฒŒ ์›๋ก ์ ์ธ ์ด๋ก ์„œ๋ณด๋‹ค๋Š” ํ•œ ๋‹จ๊ณ„ ์‰ฝ๊ณ  ๊ตฌ์ฒด์ ์ธ ์•ˆ๋‚ด์„œ๋ฅผ ์ฝ๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ข‹๋‹ค.
ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ
ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ดํ•ด๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ '์ˆ˜ํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ'์ด๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค(์ฐธ๊ณ ๋กœ ํ”„๋กœ๊ทธ๋žจ์€ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ์ƒ์˜ ์ด๋ฏธ์ง€๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค). ๋‹ค์‹œ ๋งํ•ด, ํ”„๋กœ์„ธ์Šค๋Š” ๋””์Šคํฌ์— ์ €์žฅ๋ผ ์žˆ๋˜ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋ผ ์šด์˜์ฒด์ œ์˜ ์ œ์–ด๋ฅผ ๋ฐ›๋Š” ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค.
ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด ์ปดํŒŒ์ผํ•˜๊ณ  ๋งํฌํ•˜๋ฉด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค(์œˆ๋„์šฐ๋ผ๋ฉด *.exe๋ผ๋Š” ํŒŒ์ผ์ด, ์œ ๋‹‰์Šค๋ผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ a.out์ด๋ผ๋Š” ํŒŒ์ผ์ด ์ƒ์„ฑ๋œ๋‹ค). ์‰˜์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰์‹œํ‚ค๋ฉด, ์ปค๋„์€ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์ œ์–ด์— ์ ํ•ฉํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ฝ์–ด๋‚ธ ํ›„, ์ปค๋„์˜ ํ”„๋กœ์„ธ์Šค ํ…Œ์ด๋ธ”์— ๋“ฑ๋กํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ, ํŒŒ์ผ, ์ž…์ถœ๋ ฅ ์žฅ์น˜ ๊ฐ™์€ ์ž์›์„ ํ• ๋‹นํ•˜๋Š”๋ฐ, ์ด๋•Œ๋ถ€ํ„ฐ ํ”„๋กœ๊ทธ๋žจ์€ ์ปค๋„์˜ ํ•œ ํ”„๋กœ์„ธ์Šค๋กœ์„œ ์‹คํ–‰ ์ƒํƒœ๊ฐ€ ๋œ๋‹ค.
<!--(PAGEBREAK)-->
ํ”„๋กœ์„ธ์Šค๋Š” Win32์˜ ๊ฒฝ์šฐ์— CreateProcess(), ์œ ๋‹‰์Šค์˜ ๊ฒฝ์šฐ์—๋Š” fork() ์‹œ์Šคํ…œ ์ฝœ์„ ์‚ฌ์šฉํ•ด ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค๊ฐ„์—๋Š” ๋‹ค์–‘ํ•œ IPC(Inter-Process Communication) ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ์„ธ์Šค๊ฐ„์˜ ๋™๊ธฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
<๊ทธ๋ฆผ 1>์€ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ๋ชจ์Šต์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด ๊ตฌ์กฐ๋Š” ์œ ๋‹‰์Šค์™€ ์œˆ๋„์šฐ๊ฐ€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค (JVM์—์„œ ๋Œ์•„๊ฐ€๋Š” ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ๋„ ๋น„์Šทํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๋Š”๋‹ค). ๊ทธ๋ฆผ์—์„œ ์œ„์ชฝ์ด ๋‚ฎ์€ ์ฃผ์†Œ๋ฒˆ์ง€๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด์ด๋Š” ๋„ค ๊ฐœ์˜ ๋ฒ”์œ„(ํ…์ŠคํŠธ, ๋ฐ์ดํ„ฐ, ํž™, ์Šคํƒ)๋ฅผ ๊ฐ๊ฐ ์„ธ๊ทธ๋จผํŠธ๋ผ๊ณ  ํ•œ๋‹ค.
๊ฐ ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•ด ์ข€๋” ์ž์„ธํ•˜๊ฒŒ ์•Œ์•„๋ณด์ž(์—ฌ๊ธฐ์„œ๋Š” ์œ ๋‹‰์Šค์™€ C๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์„œ์ˆ ํ•˜์ง€๋งŒ, ์œˆ๋„์šฐ์—์„œ๋„ ๊ณตํ†ต์ ์ธ ํŠน์„ฑ์„ ๊ฐ–๋Š”๋‹ค).
โ—† ํ…์ŠคํŠธ : ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์ฝ”๋“œ์ธ ๊ธฐ๊ณ„์–ด ์ฝ”๋“œ์™€ ์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ๊ฐ€์ง„๋‹ค(CPU๊ฐ€ ์ฝ์–ด๋“ค์—ฌ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ํ•ด์„œ ํ…์ŠคํŠธ๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์ฝ”๋“œ ์˜์—ญ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค).
โ—† ๋ฐ์ดํ„ฐ : C์–ธ์–ด์—์„œ ์ „์—ญ ๋ณ€์ˆ˜, ์ •์  ๋ณ€์ˆ˜ ๋“ฑ์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜ ์˜์—ญ(์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ฐ€๋Šฅ)
โ—† ํž™ : ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰ ์ค‘ malloc(), free() ๋“ฑ์˜ ์‹œ์Šคํ…œ ์ฝœ๋กœ ํ• ๋‹น๋˜๊ณ , ํ•ด์ง€๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ
โ—† ์Šคํƒ : C์–ธ์–ด์˜ ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ ์ง€์—ญ ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜, ํ•จ์ˆ˜์˜ ์ˆ˜ํ–‰์ด ๋๋‚ฌ์„ ๋•Œ ๋ฆฌํ„ดํ•  ์ฃผ์†Œ(return address)๋ฅผ ํ‘ธ์‹œํ•œ๋‹ค(ํ•จ์ˆ˜๊ฐ€ ๋๋‚˜๋ฉด ์ด ๊ฐ’์„ ํŒํ•˜๊ณ  ๋ฆฌํ„ดํ•˜๊ฒŒ ๋œ๋‹ค).
์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ํ…์ŠคํŠธ ๋ถ€๋ถ„์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜๊ณ , ํ”„๋กœ์„ธ์Šค๊ฐ„์—๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์นจ๋ฒ”ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ํ”„๋กœ๊ทธ๋žจ์˜ ํ…์ŠคํŠธ๋กœ ๋˜์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ์นจ๋ฒ”ํ•ด ๊ธฐ๋กํ•˜๋ฉด ๋ฒ„์Šค ์—๋Ÿฌ๋‚˜ ์„ธ๊ทธ๋จผํŠธ ๊ฒฐํ•จ์ด ์ผ์–ด๋‚˜์„œ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์œˆ๋„์šฐ์—์„œ '์ž˜๋ชป๋œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค'๋ž€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณธ์ ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด ์—๋Ÿฌ(์ž˜๋ชป๋œ ์—ฐ์‚ฐ)์˜ 95% ์ด์ƒ์ด ๋ฐ”๋กœ ์•ž์„œ ์ด๋Ÿฐ ์—ฐ์œ ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค.
C/C++์™€ ๊ฐ™์ด ํฌ์ธํ„ฐ(์ฃผ์†Œ๋ฅผ ๊ฐ–๋Š” ๋ณ€์ˆ˜)๋ฅผ ์‚ฌ์šฉํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ง์ ‘ ์•ก์„ธ์Šคํ•˜๋Š” ์–ธ์–ด๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ๋„ ํ”ํžˆ ์ด์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ ์ด ๋ฐ”๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์˜ค๋ฅ˜์˜ 80% ์ด์ƒ์„ ์ฐจ์ง€ํ•˜๋Š” ์ด์œ ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
โ—† ์ดˆ๊ธฐํ™”
โ—† ํ•ด์ง€
์ž๋ฐ”๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜์„ ํ†ตํ•ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž๋™์œผ๋กœ ํ•ด์ง€ํ•˜์ง€๋งŒ, ํ•„์š”์— ๋”ฐ๋ผ ๋ช…์‹œํ•ด ์ฃผ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. C/C++์—์„œ๋Š” ์“ฐ์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•ด ๋ฐ˜๋“œ์‹œ ๋ช…์‹œ์ ์œผ๋กœ delete๋ฅผ ์จ์ค˜์•ผ ํ•œ๋‹ค.
C/C++๋Š” ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ์žƒ์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ, ์ด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค.
๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ฅผ ๊ดด๋กญํžˆ๋Š” ๊ฐ€์žฅ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋‹ค. ๊ผผ๊ผผํžˆ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.
<!--(PAGEBREAK)-->
๋ฉ€ํ‹ฐ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‹จ์–ด์˜ ์‚ฌ์šฉ
๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ, ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น, ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ, ๋ฉ€ํ‹ฐ ์œ ์ €๋Š” ๋น„์Šท๋น„์Šทํ•œ ์šฉ์–ด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ๋ˆํ•ด ์‚ฌ์šฉํ•˜์ง€๋งŒ ์˜๋ฏธ๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค.
โ—† ๋ฉ€ํ‹ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋ผ ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ. ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์ˆ˜ํ–‰๋˜๋‹ค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ํ•˜๋ฉด CPU๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ œ์–ด๊ถŒ์„ ๋„˜๊ธด๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…์ถœ๋ ฅ์„ ๊ธฐ์ค€์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰์˜ ์Šค์œ„์นญ์ด ์ผ์–ด๋‚œ๋‹ค(์š”์ฆ˜์€ ์ข€์ฒ˜๋Ÿผ ์“ฐ์ด์ง€ ์•Š๋Š” ๋ง์ด๋‹ค).
โ—† ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ : ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ. ์šด์˜์ฒด์ œ๊ฐ€ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ์„ ์ง€์›ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋‹ค์ˆ˜์˜ CPU๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ์—ฌ๋Ÿฌ CPU๊ฐ€ ์šด์˜์ฒด์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ SMP(๋Œ€์นญํ˜• ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ)๋ผ๊ณ  ํ•œ๋‹ค(์œˆ๋„์šฐ NT๊ฐ€ ์ด๋Ÿฐ ๋ฐฉ์‹์ด๋‹ค).
โ—† ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น(์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ) : ํƒœ์Šคํฌ(Task, ์šด์˜์ฒด์ œ๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„)๊ฐ€ ์—ฌ๋Ÿฟ์ธ ๊ฒƒ. ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ•์ œ๋กœ CPU ์‹œ๊ฐ„์„ ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹นํ•œ๋‹ค.
โ—† ๋ฉ€ํ‹ฐ ์œ ์ € : ๋ฉ€ํ‹ฐ ์œ ์ €๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์ด ๋˜๋Š” ์‹œ์Šคํ…œ์— ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ํŒŒ์ผ ์‹œ์Šคํ…œ ๋“ฑ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์ด๋‹ค.
โ—† ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ : ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ˆ˜ํ–‰๊ฒฝ๋กœ๊ฐ€ ์กด์žฌํ•˜๊ณ , ์ด๋ฅผ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ. ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ๋‘ ๊ฐ€์ง€ ์ด์ƒ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ํ™œ์šฉ๋œ๋‹ค(์‰ฝ๊ฒŒ ๋งํ•ด ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์„ ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค).
์—ฌ๊ธฐ์„œ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ์— ๋Œ€ํ•ด ์ข€๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ์•„๋ณด์ž. ์“ฐ๋ ˆ๋“œ๋Š” '์ˆ˜ํ–‰ ๊ฒฝ๋กœ'๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
CPU๊ฐ€ ํ…์ŠคํŠธ(์ฝ”๋“œ)๋ฅผ ์ฝ์–ด ์ˆ˜ํ–‰ํ•  ๋•Œ ์ˆ˜ํ–‰๋˜๋Š” ์ ˆ์ฐจ๋ฅผ ํ•˜๋‚˜์˜ ์ˆ˜ํ–‰ ๊ฒฝ๋กœ๋ผ๊ณ  ํ•œ๋‹ค. ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋ž€ ๊ฒฐ๊ตญ ์ด๋Ÿฐ ์ˆ˜ํ–‰ ๊ฒฝ๋กœ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋„ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ์—ฌ๋Ÿฌ ์“ฐ๋ ˆ๋“œ๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ํ…์ŠคํŠธ, ๋ฐ์ดํ„ฐ, ํž™, ์Šคํƒ์˜ ๊ฐ ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ์ฃผ์†Œ๋ฅผ CPU ๋ ˆ์ง€์Šคํ„ฐ์— ๋‹ด๊ณ  ์žˆ๋Š”๋ฐ, ์ด ๋ ˆ์ง€์Šคํ„ฐ์˜ ๋‚ด์šฉ์„ ๋ฐ”๊ฟ”(์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ) ๋‹ค๋ฅธ ์“ฐ๋ ˆ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค. ์“ฐ๋ ˆ๋“œ ๊ฐ„์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ ์ฝ”๋“œ ์˜์—ญ์„ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญํ•  ๋•Œ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๋‚ด์šฉ์„ ์กฐ๊ธˆ๋งŒ ๋ฐ”๊ฟ”๋„ ๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์— ๋น„ํ•ด ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ํ•˜๋Š” ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
๋ฉ€ํ‹ฐ ํƒœ์Šคํ‚น์ด๋‚˜ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ๋Š” ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์—…์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ, ๋™์‹œ์— ์ˆ˜ํ–‰๋˜๋Š” ์ž‘์—…์— ๋Œ€ํ•ด ๋™๊ธฐํ™”๊ฐ€ ํ•„์—ฐ์ ์œผ๋กœ ํ•„์š”ํ•˜๋‹ค.
์ž๋ฐ”๋Š” ์–ธ์–ด ์ฐจ์›์—์„œ ๋™๊ธฐํ™”๋ฅผ ์ง€์›ํ•œ๋‹ค. synchronized ํ‚ค์›Œ๋“œ๋ฅผ ์ด์šฉํ•ด ์†์‰ฝ๊ฒŒ ๋™๊ธฐํ™”๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ผญ ํ•„์š”ํ•  ๋•Œ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. synchronized๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒƒ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ์— ๋น„ํ•ด ์•ฝ 3โˆผ4๋ฐฐ์ •๋„ ๋Š๋ ค์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์œ ๋‹‰์Šค์™€ ์œˆ๋„์šฐ๋Š” ์šด์˜์ฒด์ œ ์ฐจ์›์—์„œ Event, Critical Section, Mutex, Semaphore ๋“ฑ์˜ ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•œ๋‹ค.
๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•๋ก ๊ณผ UML
์š”์ฆ˜ ์†Œํ”„ํŠธ์›จ์–ด ์ „๋ฐ˜์— '๊ฐ์ฒด์ง€ํ–ฅ'์ด๋ž€ ๋ง์ด ๋ถ™์ง€ ์•Š์€ ๋ถ„์•ผ๊ฐ€ ์—†๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์—๋„ ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„/์„ค๊ณ„, ๋ฐฉ๋ฒ•๋ก ์ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. ์ด์ œ UML(Unified Modeling Language)์€ ์ •์ฐฉ ๋‹จ๊ณ„์— ๋“ค์–ด์„ฐ๋‹ค. ์–ด๋Š ๊ธ€์„ ๋ณด๋“ ์ง€, ํ‘œ๊ธฐ๋ฒ•์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋‘ UML์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
<!--(PAGEBREAK)-->
ํ•˜์ง€๋งŒ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด UML์„ ์˜คํ•ดํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ๋‘ ๊ฐ€์ง€๋งŒ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.
1. UML์€ ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐฉ๋ฒ•๋ก ์ด๋‹ค.
2. UML์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ์ƒ๊ธฐ๋Š” ๋งŽ์€ ๊ธฐ์ˆ ์ ์ธ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค.
UML์€ ๋ฐฉ๋ฒ•๋ก (methodology)์ด ์•„๋‹ˆ๋‹ค. UML์€ ํ‘œ๊ธฐ๋ฒ•(notation)์ด๋‹ค. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด UML์„ ์ผ์ข…์˜ ๋ฐฉ๋ฒ•๋ก ์ฒ˜๋Ÿผ ์ƒ๊ฐํ•˜๊ณ  ์žˆ๋Š”๋ฐ, UML์€ ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„/์„ค๊ณ„์˜ ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ‘œ์ค€์ ์ธ ํ‘œ๊ธฐ๋ฒ•์„ ์ œ๊ณตํ•  ๋ฟ์ด์ง€ UML ์ž์ฒด๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€๋ฅผ ํ•ด์ฃผ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•๋ก ์ด๋ผ๊ณ  ์–˜๊ธฐํ•˜๋ ค๋ฉด ํ‘œ๊ธฐ๋ฒ•๊ณผ ํ•จ๊ป˜ ๊ณต์ •์„ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.
๋ฐฉ๋ฒ•๋ก  = ํ‘œ๊ธฐ๋ฒ• + ๊ณต์ •
ํ•˜์ง€๋งŒ UML์€ ๊ณต์ •์„ ํฌํ•จํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ RUP(Rational Unified Process)๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ์ž์ฒด์˜ ๊ณ ์œ ํ•œ ๊ณต์ •์„ ์จ๋„ ์ข‹๋‹ค๋Š” ์–˜๊ธฐ๊ฐ€ ๋œ๋‹ค.
๋˜ ํ•œ ๊ฐ€์ง€ ์‚ฌ์‹ค์€ UML์„ ์“ฐ๋”๋ผ๋„ ์—ฌ์ „ํžˆ ๊ธฐ์ˆ ์ ์ธ ๋ฌธ์ œ๋“ค์€ ๊ทธ๋Œ€๋กœ ๋‚จ์•„ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค. ๊ธฐ์ˆ ์ ์ธ ๋ฌธ์ œ๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•๋ก ์„ ์“ฐ๊ฑด ๋ฐฉ๋ฒ•๋ก ๊ณผ๋Š” ๋ณ„๊ฐœ๋กœ ํ’€์–ด์•ผ ํ•  ๊ณผ์ œ๋กœ ๋‚จ๊ฒŒ ๋œ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด ์™œ UML์„ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€. ๊ทธ ๋‹ต์€ '๋‚จ๋“ค์ด ๋ชจ๋‘ ์“ฐ๋‹ˆ๊นŒ'๋‹ค. ์šฐ์Šค๊ฐœ ์†Œ๋ฆฌ ๊ฐ™์ง€๋งŒ ์‚ฌ์‹ค์ด์ž ๊ณง ํ˜„์‹ค์ด๋‹ค. ์ข€๋” ๊ณ ์ƒํ•˜๊ฒŒ ๋งํ•ด ํ‘œ์ค€์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. UML์€ ๊ฐœ๋ฐœ์ž๊ฐ„ ํ˜น์€ ๊ฐœ๋ฐœ์ž์™€ ๊ณ ๊ฐ๊ฐ„์˜ ์˜์‚ฌ์†Œํ†ต์— ์žˆ์–ด ํ‘œ์ค€์ ์ธ ํ˜•ํƒœ๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ๋ฐ ๊ฐ€์žฅ ํฐ ์˜์˜๊ฐ€ ์žˆ๋‹ค. ์‚ฌ์‹ค ์‹œ์Šคํ…œ์„ ๋ถ„์„/์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์€ ํ‘œ๊ธฐ๋ฒ•์ด๋‚˜ ๊ณต์ •๋ณด๋‹ค '๊ฒฝํ—˜'์ด ํ›จ์”ฌ ์ค‘์š”ํ•˜๋‹ค. ํ•„์ž๋Š” '๊ฒฝํ—˜'์„ ์•ž์„œ๋Š” ๊ฒƒ์€ ์•„๋ฌด ๊ฒƒ๋„ ์—†๋‹ค๊ณ  ๋ณธ๋‹ค.
<๊ทธ๋ฆผ 2> UML์˜ ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ

๋งŽ์€ ์‚ฌ๋žŒ์ด ์žฌ์‚ฌ์šฉ์„ ๋ถ€๋ฅด์ง–๊ณ  ๊ฐ์ฒด์ง€ํ–ฅ์˜ ๊ฐ€์žฅ ํฐ ์žฅ์ ์„ ์žฌ์‚ฌ์šฉ์—์„œ ์ฐพ๊ณ  ์žˆ์ง€๋งŒ, ์‹ค์ œ ์—ฌ๋Ÿฌ๋ถ„์˜ ํ”„๋กœ์ ํŠธ์—์„œ ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์ฝ”๋“œ๊ฐ€ ์žฌ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€ ๋Œ์ด์ผœ ๋ณด๋ผ.
์žฌ์‚ฌ์šฉ์ด ๊ฐ€์žฅ ์ž˜ ์ ์šฉ๋˜๋Š” ๋ถ„์•ผ๊ฐ€ ๋ฐ”๋กœ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ ๊ฐœ๋ฐœ(CBD; Component Based Development)์ด๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ์กฐ๋ฆฝํ•˜๋Š” ์—ญํ• ๊ณผ ๋ฐฐ๋ถ„์ด ๊ทธ๋ฆฌ ์‰ฝ๊ฒŒ ์ด๋ค„์ง€์ง€๋Š” ์•Š๋Š”๋‹ค. ๊ฒฐ๊ตญ ๊ฐ์ฒด์ง€ํ–ฅ๋ก ์ด๋‚˜ ์žฌ์‚ฌ์šฉ, CBD ๋“ฑ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋ฐ ์ข€๋” ๋„์›€์ด ๋˜๋„๋ก ํ•˜๋Š” ๋…๋ ค์˜ ๋Œ€์ƒ์ด์ง€ ๊ทธ ์ž์ฒด๊ฐ€ ๋ชฉ์ ์ด ๋  ์ˆ˜๋Š” ์—†๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๋ถ„์•ผ์—์„œ๋Š” ์•„๋ฌด๋ฆฌ ์ข‹์€ ๊ฐœ๋…์— ์•„๋ฌด๋ฆฌ ์ข‹์€ ์ œํ’ˆ์ด๋ผ๋„ ์‹ค์ œ ํ™œ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ์•„๋ฌด ์†Œ์šฉ์ด ์—†๋‹ค.
์ปดํ“จํ„ฐ์™€ ์ˆ˜ํ•™
์ปดํ“จํ„ฐ์˜ ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ ์ˆ˜ํ•™์ด๋ผ๋Š” ๊ฒƒ์„ ์•„๋Š” ์‚ฌ๋žŒ์€ ์ƒ๊ฐ๋ณด๋‹ค ๊ทธ๋ฆฌ ๋งŽ์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™๋‹ค.
์‚ฌ์‹ค ์ปดํ“จํ„ฐ์˜ ์•„ํ‚คํ…์ฒ˜๋Š” ๋ถ€์šธ ๋Œ€์ˆ˜์ด๊ณ , ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ๋ก ์„ ๊ทธ๋Œ€๋กœ ์˜ฎ๊ฒจ ๋†“์€ ๊ฒƒ์ด๋‹ค. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ณ„์ธตํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ๋„คํŠธ์›Œํฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ์น˜๊ณ  70๋…„๋Œ€๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€ ๋„๋ฆฌ ์“ฐ์ด๋Š” ๊นŒ๋‹ญ์€ ์ˆ˜ํ•™์  ์ด๋ก ์„ ๋ฐ”ํƒ•์œผ๋กœ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ–ˆ๋‹ค๋Š” ๋ง๋„ ์žˆ๋‹ค.
๋ฌผ๋ก  ์ˆ˜ํ•™์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์ง€์‹์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋Š” ๋ฐ ๋งŽ์€ ๋„์›€์„ ๋ฐ›๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ด์ง€๋งŒ ์ ˆ๋Œ€ ํ•„์ˆ˜์ ์ธ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ์ค‘ํ•™๊ต 3ํ•™๋…„ ์ •๋„์˜ ์ˆ˜ํ•™์ด๋ฉด ์ถฉ๋ถ„ํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค.
๊ณ ๋“ฑํ•™๊ต ์ด์ƒ์˜ ์ˆ˜ํ•™ ์‹ค๋ ฅ์ด ํ•„์š”ํ•œ ๋ถ„์•ผ๋Š” ์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค๋‹ค(์ปดํ“จํ„ฐ ๊ทธ๋ž˜ํ”ฝ์Šค๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ). ๋งŒ์ผ ๋ณด๋‹ค ์‹ฌ๋„ ๊นŠ์€ ์—ฐ๊ตฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด, ์ด์‚ฐ ์ˆ˜ํ•™(Discrete Mathematics)์ด๋ผ๋Š” ์ˆ˜ํ•™๋ถ„์•ผ๋ฅผ ๊ณต๋ถ€ํ•  ๊ฒƒ์„ ๊ถŒํ•œ๋‹ค. ์ด์‚ฐ ์ˆ˜ํ•™์€ ์ „์‚ฐํ•™์˜ ๊ธฐ์ดˆ ์ด๋ก ์„ ์ˆ˜ํ•™์ ์ธ ์ž…์žฅ์—์„œ ๋‹ค๋ฃฌ๋‹ค. ์ˆ˜ํ•™์ด๋ผ๋Š” ํ•™๋ฌธ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๋‹ค๋Š” ๋ฌดํ•œ(Infinity)์™€ ์—ฐ์†(Continuity)์„ ๋บ€ ์ˆ˜ํ•™์ด๋ผ๊ณ  ๋ณด๋ฉด ํ‹€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.
<!--(PAGEBREAK)-->
๋ฏธ๋ž˜๋ฅผ ์ขŒ์šฐํ•˜๋Š” ๊ฒƒ
์ธํ„ฐ๋„ท์˜ ํ™•์‚ฐ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ๊ณ„๋ฅผ ํ—ˆ๋ฌผ์—ˆ๊ณ , ์†Œํ”„ํŠธ์›จ์–ด ์‚ฐ์—…์ „์ฒด๋ฅผ ๋’ค์ง‘์–ด ๋†“์•˜๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์€ ์›น ๊ธฐ๋ฐ˜์œผ๋กœ ์ „ํ™˜๋์œผ๋ฉฐ, ์ธํ„ฐ๋„ท์„ ๋นผ๋†“๊ณ ์„  ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค์–ด์กŒ๋‹ค.
๊ทธ ๋‹ค์Œ์€ ๋ฌด์—‡์ธ๊ฐ€. ๊ทธ๊ฒƒ์€ ๋ฐ”๋กœ '๋ชจ๋ฐ”์ผ'์ผ ๊ฒƒ์ด๋ผ๋Š” ์ ์— ๋งŽ์€ ์‚ฌ๋žŒ์ด ๊ณต๊ฐ์„ ํ‘œ์‹œํ•˜๊ณ  ์žˆ๋‹ค.
๋ชจ๋ฐ”์ผ ์‹œ์žฅ์˜ ํ™œ์„ฑํ™”์— ๋”ฐ๋ผ ํŠน์ˆ˜ ๋ชฉ์ ์˜ ์šด์˜์ฒด์ œ๋‚˜ ํ•˜๋“œ์›จ์–ด๊ฐ€ ๊ฐ๊ด‘๋ฐ›์„ ๊ฒƒ์ด๊ณ  ๋”์šฑ ๋” ๋งŽ์€ ๊ธฐ์ˆ ์ด ๋ฐœํ‘œ๋  ๊ฒƒ์ด๋‹ค. ํ˜„์žฌ๋„ ๊ธฐ์ˆ ์€ ์•ฝ์–ด์ง‘์ด ํ•„์š”ํ•  ์ •๋„๋กœ ์Ÿ์•„์ ธ ๋‚˜์˜ค๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ ์ฐจ ์ฝ”๋”ฉ์€ ๊ธฐ์ˆ ๊ณผ ๊ธฐ์ˆ ์„ ๋ฌถ์–ด๋‚ด๋Š” ๋„๊ตฌ๋กœ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.
๋งŽ์€ ํ”Œ๋žซํผ๊ณผ ์–ธ์–ด๊ฐ€ ํฅ๋ง์„ฑ์‡ ๋ฅผ ๊ฑฐ๋“ญํ•ด ๊ฐ€๋ฉด์„œ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์ง€๋งŒ, ๊ธฐ๋ณธ๊ณผ ๊ธฐ๋ฐ˜๊ธฐ์ˆ ์€ ํฌ๊ฒŒ ๋ณ€ํ•˜์ง€ ์•Š์•˜๋‹ค. ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ ์ž์ฒด๊ฐ€ 'ํฐ ๋…ธ์ด๋งŒ ๊ตฌ์กฐ(stored program)'๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ณ  ์žˆ๊ณ , ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ชจ๋“  ๊ธฐ์ˆ ์ด ์ด์ „ ๊ธฐ์ˆ ์„ ๋ฐ”ํƒ•์— ๋‘๊ณ  ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
UML์„ ์˜ˆ๋กœ ๋“ค์–ด๋ณด์ž. UML์€ ์‚ฌ์‹ค ์ „ํ˜€ ์ƒˆ๋กœ์šด ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์ด์ „์˜ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ๊ณผ ๊ฐœ๋…์„ ์ข…ํ•ฉํ•˜๊ณ  ํ‘œ์ค€ํ™”ํ–ˆ์„ ๋ฟ์ด๋‹ค. C#๋„ C++, ์Šค๋ชฐํ† ํฌ, ์ž๋ฐ”์™€ ๊ฐ™์€ ์กฐ์ƒ ์–ธ์–ด์™€ COM/DCOM์— ๊ธฐ๋ฐ˜ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.
ํ•„์ž๋Š” ๊ฐœ์ธ์ ์œผ๋กœ ํ–ฅํ›„ ๋Œ€์ค‘์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๋Œ€ํ‘œ ์ฃผ์ž๋Š” ์ž๋ฐ”์™€ C#์ด ๋  ๊ฒƒ์œผ๋กœ ์ ์น˜๊ณ  ์žˆ๋‹ค. C#์€ ํด๋ž˜์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ „์ฒด๊ฐ€ COM ๊ฐ์ฒด๋กœ ๊ตฌ์„ฑ๋ผ ์žˆ๊ณ , ์ž๋ฐ”๋Š” EJB๋ฅผ ํ†ตํ•ด CBD๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค. JVM๊ณผ .NET ํ”Œ๋žซํผ์„ ๋ณด๋ฉด ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ”Œ๋žซํผ์— ํก์ˆ˜๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์ด๋Ÿฐ ์–˜๊ธฐ๊ฐ€ ์‚ฌ๋ญ‡ ๋‹ค๋ฅด๊ฒŒ ๋“ค๋ฆด์ง€ ๋ชฐ๋ผ๋„, ์กฐ๊ธˆ๋งŒ ๊นŠ๊ฒŒ ์‚ดํŽด๋ณด๋ฉด ์‹ค์€ ๋น„์Šทํ•œ ๊ฐœ๋…์˜ ๊ธฐ๋ฐ˜๊ธฐ์ˆ ์„ ๋ฐฐ๊ฒฝ์œผ๋กœ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
์›น๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์„œ๋น„์Šค์—๋„ XML๊ณผ SOAP๋Š” ๋”์šฑ ๋” ๋งŽ์ด ์“ฐ์ด๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค(XML๊ณผ SOAP๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ๋ฌถ์–ด๋‚ด๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์ด ๋  ๊ฒƒ์ด๋‹ค). ์ด์ œ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ ์ง€์‹์„ ์ž์‹ ์ด ์„ ํ˜ธํ•˜๋Š” ์–ธ์–ด๋กœ ์š”๋ฆฌํ•ด ์—ฎ์–ด๋‚ด๊ณ  ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ž์งˆ์ด ์š”๊ตฌ๋˜๊ณ  ์žˆ๋‹ค. @

์ฐธ๊ณ  ๋ฌธํ—Œ
Operating System Concepts 3/e, A. Silberschatz, J. Peterson, P. Galvin, Addison-Wesley, 1992
Digital Logic and Computer Design, M. Morris Mano, Prentice-Hall, 1979
Computer System Architecture 2/e, M. Morris Mano, Prentice-Hall, 1982
Computer Organization and Architecture: Principles of Structure and Function, William Stallings, Macmillan Publishing Company, 1987
Discrete Mathematics with Computer Science Applications, Skvarcius, Robinson, The Benjamin/Cummings Publishing Company, 1986
Fundamentals of Data Structures in C++, Ellis Horowitz, Sartaj Sahni and Dinesh Mehta, Computer Science Press, 1995
Introduction to Algorithms: A Creative Approach, Udi Manber, Addison-Wesley Publishing Company, 1989
Object Lifecycles, Sally Shlaer, Stephen J. Mellor, Prentice-Hall, New Jersey, 1992
Object-Oriented Modeling and Design, J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Prentice-Hall, 1991

๋ฐ˜์‘ํ˜•

+ Recent posts