์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

๋‡Œ๋ฅผ ์ž๊ทนํ•˜๋Š” ์œˆ๋„์šฐ์ฆˆ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ•œ๋น›๋ฏธ๋””์–ด(์ฃผ)์—์„œ ๋ฐœ๊ฐ„ํ•œ '๋‡Œ๋ฅผ ์ž๊ทนํ•˜๋Š” ์œˆ๋„์šฐ์ฆˆ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ' ์ €์ž์˜ ๊ฐ•์ขŒ ์ž…๋‹ˆ๋‹ค.

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์‹œ์Šคํ…œ ยท ์šด์˜์ฒด์ œ, ๋ฐ๋ธŒ์˜ต์Šค ยท ์ธํ”„๋ผ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ

1. ๊ฐ•์ขŒ ์†Œ๊ฐœ

ํ•œ๋น›๋ฏธ๋””์–ด(์ฃผ) ์—์„œ ๋ฐœ๊ฐ„ํ•œ '๋‡Œ๋ฅผ ์ž๊ทนํ•˜๋Š” ์œˆ๋„์šฐ์ฆˆ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ' ์˜ ์ €์ž ์œค์„ฑ์šฐ ๋‹˜์ด ์ง์ ‘ ๊ฐ•์˜ํ•˜๋Š” ์˜จ๋ผ์ธ ๊ฐ•์ขŒ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ์—ฌ๋Ÿฌ ์ €์„œ์™€ ์˜จ๋ผ์ธ ๊ฐ•์˜๋กœ ๋ช…์„ฑ์ด ๋†’์€ ์œค์„ฑ์šฐ ๋‹˜์˜ ๊ฐ•์ขŒ๋‹ต๊ฒŒ ์ฐจ๋ถ„ํ•˜๋ฉด์„œ๋„ ๋‹จ๊ณ„๋ณ„๋กœ ์ฐจ๊ทผ์ฐจ๊ทผ ์ด์–ด์ง€๋Š” ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์„ค๋ช…์ด ๋ฉ‹์ง„ ๊ฐ•์ขŒ ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ผ๋ฉด ๋ฐ˜๋“œ์‹œ ์•Œ์•„์•ผ ํ•˜๋Š” ์šด์˜์ฒด์ œ, ์ปดํ“จํ„ฐ๊ตฌ์กฐ, ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œค์„ฑ์šฐ๋‹˜์˜ ๋ช…์พŒํ•œ ์„ค๋ช…์œผ๋กœ ์ดํ•ด๊ฐ€ ์‰ฝ๊ฒŒ ๋ ์ˆ˜ ์žˆ์„๊ฒƒ์ž…๋‹ˆ๋‹ค.

2. ๋„์›€๋˜๋Š” ๋ถ„๋“ค

  • C, C++ ์ด๋‚˜ JAVA ๊ฐ™์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ ์–ธ์–ด๋ฅผ ๋ฐฐ์šด๋ถ„
  • ์ดˆ๊ธ‰ ๊ฐœ๋ฐœ์ž
  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ณต๋ถ€์ค‘์ธ ๋Œ€ํ•™์ƒ
  • ๊ฐœ๋ฐœ์ž, ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋˜๊ณ  ์‹ถ์€ ๋ˆ„๊ตฌ๋‚˜

3. ๊ต์œก๊ณผ์ •

1 ์žฅ. ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ดํ•ด์™€ ์ ‘๊ทผ/์ปดํ“จํ„ฐ ํ•˜๋“œ์›จ์–ด์˜ ๊ตฌ์„ฑ/CPU์— ๋Œ€ํ•œ ์ดํ•ด ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰๊ณผ์ •/ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑ์˜ ์žฌ์ ‘๊ทผ
2 ์žฅ. Windows์—์„œ์˜ ์œ ๋‹ˆ์ฝ”๋“œ(UNICODE) MBCS์™€ WBCS์˜ ๋™์‹œ ์ง€์›
3 ์žฅ. WIN32 vs WIN64 ํ”„๋กœ๊ทธ๋žจ ๊ตฌํ˜„ ๊ด€์ ์—์„œ์˜ WIN32 vs WIN64/์˜ค๋ฅ˜์˜ ํ™•์ธ
4 ์žฅ. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์˜ ์ ‘๊ทผ๋ฐฉ๋ฒ•
         (1) ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์˜ ์ ‘๊ทผ๋ฐฉ๋ฒ•
         (2) LOAD & STORE ๋ช…๋ น์–ด ๋””์ž์ธ Direct ๋ชจ๋“œ์™€ Indirect ๋ชจ๋“œ
