728x90
๋ฐ˜์‘ํ˜•

OS 2

[์šด์˜์ฒด์ œ] ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ : program์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์šด์˜์ฒด์ œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‹คํ–‰์‹œํ‚จ program์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•ด์คŒ. ์ฆ‰ os๋Š” program์„ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ œ๊ณต ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์€ stack, heap, data ์˜์—ญ์œผ๋กœ ๋‚˜๋ˆ ์ง ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์–ด๋– ํ•œ ์šฉ๋„๋กœ, ์–ธ์ œ, ์–ด๋””์„œ ํ• ๋‹น๋˜๋Š”๊ฐ€ ํ• ๋‹น ์‹œ๊ธฐ: ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋ ๋•Œ๋งˆ๋‹ค ํ• ๋‹น ์žฅ์†Œ: main memory (RAM) ํ• ๋‹น ์šฉ๋„: program ์‹คํ–‰ ์‹œ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„(์ง€์—ญ/์ „์—ญ๋ณ€์ˆ˜ ์„ ์–ธ์„ ์œ„ํ•ด) ํ• ๋‹น ๋ฐ์ดํ„ฐ ์˜์—ญ : ์ „์—ญ๋ณ€์ˆ˜์™€ static ๋ณ€์ˆ˜๊ฐ€ ํ• ๋‹น๋˜๋Š” ์˜์—ญ ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๊ณผ ๋™์‹œ์— ํ• ๋‹น๋˜๊ณ  program์ด ์ข…๋ฃŒ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์†Œ๋ฉธ๋จ #include int a=10; // data ์˜์—ญ์— ํ• ๋‹น int b=20; // prog..

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

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

728x90
๋ฐ˜์‘ํ˜•