ํ”„๋กœ์„ธ์Šค vs ์Šค๋ ˆ๋“œ

2023. 3. 4. 15:45ใ†CS/CS ์Šคํ„ฐ๋””

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์— ๋Œ€ํ•œ ์ดํ•ด๋Š” ํšจ์œจ์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด ์ •๋ง ์ค‘์š”ํ•˜๊ณ , ๊ทธ๋ž˜์„œ ๊ทธ๋Ÿฐ์ง€ ๋ฉด์ ‘ ๋‹จ๊ณจ ์งˆ๋ฌธ์ด๊ธฐ๋„ ํ•˜๋‹ค. 

ํ˜„์žฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์Šคํ„ฐ๋””์—์„œ ๋‹ค์Œ์˜ ์ฃผ์ œ๋ฅผ ๊ฐ–๊ณ  ์ด์•ผ๊ธฐ๋ฅผ ํ•ด๋ณด์ž๋Š” ์˜๊ฒฌ์ด ๋‚˜์™€์„œ, ์ด์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ  ๋˜ ์ถ”๊ฐ€์ ์œผ๋กœ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜๋ ค ํ•œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค

ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์„ค๋ช…์€ ๋งํฌ๋กœ ๋Œ€์ฒดํ•œ๋‹ค.

2023.03.01 - [CS/CS ์Šคํ„ฐ๋””] - ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„

 

ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ ๊ณต๊ฐ„

ํ”„๋กœ์„ธ์Šค? ํ”„๋กœ์„ธ์Šค๋ž€ User mode์—์„œ ์ž‘๋™ํ•˜๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค. (ex. ํฌ๋กฌ, ์นด์นด์˜คํ†ก, ๋””์Šค์ฝ”๋“œ ๋“ฑ) ๊ฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ CPU์™€ ๋ฉ”๋ชจ๋ฆฌ ์ž์›์— ์˜์กดํ•˜์—ฌ ์ž‘๋™๋˜๋ฉฐ User mode ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•˜๊ธฐ

one-armed-boy.tistory.com

๊ฐ„๋žตํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด, ํ”„๋กœ์„ธ์Šค๋ž€ ์šด์˜์ฒด์ œ๋กœ๋ถ€ํ„ฐ CPU, ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ํ• ๋‹น๋ฐ›๊ณ  ์ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋‹จ์œ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

 

์Šค๋ ˆ๋“œ

๊ทธ๋ ‡๋‹ค๋ฉด ์Šค๋ ˆ๋“œ๋Š” ๋ฌด์—‡์ผ๊นŒ?

์Šค๋ ˆ๋“œ๋ž€ ํ”„๋กœ์„ธ์Šค ๋‚ด์— ์กด์žฌํ•˜๋Š” ์ž‘์€ ์‹คํ–‰ ๋‹จ์œ„์ด๋‹ค.

๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ์ ์–ด๋„ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ๋ฅผ ๊ฐ€์ง€๋ฉฐ ์Šค๋ ˆ๋“œ๋“ค์€ ํ”„๋กœ์„ธ์Šค ๋‚ด๋ถ€์—์„œ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ด ๋‚˜๊ฐ„๋‹ค.

์Šค๋ ˆ๋“œ๋“ค์€ ์ œ๊ฐ๊ฐ์˜ ์Šคํƒ ์˜์—ญ์„ ๊ฐ€์ง€๋ฉฐ, ๊ทธ ์™ธ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ ์š”์†Œ๋“ค(ex. ์ฝ”๋“œ ์˜์—ญ, ๋ฐ์ดํ„ฐ ์˜์—ญ, ํž™ ์˜์—ญ)์€ ๊ณต์œ ํ•œ๋‹ค. 

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ๊ทธ๋ฆผ ์˜ˆ์‹œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ถœ์ฒ˜: https://www.backblaze.com/blog/whats-the-diff-programs-processes-and-threads/

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค์—๋Š” ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

์ด๋“ค์€ ํ”„๋กœ์„ธ์Šค๋“ค ๊ฐ„์˜ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๋“ฏํ•œ ์ฐฉ๊ฐ์„ ์ค€๋‹ค.

๋‹ค๋งŒ ์Šค๋ ˆ๋“œ๋“ค์€ ํ”„๋กœ์„ธ์Šค๋“ค๊ณผ๋Š” ๋‹ฌ๋ฆฌ ์Šค๋ ˆ๋“œ๋“ค ๊ฐ„์— ๊ณต์œ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ(์ฝ”๋“œ, ๋ฐ์ดํ„ฐ, ํž™)๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—,

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์˜ ๋น„์šฉ์ด ๋” ์ ์œผ๋ฉฐ ๋”ฐ๋ผ์„œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ์— ๋” ์œ ๋ฆฌํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. 

ํ•˜์ง€๋งŒ ์ด์— ๋”ฐ๋ฅธ ๋ฌธ์ œ๋„ ์กด์žฌํ•˜๋Š”๋ฐ, ์Šค๋ ˆ๋“œ๋“ค์˜ ๊ณต์œ  ์ž์›์— ๋Œ€ํ•œ ๋™์‹œ๋‹ค๋ฐœ์  ์ ‘๊ทผ์— ๋”ฐ๋ฅธ ๋™์‹œ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐ”๋กœ ๊ทธ๊ฒƒ์ด๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ์œ„ํ•ด ๋ฎคํ…์Šค(Mutex)๋‚˜ ์„ธ๋งˆํฌ์–ด(Semaphore) ๋“ฑ์˜ ๋ฐฉ๋ฒ•์ด ์ด์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.