5 ์žฅ. ํ”„๋กœ์„ธ์Šค์™€ ์Šค์ผ€์ค„๋Ÿฌ์˜ ์ดํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ†ตํ•œ ํ”„๋กœ์„ธ์Šค์˜ ์ƒ์„ฑ
6 ์žฅ. ์ปค๋„ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ์ดํ•ด ์ปค๋„
         ์˜ค๋ธŒ์ ํŠธ์™€ ํ•ธ๋“ค์˜ ์ข…์†๊ด€๊ณ„ (1)
         ์ปค๋„ ์˜ค๋ธŒ์ ํŠธ์™€ ํ•ธ๋“ค์˜ ์ข…์†๊ด€๊ณ„ (2)
         ์ปค๋„ ์˜ค๋ธŒ์ ํŠธ์™€ ํ•ธ๋“ค์˜ ์ข…์†๊ด€๊ณ„ (3)
7 ์žฅ. ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹ (IPC)์˜ ์˜๋ฏธ/๋ฉ”์ผ์Šฌ๋กฏ ๋ฐฉ์‹์˜ IPC Signaled vs Non-Signaled
8 ์žฅ. ํ”„๋กœ์„ธ์Šค ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํ•ธ๋“ค ํ…Œ์ด๋ธ”๊ณผ ์˜ค๋ธŒ์ ํŠธ ํ•ธ๋“ค์˜ ์ƒ์† ํŒŒ์ดํ”„ ๋ฐฉ์‹์˜ IPC
9 ์žฅ. ํ”„๋กœ์„ธ์Šค์˜ ์Šค์ผ€์ค„๋ง
         (1) ํ”„๋กœ์„ธ์Šค์˜ ์Šค์ผ€์ค„๋ง
         (2) / Windows ํ”„๋กœ์„ธ์Šค ์šฐ์„ ์ˆœ์œ„
10 ์žฅ. ์ ˆ์ฐจ์  ํ•จ์ˆ˜ ํ˜ธ์ถœ(Procedure Call) ์ง€์› CPU ๋ชจ๋ธ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ธ์ž์˜ ์ „๋‹ฌ๊ณผ PUSH & POP ๋ช…๋ น์–ด ๋””์ž์ธ ํ˜ธ์ถœ ๊ทœ์•ฝ๊ณผ ์‹คํ–‰์˜ ์ด๋™
11 ์žฅ. ํ”„๋กœ์„ธ์Šค vs. ์“ฐ๋ ˆ๋“œ
         (1) ํ”„๋กœ์„ธ์Šค vs. ์“ฐ๋ ˆ๋“œ
         (2) Windows์—์„œ์˜ ํ”„๋กœ์„ธ์Šค์™€ ์“ฐ๋ ˆ๋“œ ์ปค๋„ ๋ ˆ๋ฒจ ์“ฐ๋ ˆ๋“œ์™€ ์œ ์ € ๋ ˆ๋ฒจ ์“ฐ๋ ˆ๋“œ ์ปค๋„ ๋ชจ๋“œ์™€ ์œ ์ € ๋ชจ๋“œ
12 ์žฅ. Windows์—์„œ์˜ ์“ฐ๋ ˆ๋“œ ์ƒ์„ฑ๊ณผ ์†Œ๋ฉธ ์“ฐ๋ ˆ๋“œ์˜ ์„ฑ๊ฒฉ๊ณผ ํŠน์„ฑ ์“ฐ๋ ˆ๋“œ์˜ ์ƒํƒœ ์ปจํŠธ๋กค/์“ฐ๋ ˆ๋“œ์˜ ์šฐ์„ ์ˆœ์œ„ ์ปจํŠธ๋กค
13 ์žฅ. ์“ฐ๋ ˆ๋“œ ๋™๊ธฐํ™”์˜ ๊ฐœ๋…/์ž„๊ณ„ ์˜์—ญ ์ ‘๊ทผ ๋™๊ธฐํ™” ์œ ์ € ๋ชจ๋“œ ๋™๊ธฐํ™”
         ์ปค๋„ ๋ชจ๋“œ ๋™๊ธฐํ™” (1)
         ์ปค๋„ ๋ชจ๋“œ ๋™๊ธฐํ™” (2)
