728x90
๋ฐ˜์‘ํ˜•

Computer Science/๊ฐœ๋ฐœ์ž๋ผ๋ฉด ์•Œ์•„์•ผํ•˜๋Š” ๊ธฐ๋ณธ์ง€์‹ 2

[์šด์˜์ฒด์ œ] Multiprocessing๊ณผ Multithreading์˜ ์ฐจ์ดโ€ผ๏ธ

๐Ÿ“MultiProcessing - ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ๊ฐœ์˜ process๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ๊ฐ process๋งˆ๋‹ค ํ•˜๋‚˜์˜ ์ž‘์—…(task)์”ฉ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ ์˜ˆ์‹œ) ํฌ๋กฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•ด๋ณด์ž. ํฌ๋กฌ ์ฐฝ์„ ์—ฌ๋Ÿฌ๊ฐœ ๋„์šด๋‹ค๊ณ  ํ•  ๋•Œ, ์ฒซ ๋ฒˆ์งธ ํฌ๋กฌ์ฐฝ์„ ์‹คํ–‰์‹œํ‚ค๋Š” process, ๋‘๋ฒˆ์งธ ํฌ๋กฌ์ฐฝ์„ ์‹คํ–‰์‹œํ‚ค๋Š” process, ์„ธ๋ฒˆ์งธ ํฌ๋กฌ์ฐฝ์„ ์‹คํ–‰์‹œํ‚ค๋Š” process ... ์ด๋Ÿฐ์‹์œผ๋กœ ํฌ๋กฌ์ด๋ผ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ผ์–ด๋‚˜๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ž‘์—…์„ process๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•˜์—ฌ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•ด์ฃผ๋Š” ๊ฒƒ..! ์žฅ์  - ๋…๋ฆฝ๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ฐ์ž ํ• ๋‹น๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— process๊ฐ„ ์„œ๋กœ์˜ ์ž์›์— ์นจํˆฌํ•  ์ˆ˜ ์—†์Œ → ์•ˆ์ •์„ฑ์ด ๋†’์Œ ๋‹จ์  - ์ž‘์—…๋Ÿ‰์ด ๋งŽ์•„์ง€๋ฉด *context switching์—์„œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ (pro..

[์šด์˜์ฒด์ œ] 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), ๋ฐฐ..

728x90
๋ฐ˜์‘ํ˜•