Skip to content

Latest commit

Β 

History

History
33 lines (25 loc) Β· 2.18 KB

File metadata and controls

33 lines (25 loc) Β· 2.18 KB

πŸ’»ν”„λ‘œμ„ΈμŠ€ μƒνƒœ

ν”„λ‘œμ„ΈμŠ€λŠ” μ‹€ν–‰μ˜ 흐름에 따라 μƒνƒœκ°€ λ³€ν•©λ‹ˆλ‹€. 이 μƒνƒœλ₯Ό μ •μ˜ν•˜λŠ” 이름듀은 OS의 μ’…λ₯˜μ— 따라 λ‹€λ₯΄μ§€λ§Œ, λŒ€λΆ€λΆ„μ˜ OSμ—μ„œ λΉ„μŠ·ν•œ κ°œλ…μ„ κ°€μ§‘λ‹ˆλ‹€.

πŸ’‘ν”„λ‘œμ„ΈμŠ€ μƒνƒœ 전이도

image

β—μƒνƒœ μ’…λ₯˜

μƒνƒœ μ„€λͺ…
μƒμ„±μƒνƒœ ν”„λ‘œμ„ΈμŠ€κ°€ 처음 μƒμ„±λ˜λŠ” μƒνƒœ
μ€€λΉ„μƒνƒœ κΈ°μ–΅ μž₯치 λ“± ν•„μš”ν•œ λͺ¨λ“  μžμ›μ„ ν• λ‹Ή 받은 μƒνƒœμ—μ„œ ν”„λ‘œμ„Έμ„œλ₯Ό ν• λ‹Ή 되기λ₯Ό κΈ°λ‹€λ¦¬λŠ” μƒνƒœ
μ‹€ν–‰μƒνƒœ ν”„λ‘œμ„ΈμŠ€κ°€ ν•„μš”ν•œ λͺ¨λ“  μžμ›μ„ ν• λ‹Ή λ°›μ•„ μ‹€ν–‰λ˜κ³  μžˆλŠ” μƒνƒœ
λŒ€κΈ°μƒνƒœ 보λ₯˜(Block)라고도 ν•˜λ©°, ν”„λ‘œμ„ΈμŠ€κ°€ μž…μΆœλ ₯μ΄λ‚˜ ν•„μš”ν•œ μžμ›μ„ μš”μ²­ν•˜κ³  이λ₯Ό ν• λ‹Ή 받을 λ•ŒκΉŒμ§€ κΈ°λ‹€λ¦¬λŠ” μƒνƒœ
μ§€μ—°μ€€λΉ„μƒνƒœ ν”„λ‘œμ„ΈμŠ€κ°€ κΈ°μ–΅μž₯치λ₯Ό μ œμ™Έν•œ λ‹€λ₯Έ λͺ¨λ“  ν•„μš”ν•œ μžμ›λ“€μ„ λ³΄μœ ν•œ μƒνƒœ
μ§€μ—°λŒ€κΈ°μƒνƒœ ν”„λ‘œμ„ΈμŠ€κ°€ λŒ€κΈ° μƒνƒœμ—μ„œ κΈ°μ–΅μž₯치λ₯Ό μžƒμ€ μƒνƒœ
μ’…λ£Œμƒνƒœ ν”„λ‘œμ„ΈμŠ€μ˜ 싀행을 μ’…λ£Œν•˜μ˜€μœΌλ‚˜ 아직 ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ 정보가 λ‚¨μ•„μžˆλŠ” μƒνƒœ.(Zombie μƒνƒœλΌκ³ λ„ ν•©λ‹ˆλ‹€)

β—μƒνƒœ 전이 λ™μž‘

λ™μž‘ μ„€λͺ…
Dispatch(μ€€λΉ„β†’μ‹€ν–‰) μ€€λΉ„μƒνƒœμ— μžˆλŠ” μš°μ„ μˆœμœ„κ°€ 높은 ν”„λ‘œμ„ΈμŠ€λ₯Ό μ„ μ •ν•˜μ—¬ λͺ…λ Ήμ–΄ μ‹€ν–‰
Timer runout(μ‹€ν–‰β†’μ€€λΉ„) μ‹€ν–‰μƒνƒœμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ ν• λ‹Ήλœ CPU μ‹œκ°„μ΄ λλ‚˜κ±°λ‚˜ μš°μ„ μˆœμœ„κ°€ 높은 ν”„λ‘œμ„ΈμŠ€κ°€ 듀어왔을 λ•Œ ν”„λ‘œμ„Έμ„œλ₯Ό λ°˜λ‚©ν•˜κ³  μ€€λΉ„μƒνƒœλ‘œ 전이
Block(μ‹€ν–‰β†’λŒ€κΈ°) μ‹€ν–‰μƒνƒœμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ μžμ›μ„ μš”μ²­ν•˜μ—¬ λŒ€κΈ°μƒνƒœλ‘œ 전이
Wake up(λŒ€κΈ°β†’μ€€λΉ„) λŒ€κΈ°(μ§€μ—°λŒ€κΈ°)μƒνƒœμ—μ„œ ν”„λ‘œμ„ΈμŠ€κ°€ μš”μ²­ν•œ μžμ›μ΄ ν• λ‹Ήλ˜μ–΄ μ€€λΉ„(지연쀀비)μƒνƒœλ‘œ 전이
Swap-out(Suspend) μ€€λΉ„(λŒ€κΈ°)μƒνƒœμ—μ„œ κΈ°μ–΅μž₯치λ₯Ό λ°˜λ‚©ν•˜κ³  μ€€λΉ„(μ§€μ—°λŒ€κΈ°)μƒνƒœλ‘œ 전이
Swap-in(Resume) 지연쀀비(μ§€μ—°λŒ€κΈ°)μƒνƒœμ—μ„œ κΈ°μ–΅μž₯치λ₯Ό ν• λ‹Ήλ°›μ•„ μ€€λΉ„(λŒ€κΈ°)μƒνƒœλ‘œ 전이

Reference

https://itwiki.kr/w/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4_%EC%83%81%ED%83%9C