CS

process, thread

moaoh 2024. 12. 14. 08:33

process

ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„

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


thread

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

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


 

๊ตฌ๋ถ„   Process Thread
๊ธฐ๋ณธ ๋‹จ์œ„ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„ ํ”„๋กœ์„ธ์Šค ๋‚ด ์ž‘์—…์˜ ์‹คํ–‰ ๋‹จ์œ„
๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๊ณ ์œ ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(Code, Data, Heap, Stack) Code, Data, Heap ๊ณต์œ , Stack์€ ๋…๋ฆฝ์ 
๋…๋ฆฝ์„ฑ ํ”„๋กœ์„ธ์Šค ๊ฐ„ ๋…๋ฆฝ์ , ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  ๋ถˆ๊ฐ€ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ 
์ƒ์„ฑ ์†๋„ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํผ ์Šค๋ ˆ๋“œ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐ€๋ฒผ์›€
๋ฌธ๋งฅ ์ „ํ™˜ ๋ฌธ๋งฅ ์ „ํ™˜ ๋น„์šฉ์ด ํผ ๋ฌธ๋งฅ ์ „ํ™˜ ๋น„์šฉ์ด ์ ์Œ
ํ†ต์‹  ๋ฐฉ์‹ IPC(ํŒŒ์ดํ”„, ์†Œ์ผ“ ๋“ฑ)๋กœ ํ†ต์‹  ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ 
์•ˆ์ •์„ฑ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์–ด๋„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ ์—†์Œ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ์˜ค๋ฅ˜๊ฐ€ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ

์˜ˆ์‹œ

์˜ˆ์‹œ๋ฅผ ๋“ค์–ด ๋ณด๋ฉด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค.

Chrome์€ ํ•˜๋‚˜์˜ Process(ํ”„๋กœ์„ธ์Šค)์ด๊ณ , Chrome์˜ ๊ฐ ํƒญ์€ Thread(์Šค๋ ˆ๋“œ)๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

Chrome์ด๋ผ๋Š” ํฐ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํƒญ์ด ์‹คํ–‰๋˜๋ฉฐ, ํƒญ๋“ค์€ Context Switching์„ ํ†ตํ•ด ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ๋กœ ๋™์ž‘ํ•œ๋‹ค.

์ฆ‰, ํƒญ๋“ค๋ผ๋ฆฌ๋Š” ์ผ์ • ๋ถ€๋ถ„ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜์—ฌ ๋น ๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šค๋ ˆ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

ํ•˜์ง€๋งŒ ์Šค๋ ˆ๋“œ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค๋ฅธ ์Šค๋ ˆ๋“œ์—๋„ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‹ฌ์ง€์–ด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ์ „์ฒด์— ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋‹ค.

๋ฐ˜๋ฉด, Chrome์ด๋ผ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ค๋ฅ˜๋กœ ์ข…๋ฃŒ๋˜๋”๋ผ๋„, ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ(Slack, CLion, Mail ๋“ฑ)์€ ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋™์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

์ด๋Š” ํ”„๋กœ์„ธ์Šค ๊ฐ„์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ณต์œ ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค์™€ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ

๊ตฌ๋ถ„ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ
๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•จ
์•ˆ์ •์„ฑ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ์–ด๋„ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ ์—†์Œ ํ•˜๋‚˜์˜ ์Šค๋ ˆ๋“œ ์˜ค๋ฅ˜๊ฐ€ ์ „์ฒด ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Œ
์˜ค๋ฒ„ํ—ค๋“œ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ/์ข…๋ฃŒ ๋น„์šฉ์ด ํฌ๊ณ , ๋ฌธ๋งฅ ์ „ํ™˜ ๋น„์šฉ์ด ๋†’์Œ ์Šค๋ ˆ๋“œ ์ƒ์„ฑ/์ข…๋ฃŒ ๋น„์šฉ์ด ์ ๊ณ , ๋ฌธ๋งฅ ์ „ํ™˜ ๋น„์šฉ์ด ๋‚ฎ์Œ
ํ†ต์‹  ๋ฐฉ์‹ IPC๋ฅผ ํ†ตํ•ด ํ†ต์‹  (๋น„๊ต์  ๋ณต์žก) ํ”„๋กœ์„ธ์Šค ๋‚ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต์œ  (๋น„๊ต์  ๊ฐ„๋‹จ)
๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋‹ค์ค‘ ์ฝ”์–ด๋ฅผ ํ™œ์šฉํ•œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ ๋‹ค์ค‘ ์ฝ”์–ด ํ™œ์šฉ์€ ์šด์˜์ฒด์ œ ๋ฐ ๊ตฌํ˜„์— ๋”ฐ๋ผ ๋‹ค๋ฆ„

์ถ”๊ฐ€ ์„ค๋ช…

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