[OS] Process

Cherishยท2022๋…„ 10์›” 17์ผ
0

OS

๋ชฉ๋ก ๋ณด๊ธฐ
6/6
post-thumbnail

๐Ÿ’ก Program

  • disk์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” binary file
  • ์•„์ง ๋ฉ”๋ชจ๋ฆฌ์— load ๋˜์ง€ ์•Š์•˜๋‹ค

๐Ÿ’ก Process

  • program์ด ๋ฉ”๋ชจ๋ฆฌ ์œ„์— ์˜ฌ๋ผ๊ฐ„ ๊ฒƒ
  • process๋งˆ๋‹ค ๊ณ ์œ ํ•œ ์•„์ด๋””(PID)๋ฅผ ๊ฐ€์ง„๋‹ค

๐Ÿ’ก Process State

[State]

  • ready: ์‹คํ–‰ํ•  ์ค€๋น„๊ฐ€ ๋œ ์ƒํƒœ. ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์ด ์—†๋Š” ์ƒํƒœ
  • running: CPU ์œ„์— ์˜ฌ๋ผ๊ฐ„ ์ƒํƒœ
  • wait: I/O๋ฅผ ์š”์ฒญํ•œ ์ƒํƒœ
  • terminated: ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋‚ ์•„๊ฐ„๋‹ค (exit)

[State Change]

  • ready -> running : os์—๊ฒŒ ์„ ์ •๋˜์–ด cpu๋ฅผ ์‚ฌ์šฉํ•  ๊ถŒํ•œ์„ ์–ป์–ด ์‹คํ–‰
  • running -> ready : timer interrupt, ๋‹ค๋ฅธ I/O interrupt
  • running -> waiting : I/O ์š”์ฒญ
  • waiting -> ready : I/O ์ข…๋ฃŒ

๐Ÿ’ก PCB(Process Control Block)

  • process๊ฐ€ CPU์— ๋‹ค์‹œ ์˜ฌ๋ผ๊ฐˆ ๋•Œ ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋‹ด์€ ๊ตฌ์กฐ์ฒด
  • process๋‹น ํ•˜๋‚˜

๐Ÿ’ก Context Switch (๋ฌธ๋งฅ ์ „ํ™˜)

-> ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค

  • CPU context = ๋ช…๋ น์–ด๋“ค์ด ์–ด๋””๊นŒ์ง€ ์ˆ˜ํ–‰๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ •๋ณด, ๊ทธ ๋•Œ์— ์‚ฌ์šฉ์ค‘์ธ data๋“ค
  • [๋‹จ์ ] overhead : ํ˜„์žฌ context๋ฅผ PCB์— ์ €์žฅํ•˜๊ณ , ๋‹ค์‹œ loadํ•˜๋Š” ๊ณผ์ •๋“ค์ด overhead + ๊ณ„์†๋˜๋Š” mode ์ „ํ™˜(user-kernel)

0๊ฐœ์˜ ๋Œ“๊ธ€