14 ์žฅ. ์‹คํ–‰์ˆœ์„œ์— ์žˆ์–ด์„œ์˜ ๋™๊ธฐํ™” ์ด๋ฒคํŠธ(Event) ๋”ํ•˜๊ธฐ ๋ฎคํ…์Šค(Mutex) ํƒ€์ด๋จธ ๊ธฐ๋ฐ˜ ๋™๊ธฐํ™”
15 ์žฅ. ์“ฐ๋ ˆ๋“œ ํ’€์— ๋Œ€ํ•œ ์ดํ•ด ์“ฐ๋ ˆ๋“œ ํ’€์˜ ๊ตฌํ˜„
16 ์žฅ. ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ์บ์‰ฌ์™€ ์บ์‰ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
         ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ (1)
         ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ (2)
17 ์žฅ. ์˜ˆ์™ธ์ฒ˜๋ฆฌ SEH(Structured Exception Handler), ์ข…๋ฃŒ ํ•ธ๋“ค๋Ÿฌ(Termination Handler) ์˜ˆ์™ธ ํ•ธ๋“ค๋Ÿฌ (Exception Handler)
18 ์žฅ. ํŒŒ์ผ I/O ์™€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ปจํŠธ๋กค (1) ํŒŒ์ผ I/O ์™€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ปจํŠธ๋กค (2)
19 ์žฅ. I/O ์™€ CPU ํด๋Ÿญ์˜ ๊ด€๊ณ„ ๋น„๋™๊ธฐ I/O ์˜ ์ดํ•ด ์ค‘์ฒฉ (Overlapped) I/O ์•Œ๋ฆผ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ(Alertable State), APC(Asynchronous Procedure Call)
20 ์žฅ. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory) ์ปจํŠธ๋กค ํž™(Heap) ์ปจํŠธ๋กค MMF(Memory Mapped File)
21 ์žฅ. Dynamic Linking Library

4. ๊ต์žฌ ์†Œ๊ฐœ

์ด ์ฑ…์€ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ถ๊ธˆํ•ด ํ•˜๋ฉด์„œ๋„ ๋˜ํ•œ ์ƒ๋‹นํžˆ ์–ด๋ ค์›Œํ•˜๋Š” ์ปดํ“จํ„ฐ ๊ตฌ์กฐ, ์šด์˜์ฒด์ œ, ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋‚ด์šฉ ์ค‘ ๊ผญ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๊ฐ„์ถ”๋ ค์„œ ๋‹ด์•˜๋‹ค. ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์™€ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋Š” ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ๋Š” ํฐ ์ฃผ์ œ์™€ ์–ด์šฐ๋Ÿฌ์ ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์•ˆ์ชฝ์— ์žˆ๋Š” "๊นŠ์ด"๋ฅผ ์ „๋‹ฌํ•˜๋ฉฐ, "ํฐ ๊ทธ๋ฆผ"์„ ๋ณด์—ฌ์ค€๋‹ค. ๊ฐœ๋…์„ ์•Œ๊ธฐ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜๋งŽ์€ ์ผ๋Ÿฌ์ŠคํŠธ ์ด๋ฏธ์ง€๋ฅผ ๋‹ด์•˜๊ณ , ์ •ํ™•ํ•œ ์ดํ•ด๋ฅผ ๋•๊ณ  ์‘์šฉ๋ ฅ์„ ํ‚ค์šฐ๊ธฐ ์œ„ํ•ด ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ ์žฌ์ ์†Œ์— ๋„ฃ์—ˆ๋‹ค. ์ˆ˜๋งŽ์€ ๋…์ž๋กœ๋ถ€ํ„ฐ ๊ทน์ฐฌ์„ ๋ฐ›์•˜๋˜ ์ €์ž ์œค์„ฑ์šฐ์˜ ์ธํ„ฐ๋„ท ๊ฐ•์˜, ์‚ฌ์†Œํ•œ ๊ถ๊ธˆ์ฆ๊นŒ์ง€ ์งš์–ด๋‚ธ ์นœ์ ˆํ•œ ์„ค๋ช…์€ ๊ฐํƒ„์‚ฌ๋ฅผ ์ด๋Œ์–ด ๋‚ธ๋‹ค. ์–ด๋ ค์šด ์ฃผ์ œ๋ฅผ ์‰ฝ๊ณ  ์žฌ๋ฏธ์žˆ๊ฒŒ ํ’€์–ด๋‚ด๋Š” ์ €์ž๋งŒ์˜ ๋…ธํ•˜์šฐ๋Š” ์—ฌ๋Ÿฌ๋ถ„์„ ๊ฐ€์žฅ ํšจ์œจ์ ์ด๋ฉด์„œ๋„ ์ฆ๊ฑฐ์šด ์—ฌ์ •์œผ๋กœ ์ด๋Œ์–ด ์ค„ ๊ฒƒ์ด๋‹ค.

