[OS] ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(๋ฌธ๋งฅ๊ตํ™˜Context Switching)
Computer Science

[OS] ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(๋ฌธ๋งฅ๊ตํ™˜Context Switching)

728x90
๋ฐ˜์‘ํ˜•

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ

๐ŸŽ‚ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(context switching)์ด๋ž€?

  • CPU๊ฐ€ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” ์ƒํƒœ์—์„œ ์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ๋‹ค์Œ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜์–ด์•ผ ํ•  ๋•Œ ๊ธฐ์กด์˜ ํ”„๋กœ์„ธ์Šค ์ •๋ณด๋“ค์€ PCB์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์˜ ์ •๋ณด๋ฅผ PCB์—์„œ ๊ฐ€์ ธ์™€ ๊ต์ฒดํ•˜๋Š” ์ž‘์—…์„ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด๋ผ ํ•œ๋‹ค.

    ์ด๋Ÿฌํ•œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ, ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ ์šด์˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค !

     

  • ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์ผ์–ด๋‚œ๋‹ค.

I/O interrupt
CPU ์‚ฌ์šฉ์‹œ๊ฐ„ ๋งŒ๋ฃŒ
์ž์‹ ํ”„๋กœ์„ธ์Šค Fork
  • ์ด๋Ÿฌํ•œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ์ผ์–ด๋‚  ๋•Œ ๋‹ค์Œ๋ฒˆ ํ”„๋กœ์„ธ์Šค๋Š” ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋œ๋‹ค. ์ฆ‰, ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ํ•˜๋Š” ์ฃผ์ฒด๋Š” ์Šค์ผ€์ค„๋Ÿฌ์ด๋‹ค.

  • ๋‹จ์  : PCB๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฐ€์ ธ์˜ฌ๋•Œ๋Š” CPU๊ฐ€ ์•„๋ฌด๋Ÿฐ ์ผ๋„ ํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ๋„ˆ๋ฌด ์žฆ์œผ๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ(๋น„์šฉ์ด ๋†’์•„) ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.

     

  • ์Šค๋ ˆ๋“œ VS ํ”„๋กœ์„ธ์Šค(In Context Switching)
    ์Šค๋ ˆ๋“œ๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ณด๋‹ค ๋น ๋ฅธ ์ด์œ ๋„ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ํ•œ๋ชซํ•œ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ๋ ๋•Œ text, data, heap ์˜์—ญ์€ ํ”„๋กœ์„ธ์Šค ๊ฒƒ์ด๊ธฐ์— ์ž์‹ ์˜ PCB์—๋Š” ์Šคํƒ ๋ฐ ๊ฐ„๋‹จํ•œ ์ •๋ณด๋งŒ ์ €์žฅํ•˜๊ธฐ์— ํ”„๋กœ์„ธ์Šค ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ๋ณด๋‹ค ํ›จ์”ฌ ๋ฐ”๋ฅด๋‹ค.

PCB ๊ตฌ์กฐ(๋ฆฌ๋ˆ…์Šค)

 

๐ŸŽ‚PCB(Process Control Block)์ด๋ž€?

  • ์šด์˜์ฒด์ œ๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ์ •๋ณด๋ฅผ ์ €์žฅํ•ด๋‘๋Š” ๊ณณ, ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ์ฒด์ด๋‹ค.

  • ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๊ด€๋ฆฌ์™€ `๋ฌธ๋งฅ๊ตํ™˜(context switching)`์„ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค.

  • PCB๋Š” ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ์‹œ ๋งŒ๋“ค์–ด์ง€๋ฉฐ `์ฃผ๊ธฐ์–ต์žฅ์น˜`์— ์œ ์ง€๋œ๋‹ค.

๋ฐ˜์‘ํ˜•