๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ’ป Computer Science191

[์šด์˜์ฒด์ œ] 14. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์˜ ์ดํ•ด ์Šค์ผ€์ค„๋ง์˜ ๊ฐœ๋… ๋‹จ์ผ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ์ค‘ ํ•œ ๊ฐ€์ง€๋Š” ๋ฐ”๋กœ ์ด ์Šค์ผ€์ค„๋ง๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค. ๋‹จ์ผ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ์š”์ฒญํ•˜๋ฉด, ์ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰์„ ๋งˆ์น  ๋•Œ ๊นŒ์ง€๋Š” ์‚ฌ์šฉํ•˜๋˜ ์ž์›์„ ๋Œ€๊ธฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ํšจ์œจ์ด ๋งŽ์ด ๋‚ฎ์•„์ง„๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋†“๊ณ  ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ์š”์ฒญํ•˜๋ฉด, ์šด์˜์ฒด์ œ๊ฐ€ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์„œ๋ฅผ ํšŒ์ˆ˜ํ•˜์—ฌ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ํ• ๋‹นํ•œ๋‹ค. ์žฅ์  ํ”„๋กœ์„ธ์„œ ์ด์šฉ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์„ธ์„œ ์ฒ˜๋ฆฌ์œจ์ด ์ฆ๊ฐ€ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง์˜ ๋ชฉ์  ์ž์› ํ• ๋‹น์˜ ๊ณต์ •์„ฑ ๋‹จ์œ„์‹œ๊ฐ„๋‹น ์ฒ˜๋ฆฌ๋Ÿ‰ ๊ทน๋Œ€ํ™” ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ ๋ณด์žฅ ์ ์ ˆํ•œ ๋ฐ˜ํ™˜์‹œ๊ฐ„ ๋ณด์žฅ ์˜ค๋ฒ„ํ—ค๋“œ ์ตœ์†Œํ™” ์ž์› ์‚ฌ์šฉ์˜ ๊ท ํ˜• ์œ ์ง€ ์‹คํ–‰ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ฐฉ์ง€ ์šฐ์„ ์ˆœ์œ„ ์™€ ๊ฐ™์€ ๋ชฉ์ ์„ ์œ„ํ•ด ์šด์˜์ฒด.. 2019. 12. 9.
[์šด์˜์ฒด์ œ] 13. ๊ต์ฐฉ์ƒํƒœ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•(์˜ˆ๋ฐฉ, ํšŒํ”ผ, ํšŒ๋ณต) ๊ต์ฐฉ์ƒํƒœ์˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ๊ต์ฐฉ์ƒํƒœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ํฌ๊ฒŒ ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์˜ˆ๋ฐฉํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ต์ฐฉ์ƒํƒœ์˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ์ธ์ง€ํ•˜๊ณ  ์ด๋ฅผ ์ ์ ˆํžˆ ํšŒํ”ผํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํ—ˆ์šฉํ•˜์ง€๋งŒ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ํƒ์ง€ํ•˜์—ฌ ๋‹ค์‹œ ํšŒ๋ณตํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ต์ฐฉ์ƒํƒœ ์˜ˆ๋ฐฉ ์•ž์—์„œ ๋ง ํ•œ ๊ต์ฐฉ์ƒํƒœ ๋„ค ๊ฐ€์ง€ ์กฐ๊ฑด์„ ์•„์˜ˆ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋กํ•˜์—ฌ ๊ต์ฐฉ์ƒํƒœ๋ฅผ ์˜ˆ๋ฐฉํ•œ๋‹ค. ์ž์›์˜ ์ƒํ˜ธ๋ฐฐ์ œ ์กฐ๊ฑด ๋ฐฉ์ง€ ์ƒํ˜ธ๋ฐฐ์ œ๋Š” ์ž์›์˜ ๋น„๊ณต์œ ๊ฐ€ ์ „์ œ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ณต์œ ์ž์›์€ ๋ฐฐํƒ€์  ์ ‘๊ทผ์ด ํ•„์š” ์—†์–ด์„œ ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ ์œ ์™€ ๋Œ€๊ธฐ ์กฐ๊ฑด ๋ฐฉ์ง€ ์ ์œ ์™€ ๋Œ€๊ธฐ์กฐ๊ฑด์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ ค๋ฉด, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ํ•„์š”ํ•œ ์ž์›์„ ๋ชจ๋‘ ์š”์ฒญํ•˜๊ณ  ํš๋“ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ฅผ ์ตœ๋Œ€ ์ž์› ํ• ๋‹น์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ ์ด๋Š” ์ž์› ํšจ์œจ์„ฑ์ด ๋‚ฎ๊ณ  ๊ธฐ์•„ ์ƒํƒœ๋ฅผ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ.. 2019. 12. 9.
[์šด์˜์ฒด์ œ] 12. ๊ต์ฐฉ์ƒํƒœ์˜ ๊ฐœ๋…๊ณผ ๋ฐœ์ƒ ์›์ธ ๊ต์ฐฉ์ƒํƒœ์˜ ๊ฐœ๋… ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฒฐ์ฝ” ์ผ์–ด๋‚˜์ง€ ์•Š์„ ์‚ฌ๊ฑด์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ƒํƒœ๊ฐ€ ๋˜๋ฉด Deadlock, ๊ต์ฐฉ์ƒํƒœ์— ๋น ์กŒ๋‹ค๊ณ  ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค ํ•œ ๊ฐœ ์ด์ƒ์ด ๊ต์ฐฉ์ƒํƒœ์— ๋น ์ง€๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ์ •์ง€๋˜์–ด ๋” ์ด์ƒ ์ž‘์—… ์ˆ˜ํ–‰์„ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋˜๋ฉฐ, ๋‹ค๋ฅธ ์ž‘์—…์—๋„ ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ๋˜์–ด ๋ฌดํ•œ ๋Œ€๊ธฐ๋‚˜ ๊ธฐ์•„ ์ƒํƒœ๋ณด๋‹ค ๋” ์‹ฌ๊ฐํ•œ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚จ๋‹ค. ์œ„์˜ ๊ทธ๋ฆผ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์ƒํƒœ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ํ”„๋กœ์„ธ์Šค A๊ฐ€ ์Šค์ผ€๋„ˆ ์‚ฌ์šฉ ๊ถŒํ•œ ํš๋“ ์Šค์ผ€๋„ˆ๋Š” ํ”„๋กœ์„ธ์Šค A ์—๊ฒŒ๋งŒ ๊ถŒํ•œ์„ ํ• ๋‹นํ•˜์˜€๊ณ  A๊ฐ€ ํ• ๋‹น ํ•ด์ œํ•˜๊ธฐ ์ „ ๊นŒ์ง€๋Š” ์Šค์ผ€๋„ˆ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ํ”„๋กœ์„ธ์Šค A๋Š” CD์—๊ฒŒ ์‚ฌ์šฉ ๊ถŒํ•œ ์š”์ฒญ CD์—๊ฒŒ ์‚ฌ์šฉ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜์ง€๋งŒ CD๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์ฃผ๋„๊ถŒ์„ ๋„˜๊ฒผ๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ CD๋ฅผ ํ• ๋‹น ํ•ด์ œํ•˜๊ธฐ ์ „ ๊นŒ์ง€ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ ํ”„๋กœ์„ธ์Šค B๊ฐ€ CD ์‚ฌ์šฉ ๊ถŒํ•œ ํš๋“ c.. 2019. 12. 9.
[์šด์˜์ฒด์ œ] 11. ์ƒํ˜ธ๋ฐฐ์ œ์™€ ๋™๊ธฐํ™” ์ƒํ˜ธ๋ฐฐ์ œ์™€ ๋™๊ธฐํ™” ์ƒํ˜ธ๋ฐฐ์ œ์˜ ๊ฐœ๋… ์ƒํ˜ธ๋ฐฐ์ œ๋Š” ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค์—์„œ ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜๊ฐ€ ๊ณต์œ ์ž์›์„ ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋™์ผํ•œ ์ผ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋„๋กํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋™๊ธฐํ™” ๊ณต์œ  ์ž์›์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ”„๋กœ์„ธ์Šค ํ•˜๋‚˜๊ฐ€ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ์‹คํ–‰์„ ์ œ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ต์ฐฉ ์ƒํƒœ, ๊ธฐ์•„ ์ƒํƒœ ๋™๊ธฐํ™”๋กœ ์ƒํ˜ธ๋ฐฐ์ œ๋Š” ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ž‘์—…์ด ์„œ๋กœ ์ƒ๋Œ€๋ฐฉ์˜ ์ž‘์—…์ด ๋๋‚˜๊ธฐ ๋งŒ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ์ ์œผ๋กœ ์•„๋ฌด๊ฒƒ๋„ ์™„๋ฃŒ๋˜์ง€ ๋ชปํ•˜๋Š” ์ƒํƒœ์ธ ๊ต์ฐฉ ์ƒํƒœ๋ฅผ ๋ณด์žฅํ•  ์ˆ˜๋Š” ์—†๋‹ค. ์ƒํ˜ธ ๋ฐฐ์ œ์˜ ๊ตฌ์ฒด์  ์˜ˆ์‹œ ํ”„๋กœ์„ธ์Šค p1 : ํ”„๋กœ์„ธ์Šค 1 ํ”„๋กœ์„ธ์Šค p2 : ํ”„๋กœ์„ธ์Šค 2 ์ž„๊ณ„ ์ž์› : ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์ž์› ์ž„๊ฒŒ ์˜์—ญ : ์ž„๊ณ„ ์ž์›์— ์ ‘๊ทผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ๋ถ€๋ถ„ p1์ด ์ž„๊ณ„ ์˜์—ญ.. 2019. 12. 9.
[์šด์˜์ฒด์ œ] 10. ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค์˜ ๊ฐœ๋… ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค : ํ”„๋กœ์„ธ์Šค๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๊ฐ€์ง€ ์ผ๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ _์šด์˜์ฒด์ œ_๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ „ํ™˜ํ•˜์—ฌ ํ”„๋กœ์„ธ์„œ์˜ ์‹œ๊ฐ„์„ ๋‚˜๋ˆ ์„œ ๋งˆ์น˜ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ++์„ ๋œปํ•œ๋‹ค. ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹จ์ผ ์ฒ˜๋ฆฌ์—์–ด ์„œ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋…๋ฆฝ ํ”„๋กœ์„ธ์Šค, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ํ˜‘๋ ฅํ•˜์—ฌ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ˜‘๋ ฅ ํ”„๋กœ์„ธ์Šค๋กœ ๋‚˜๋‰˜๊ฒŒ ๋œ๋‹ค. ๋…๋ฆฝ ํ”„๋กœ์„ธ์Šค ๋‹จ์ผ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณ‘ํ–‰ ํ”„๋กœ์„ธ์Šค ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๋Š” ์˜ํ–ฅ์„ ์ฃผ๊ณ  ๋ฐ›์ง€ ์•Š์œผ๋ฉด์„œ ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋œ๋‹ค. ๋‹จ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ํ˜‘๋ ฅ ํ”„๋กœ์„ธ์Šค ํ˜‘๋ ฅ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ์˜ํ–ฅ์„ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉฐ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋น„๋™๊ธฐ์  ํ”„๋กœ์„ธ์Šค ์ด๋‹ค. .. 2019. 12. 9.
[์šด์˜์ฒด์ œ] 9. ์Šค๋ ˆ๋“œ์˜ ๊ตฌํ˜„ ์Šค๋ ˆ๋“œ์˜ ๊ตฌํ˜„ ์Šค๋ ˆ๋“œ๋Š” ์šด์˜์ฒด์ œ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•˜๊ฒŒ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ฃผ๋กœ ์„ธ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. 1. ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ํ˜•ํƒœ ๋‹ค๋Œ€์ผ (n:1) ๋งคํ•‘ 2. ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ ์ปค๋„(์šด์˜์ฒด์ œ)์—์„œ ์ง€์›ํ•˜๋Š” ํ˜•ํƒœ ์ผ๋Œ€์ผ (1:1) ๋งคํ•‘ 3. ํ˜ผํ•ฉํ˜• ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ + ์ปค๋„ ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ์˜ ํ˜•ํƒœ ๋‹ค๋Œ€๋‹ค (n:n) ๋งคํ•‘ 1. ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ ์‚ฌ์šฉ์ž ์ˆ˜์ค€ ์Šค๋ ˆ๋“œ๋Š” ์‚ฌ์šฉ์ž ์˜์—ญ์˜ ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ตฌํ˜„ํ•˜๊ณ , ์Šค๋ ˆ๋“œ์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ํ–‰์œ„๋ฅผ ์‚ฌ์šฉ์ž ์˜์—ญ์—์„œ ํ•˜๋ฏ€๋กœ ์ปค๋„์ด ์Šค๋ ˆ๋“œ์˜ ์กด์žฌ๋ฅผ ๋ชจ๋ฅธ๋‹ค. ์—ฌ๊ธฐ์„œ ์Šค๋ ˆ๋“œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์Šค๋ ˆ๋“œ์˜ ์ƒ์„ฑ๊ณผ ์ข…๋ฃŒ, ์Šค๋ ˆ๋“œ๊ฐ„ ๋ฉ”์‹œ์ง€ ์ „๋‹ฌ, ์Šค๋ ˆ๋“œ์˜ ์Šค์ผ€์ฅด๋ง๋“ฑ์„ ๋ณด๊ด€ํ•œ๋‹ค. ex) Phtread, Win32 Thread, Java Thread.. 2019. 12. 9.