728x90
๋ฐ˜์‘ํ˜•

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

[์šด์˜์ฒด์ œ] Process์™€ thread์˜ ์ฐจ์ด (program vs process vs thread)

๐Ÿ“Program - ์ฝ”๋“œ๋กœ ๋งŒ๋“ค์–ด์ง„ ์ง‘ํ•ฉ์ฒด - ์˜ˆ์‹œ) ํฌ๋กฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Œ ๐Ÿ“Process - ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ๊ทธ๊ฒŒ process๊ฐ€ ๋จ!! (์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ์— job, task๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ) - OS๋กœ๋ถ€ํ„ฐ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น๋ฐ›๋Š” ์ž‘์—…์˜ ๋‹จ์œ„ (process๋Š” ๋…๋ฆฝ๋œ memory์˜์—ญ์„ ๊ฐ์ž ํ• ๋‹น๋ฐ›์Œ) ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น๋ฐ›๋Š”๋‹ค๋ผ... ์‹œ์Šคํ…œ ์ž์›์ด ๋ญ˜๊นŒ? memory์˜์—ญ์€? ์šฐ์„  ๊ทธ๋ฆผ์œผ๋กœ process๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ๋ณด์ž. process์•ˆ์— code, data, stack, heap์ด ๋“ค์–ด์žˆ๋‹ค. ์–˜๋„ค๊ฐ€ ๋ฐ”๋กœ memory ์˜์—ญ..! ๐Ÿ“Memory ๊ตฌ์กฐ 1. code ์ฝ”๋“œ ์ž์ฒด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ 2. data ๋ฐ์ดํ„ฐ๋Š” *์ „์—ญ๋ณ€์ˆ˜, ์ •์ ๋ณ€์ˆ˜(static), ๋ฐฐ..

[์šด์˜์ฒด์ œ] process vs thread

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ process and thread ์šด์˜์ฒด์ œ ์œ ํ˜• ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ (multi programming) cpu๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ํ•ญ์ƒ ๊ฐ€์ง€๋„๋ก ํ•˜์—ฌ cpu ์ด์šฉ๋ฅ  ์ฆ์ง„ ์šด์˜์ฒด์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ์ž‘์—… ์ค‘์—์„œ ํ•˜๋‚˜๋ฅผ ํƒํ•˜์—ฌ ์‹คํ–‰ํ•œ๋‹ค. multi programming์ด ์•„๋‹Œ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ด ์ž‘์—…์€ ํ‚ค๋ณด๋“œ์—์„œ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜, ์ž…์ถœ๋ ฅ ์กฐ์ž‘์ด ๋๋‚˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์–ด๋–ค์ผ์„ ๊ธฐ๋‹ค๋ ค์•ผํ•  ํ•„์š”๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋•Œ cpu๊ฐ€ ์œ ํœด์ƒํƒœ์— ๋†“์ด๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ, multi programming system์—์„œ๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ„๋‹จํžˆ ๋‹ค๋ฅธ ์ž‘์—…์œผ๋กœ ์ „ํ™˜ํ•˜์—ฌ ๊ทธ๊ฒƒ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•œ๋‹ค. ์•ž์˜ ์ž‘์—…์ด ๋๋‚˜๋ฉด ์ด ์ž‘์—…์€ cpu๋ฅผ ๋‹ค์‹œ ์ฐจ์ง€ํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ˆ˜ํ–‰๋  ์ž‘์—…์ด ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ๋˜์–ด ์žˆ์œผ๋ฉด cpu๋Š” ์‰ฌ์ง€ ์•Š๋Š”๋‹ค..

728x90
๋ฐ˜์‘ํ˜•