Post

๐ŸคŽ ์šด์˜์ฒด์ œ - ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(context switching)

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(context switching)

CPU/์ฝ”์–ด์—์„œ ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ๋กœ ๊ต์ฒด๋˜๋Š” ๊ฒƒ.

โ“ ์ปจํ…์ŠคํŠธ(context)๋ž€?

  • ํ”„๋กœ์„ธ์Šค / ์Šค๋ ˆ๋“œ์˜ ์ƒํƒœ

  • CPU, ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ๋“ฑ

โ“ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ์™œ ํ•„์š”ํ•œ๊ฐ€?

  • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค / ์Šค๋ ˆ๋“œ๋ฅผ ๋™์‹œ์— ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด

โ“ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(context switching)์€ ์–ธ์ œ ๋ฐœ์ƒํ•˜๋Š”๊ฐ€?

  • ์ฃผ์–ด์ง„ time slice(quantum)๋ฅผ ๋‹ค ์‚ฌ์šฉํ–ˆ์„ ๋•Œ

  • IO ์ž‘์—…์„ ํ•ด์•ผํ•  ๋•Œ

  • ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ธฐ๋‹ค๋ ค์•ผ ํ•  ๋•Œ

๐Ÿ”Š ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น ์‹œ์Šคํ…œ์—์„œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ

1

์งง์€ ์‹œ๊ฐ„๋™์•ˆ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉด์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ๊ฑฐ ๊ฐ™์€ ๋А๋‚Œ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

โ“ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ๋ˆ„๊ตฌ์— ์˜ํ•ด ์‹คํ–‰๋ ๊นŒ?

  • OS ์ปค๋„(kernel) : ๊ฐ์ข… ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌ/๊ฐ๋…ํ•˜๋Š” ์—ญํ• 

๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ผ๋ฆฌ ์Šค์œ„์นญ : process context switching

  • ๊ฐ€์ƒ(virtual) ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๊ด€๋ จ ์ฒ˜๋ฆฌ๋ฅผ ์ถ”๊ฐ€๋กœ ์ˆ˜ํ–‰

๊ฐ™์€ ํ”„๋กœ์„ธ์Šค์˜ ์Šค๋ ˆ๋“œ๋“ค๋ผ๋ฆฌ ์Šค์œ„์นญ : thread context switching

1 ์ฐธ๊ณ  : ์œ ํŠœ๋ธŒ ์‰ฌ์šด์ฝ”๋“œ

โ“ ์Šค๋ ˆ๋“œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(thread context switching)์ด ํ”„๋กœ์„ธ์Šค ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(process context switching)๋ณด๋‹ค ๋” ๋น ๋ฅธ ์ด์œ 

  • ์Šค๋ ˆ๋“œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค์— ์†ํ•˜๋Š” ์Šค๋ ˆ๋“œ๋“ค๋ผ๋ฆฌ์˜ ์Šค์œ„์นญ์ด๋‹ค. ์ด๋Ÿฐ ์Šค๋ ˆ๋“œ๋“ค์€ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๊ด€๋ จํ•ด์„œ๋Š” ๋”ฐ๋กœ ๋ฐ”๊ฟ”์ค„ ๋ถ€๋ถ„์ด ์—†๊ณ  CPU์˜ ์ƒํƒœ ์ •๋ณด๋งŒ ๋ฐ”๊พธ์–ด์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

โ“ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ๋ฏธ์น˜๋Š” ๊ฐ„์ ‘์ ์ธ ์˜ํ–ฅ?

  • ์บ์‹œ ์˜ค์—ผ

์ฐธ๊ณ  ๐Ÿ™‡๐Ÿปโ€โ™€๏ธ

์œ ํŠœ๋ธŒ - ์‰ฌ์šด์ฝ”๋“œ

This post is licensed under CC BY 4.0 by the author.