5. ์ €์ž ์†Œ๊ฐœ

์œค์„ฑ์šฐ(E-Mail: ripeness21@gmail.com)
2000๋…„๋Œ€ ์ดˆ๋ฐ˜๊นŒ์ง€๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…ํŠธ(Architect)๋กœ ์ผ์„ ํ•˜๋‹ค๊ฐ€ ์ดํ›„๋กœ๋Š” ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๊ฐœ๋ฐœ๊ฒฝํ—˜์„ ์Œ“๊ณ  ์žˆ๋‹ค. ์‹œ๊ฐ„์ด ๋‚  ๋•Œ๋งˆ๋‹ค ์กฐ๊น…์„ ํ•˜๋ฉฐ ๋‹ค์–‘ํ•œ ๊ตฌ์ƒ์„ ํ•˜๋Š” ์ €์ž๋Š”, ๋ฐฉ๋ฒ•๋ก ์— ๊ทผ๊ฑฐํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ์ „๋ฌธ๊ฐ€๊ฐ€ ๋ชจ๋“  ๋ถ„์•ผ์—์„œ ํ™œ๋ฐœํžˆ ํ™œ๋™ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐœ์ „์— ๊ธฐ์—ฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ใ€Ž์—ดํ˜ˆ๊ฐ•์˜ C ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€(2003, ํ”„๋ฆฌ๋ ‰) ์ง‘ํ•„ ใ€Ž์—ดํ˜ˆ๊ฐ•์˜ C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€(2004, ํ”„๋ฆฌ๋ ‰) ์ง‘ํ•„ ใ€Ž์—ดํ˜ˆ๊ฐ•์˜ TCP/IP ํ”„๋กœ๊ทธ๋ž˜๋ฐใ€(2003, ํ”„๋ฆฌ๋ ‰) ์ง‘ํ•„    

์•ˆ๋…•ํ•˜์„ธ์š”
ํ•œ๋น›๋ฏธ๋””์–ด์ž…๋‹ˆ๋‹ค.

40,569

๋ช…

์ˆ˜๊ฐ•์ƒ

469

๊ฐœ

์ˆ˜๊ฐ•ํ‰

4.8

์ 

๊ฐ•์˜ ํ‰์ 

6

๊ฐœ

๊ฐ•์˜

ํ•œ๋น›๋ฏธ๋””์–ด๋Š” ์ฑ…์œผ๋กœ ์—ฌ๋Š” IT ์„ธ์ƒ์„ ๋ชจํ† ๋กœ IT ์ „๋ฌธ๊ฐ€๋ฅผ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์ปดํ“จํ„ฐ๊ณตํ•™, IT ์—์„ธ์ด, ๋ฆฌ์–ผํƒ€์ž„(์ „์ž์ฑ…)๊ณผ ์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ QA, ๊ทธ๋ž˜ํ”ฝ ๋“ฑ IT ํ™œ์šฉ์„œ๋ฅผ ์ถœ๊ฐ„ํ•ฉ๋‹ˆ๋‹ค.

๊ณต๋™ ์ง€์‹๊ณต์œ ์ž

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

60๊ฐœ โˆ™ (15์‹œ๊ฐ„ 26๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!

๋ฌด๋ฃŒ