๐ป
[์ด์์ฒด์ (OS)] ๋ฉด์ ์์ ์ง๋ฌธ๊ณผ ๋ต๋ณ ๋ณธ๋ฌธ
1) ์ด์ ์ฒด์ ๋ ๋ฌด์์
๋๊น?
์ด์ ์ฒด์ ๋ ์ปดํจํฐ ํ๋์จ์ด๊ฐ ์ปดํจํฐ ์ํํธ์จ์ด์ ํต์ ํ๊ณ ์๋ํ๋๋กํ๋ ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ์ด๋ค.
2) ์ด์ ์ฒด์ ์ ์ฃผ์ ๋ชฉ์ ์ ๋ฌด์์
๋๊น?
์ด์ ์ฒด์ ์๋ ๋ ๊ฐ์ง ์ฃผ์ ๋ชฉ์ ์ด ์๋ค.
1. ์ปดํจํฐ ์์คํ
์ ๊ณ์ฐ ํ๋์ ๊ด๋ฆฌํ์ฌ ์ปดํจํฐ ์์คํ
์ด ์ ๋๋ก ์๋ํ๋๋ก ํ๋ค.
2. ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๋ฐ ์คํ์ ์ํ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
3) ํ๋ก์ธ์ค๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น?
์ปดํจํฐ์์ ์คํ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค๋ผ๊ณ ํ๋ค.
๋ ๊ฐ์ง ์ ํ์ ํ๋ก์ธ์ค๊ฐ ์๋ค. ์ด์ ์ฒด์ ํ๋ก์ธ์ค, ์ฌ์ฉ์ ํ๋ก์ธ์ค
3-1) ํ๋ก์ธ์ค์ ํน์ง์ ์ค๋ช ํ์ธ์.
- ํ๋ก์ธ์ค๋ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(Code, Data, Stack, Heap์ ๊ตฌ์กฐ)์ ํ ๋น๋ฐ๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค๋น ์ต์ 1๊ฐ์ ์ค๋ ๋(๋ฉ์ธ ์ค๋ ๋)๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ๊ฐ ํ๋ก์ธ์ค๋ ๋ณ๋์ ์ฃผ์ ๊ณต๊ฐ์์ ์คํ๋๋ฉฐ, ํ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ์ ์ ๊ทผํ ์ ์๋ค.
- ํ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์์์ ์ ๊ทผํ๋ ค๋ฉด ํ๋ก์ธ์ค ๊ฐ์ ํต์ (IPC, inter-process communication)์ ์ฌ์ฉํด์ผ ํ๋ค. (Ex. ํ์ดํ, ํ์ผ, ์์ผ ๋ฑ์ ์ด์ฉํ ํต์ ๋ฐฉ๋ฒ ์ด์ฉ)
4) ์ค๋ ๋(Thread)๋ ๋ฌด์์
๋๊น?
์ค๋ ๋๋ CPU ์ฌ์ฉ์ ๊ธฐ๋ณธ ๋จ์์ด๋ค. ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ์ฌ๋ฌ ํ๋ฆ์ ๋จ์๋ฅผ ๋งํ๋ค.
์ค๋ ๋๋ ์ค๋ ๋ ID, ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ๋ ์ง์คํฐ ์ธํธ ๋ฐ ์คํ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
[์ฐธ๊ณ ] ์ด์์ฒด์ ๋ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ค๊ณ ํ๋ค. ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก์ธ์ค๋ณด๋ค ์์ฑํ ๋ ์ค๋ฒํค๋๋ ์ ๊ณ ๊ณต์ ๋ ์์์ ๋ํด์๋ ์ค๋ฒํค๋๊ฐ ์ ๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๋ ๋๋ฅผ ์ด์ฉํ๋ฉด ๋ณ๋ ฌ์ฑ์ ๋์ผ ์ ์๋ค.
4-1) ์ค๋ ๋์ ํน์ง์ ์ค๋ช ํ์ธ์.
- ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์์ ๊ฐ๊ฐ Stack๋ง ๋ฐ๋ก ํ ๋น๋ฐ๊ณ Code, Data, Heap ์์ญ์ ๊ณต์ ํ๋ค.
- ํ๋ก์ธ์ค ๋ด์ ์ฃผ์ ๊ณต๊ฐ์ด๋ ์์๋ค(ํ ๊ณต๊ฐ ๋ฑ)์ ๊ฐ์ ํ๋ก์ธ์ค ๋ด์ ์ค๋ ๋๋ผ๋ฆฌ ๊ณต์ ํ๋ฉด์ ์คํ๋๋ค.
- ๊ฐ์ ํ๋ก์ธ์ค ์์ ์๋ ์ฌ๋ฌ ์ค๋ ๋๋ค์ ๊ฐ์ ํ ๊ณต๊ฐ์ ๊ณต์ ํ๋ค. ๋ฐ๋ฉด์ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ ์ ์๋ค.
- ๊ฐ๊ฐ์ ์ค๋ ๋๋ ๋ณ๋์ ๋ ์ง์คํฐ์ ์คํ์ ๊ฐ๊ณ ์์ง๋ง, ํ ๋ฉ๋ชจ๋ฆฌ๋ ์๋ก ์ฝ๊ณ ์ธ ์ ์๋ค.
- ํ ์ค๋ ๋๊ฐ ํ๋ก์ธ์ค ์์์ ๋ณ๊ฒฝํ๋ฉด, ๋ค๋ฅธ ์ด์ ์ค๋ ๋(sibling thread)๋ ๊ทธ ๋ณ๊ฒฝ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ๋ณผ ์ ์๋ค.
4-2) ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด๋ ๋ฌด์์
๋๊น?
ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ์์์ ํ ๋น๋ฐ๋ ์์ ์ ๋จ์์ด๊ณ , ์ค๋ ๋๋ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํ๋ ์คํ์ ๋จ์ ์ด๋ค. ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๋ก๋ถํฐ ๋ฉ๋ชจ๋ฆฌ, ์ฃผ์ ๊ณต๊ฐ ๋ฑ์ ํ ๋น๋ฐ๊ณ ์ฐ๋ ๋๋ ํ ๋น๋ฐ์ ์์๋ค์ ๋ด๋ถ ์ค๋ ๋๋ผ๋ฆฌ ๊ณต์ ํ๋ฉด์ ์คํ๋๋ค.
[์ ๋ฆฌ]
- ํ๋ก์ธ์ค๋ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์๊ด์์ด ๋ ๋ฆฝ์ ์ผ๋ก ์์์ ํ ๋น ๋ฐ๋๋ค.
- ์ค๋ ๋๋ ๊ฒฝ๋ํ๋ ํ๋ก์ธ์ค๋ก ํ๋ก์ธ์ค ์์ ์กด์ฌํ๋ค. ๊ฐ ์ค๋ ๋๋ ๋ณ๋์ ๋ ์ง์คํฐ์ ์คํ์ ๊ฐ๊ณ , ํ ์์ญ์ ๊ณต์ ํ๋ค.
์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ์ด์์ฒด์ ์์ ๋ ํจ์จ์ ์ผ๋ก ์์คํ ์์์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค๊ณ ํ ์ ์๋ค. ๋ฉํฐ ํ๋ก์ธ์ค๋ก ์งํ๋๋ ์์ ์ ๋ฉํฐ ์ฐ๋ ๋๋ก ์ํํ๊ฒ ๋๋ฉด ์์คํ ์ฝ์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์, ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ ํ ์ ์๊ณ ํ๋ก์ธ์ค์ ํต์ ๋น์ฉ๋ณด๋ค ์ฐ๋ ๋๊ฐ์ ํต์ ๋น์ฉ์ด ์ ๋ค๋ ์ด์ ๋ ์๋ค.
๋จ ์ค๋ ๋๊ฐ์ ์์๊ณต์ ๋ ์ ์ญ๋ณ์๋ฅผ ์ด์ฉํ๋ฏ๋ก ๋๊ธฐํ ๋ฌธ์ ์ ์ ๊ฒฝ์ ์จ์ผํ๋ฉฐ ๋ฉํฐ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ก๊ทธ๋๋จธ์ ์ฃผ์๋ฅผ ์๊ตฌํ๋ค.
4-3) ์ค๋ ๋์ ์ฅ์ ?
- ์ค๋ ๋๋ ํ๋ก์ธ์ค๋ณด๋ค ์์ฑ ๋ฐ ์ข ๋ฃ์๊ฐ, ์ค๋ ๋๊ฐ ์ ํ์๊ฐ์ด ์งง๋ค.
- ์ค๋ ๋๋ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ, ์์๋ฑ์ ๊ณต์ ํ๋ฏ๋ก ์ปค๋์ ๋์์์ด ์ํธ๊ฐ์ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
4-4) ๋ฉํฐ ์ค๋ ๋ฉ(Multi-threading) ์ ์ฅ์ ๊ณผ ๋จ์ ์?
- ๋ฉํฐ ์ค๋ ๋ฉ์ด๋ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ๋ค์์ ์ค๋ ๋๋ก ๋ง๋ค์ด ์คํํ๋ ๊ฒ
์ฅ์ )
- ํ๋์ ํ๋ก์ธ์ค ๋ด์ ๋ค์์ ์คํ ๋จ์๋ค์ด ์กด์ฌํ์ฌ ์์ ์ ์ํ์ ํ์ํ ์์๋ค์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ์์์ ์์ฑ๊ณผ ๊ด๋ฆฌ๊ฐ ์ค๋ณต๋๋ ๊ฒ์ ์ค์ผ ์ ์๋ค.
๋จ์ )
- ๊ต์ฐฉ์ํ๋ฅผ ๋ฐ์์ํฌ ์ ์๋ค.
- ๋๊ธฐํ์ ์ฃผ์ํด์ผํ๋ค.
4-5) ๋ฉํฐ ํ๋ก์ธ์ค ๋์ ๋ฉํฐ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
- ์ฝ๊ฒ ์ค๋ช ํ๋ฉด, ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ ํค๋ ๊ฒ๋ณด๋ค ํ๋์ ํ๋ก๊ทธ๋จ ์์์ ์ฌ๋ฌ ์์ ์ ํด๊ฒฐํ๋ ๊ฒ์ด๋ค.
- ์์์ ํจ์จ์ฑ ์ฆ๋
: ๋ฉํฐ ํ๋ก์ธ์ค๋ก ์คํ๋๋ ์์ ์ ๋ฉํฐ ์ค๋ ๋๋ก ์คํํ ๊ฒฝ์ฐ, ํ๋ก์ธ์ค๋ฅผ ์์ฑํ์ฌ ์์์ ํ ๋นํ๋ ์์คํ ์ฝ์ด ์ค์ด๋ค์ด ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค. (ํ๋ก์ธ์ค ๊ฐ์ Context Switching์ ๋จ์ํ CPU ๋ ์ง์คํฐ ๊ต์ฒด ๋ฟ๋ง ์๋๋ผ RAM๊ณผ CPU ์ฌ์ด์ ์บ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๋ฐ์ดํฐ๊น์ง ์ด๊ธฐํ๋๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ํฌ๊ธฐ ๋๋ฌธ)
: ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ฆฝ์ ์ธ ํ๋ก์ธ์ค์ ๋ฌ๋ฆฌ ์ค๋ ๋ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ด ๊ฐ๋จํด์ง๊ณ ์์คํ ์์ ์๋ชจ๊ฐ ์ค์ด๋ค๊ฒ ๋๋ค.
- ์ฒ๋ฆฌ ๋น์ฉ ๊ฐ์ ๋ฐ ์๋ต ์๊ฐ ๋จ์ถ
: ํ๋ก์ธ์ค ๊ฐ์ ํต์ (IPC)๋ณด๋ค ์ค๋ ๋ ๊ฐ์ ํต์ ์ ๋น์ฉ์ด ์ ์ผ๋ฏ๋ก ์์ ๋ค ๊ฐ์ ํต์ ์ ๋ถ๋ด์ด ์ค์ด๋ ๋ค. (์ค๋ ๋๋ Stack ์์ญ์ ์ ์ธํ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ)
: ํ๋ก์ธ์ค ๊ฐ์ ์ ํ ์๋๋ณด๋ค ์ค๋ ๋ ๊ฐ์ ์ ํ ์๋๊ฐ ๋น ๋ฅด๋ค. (Context Switching์ ์ค๋ ๋๋ Stack ์์ญ๋ง ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ)
4-6) ๋ฉํฐ ํ๋ก์ธ์ฑ๊ณผ ๋ฉํฐํ๋ก๊ทธ๋๋ฐ์ ์ฐจ์ด๋?
๋ฉํฐ ํ๋ก์ธ์ฑ์ ์ฌ๋ฌ๊ฐ์ ์ฒ๋ฆฌ์ฅ์น(CPU)๋ฅผ ์ฅ์ฐฉํ์ฌ ๋์์ ์ฌ๋ฌ ์์ ์ ๋ณ๋ ฌ๋ก ์คํํ๋ ๋ฐฉ๋ฒ.
๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ค์ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ด ์ฃผ๊ธฐ์ต์ฅ์น์ ์๋๋ก ํ ๋ฐฉ์.
5) ์์ผ์ด๋ ๋ฌด์์
๋๊น?
์์ผ์ ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฐ๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ฐ๊ฒฐ์ ๋์ ์ ์์ผ์ด๋ผ๊ณ ํ๋ค.
6) ์ปค๋์ด๋ ๋ฌด์์
๋๊น?
์ปค๋์ OS์ ๋ชจ๋ ๋ถ๋ถ์ ๋ํ ๊ธฐ๋ณธ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ปดํจํฐ ์ด์ ์ฒด์ ์ ํต์ฌ์ด์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด๋ค.
7) ํ ์์ญ๊ณผ ์คํ์์ญ์ ์ฐจ์ด์ ์ ์ค๋ช ํ์์ค.
ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ธฐ ์ํด ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๊ฐ ๋์ด์ผํ๋ค. ๋ฐ๋ผ์ ์ด์์ฒด์ ์์ ํ๋ก๊ทธ๋จ์ ์คํ์ ์ํด ๋คํฅํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ๊ณตํ๋ค. ์ฝ๋, ๋ฐ์ดํฐ, ์คํ, ํ ์์ญ์ด ํ ๋น๋๊ณ ๊ฐ ์ญํ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ฝ๋ : ์คํํ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ํ ์คํธ ์์ญ์ด๋ค. CPU๋ ์ฝ๋์์ญ์์ ์ ์ฅ๋ ๋ช ๋ น์ด๋ฅผ ํ๋์ฉ ๊ฐ์ ธ๊ฐ์ ์ฒ๋ฆฌํ๋ค.
- ๋ฐ์ดํฐ : ์ ์ญ๋ณ์์ ์ ์ ๋ณ์๊ฐ ์ดํด ํด๋น๋๋ค. ํ๋ก๊ทธ๋จ์ ์์๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ฉด ์๋ฉธ๋๋ค.
- ์คํ : ์คํ์์ญ์ ํจ์์ ํธ์ถ๊ณผ ๊ด๊ณ๋๋ ์ง์ญ๋ณ์์ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ์ด๋ค. ํจ์์ ํธ์ถ๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ, ํจ์์ ํธ์ถ์ด ์ข ๋ฃ๋ ๋ ํด์ ๋๋ค.
- ํ : ํ ์์ญ์ ์ฌ์ฉ์๊ฐ ์ง์ ๊ด๋ฆฌํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ค. ํ ์์ญ์ ์ฌ์ฉ์์ ์ํด ๋ฉ๋ชจ๋ฆฌ๊ณต๊ฐ์ด ๋์ ์ผ๋ก ํ ๋น๋๊ณ ํด์ ๋๋ค.
8) ์ด์ ์ฒด์ ์์ ํ์ด์ง์ ์ฌ์ฉํ๋ ๊ฒ์ ๋ฌด์์
๋๊น?
ํ์ด์ง์ ์ด์ ์ฒด์ ์์ ์ธ๋ถ ์กฐ๊ฐํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ์ฌ์ฉ๋๋ค. ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ต๋ํ ๋นจ๋ฆฌ ์ฌ์ฉํ ์ ์๋ค.
9) ๋ฉํฐ ํ๋ก์ธ์ ์์คํ
์ ์ฅ์ ์ ๋ฌด์์
๋๊น?
ํ๋ก์ธ์๊ฐ ๋ง์์๋ก ์ฒ๋ฆฌ๋์ด ํฌ๊ฒ ์ฆ๊ฐํ๋ค. ๋ฆฌ์์ค๋ฅผ ๊ณต์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋น์ฉ ํจ๊ณผ์ ์ด๋ค. ๋ฐ๋ผ์ ์ ๋ฐ์ ์ธ ์์ ์ฑ์ด ํฅ์๋๋ค.
10) ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory)๋ ๋ฌด์์
๋๊น?
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ธ๋ถ์์ ์คํ๋ ์ ์๋๋กํ๋ ๋งค์ฐ ์ ์ฉํ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ์ ์ด๋ค. ์ด ๊ธฐ์ ์ ์คํ ํ๋ก๊ทธ๋จ์ด ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๋ง์ง ์์ ๋ ํนํ ์ฌ์ฉ๋๋ค.
11) ๊ต์ฐฉ ์ํ(DeadLock)์ด๋?
๋ ๊ฐ ์ด์์ ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ์๋ก ์์์ ๊ธฐ๋ค๋ฆฌ๋ฉด์ ๋ฌดํํ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋๋ ์ํ๋ฅผ ๋งํ๋ค.
๊ต์ฐฉ ์ํ๋ ๋ ๊ฐ ์ด์์ ์์ ์ด ์๋ก ์๋๋ฐฉ์ ์์ ์ด ๋๋๊ธฐ ๋ง์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๊ธฐ ๋๋ฌธ์, ๋ค์ ๋จ๊ณ๋ก ์งํํ์ง ๋ชปํ๋ ์ํ์ด๋ค. ๋ฐฐ์น ์ฒ๋ฆฌ ์์คํ ์์๋ ์ผ์ด๋์ง ์๋ ๋ฌธ์ ์ด๋ค. ํ๋ก์ธ์ค, ์ค๋ ๋ ๋๋ค ์ด์ ๊ฐ์ ์ํ๊ฐ ์ผ์ด๋ ์ ์๋ค.
11-1) ๊ต์ฐฉ ์ํ์ 4 ๊ฐ์ง ํ์ ์กฐ๊ฑด์ ๋ฌด์์
๋๊น?
๋ค์๊ณผ ๊ฐ์ 4 ๊ฐ์ง ์กฐ๊ฑด์ด ์๋ค.
1. ์ํธ ๋ฐฐ์ (Mutual Exclusion) : ํ ์์์ ๋ํ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ๋์ ์ ๊ทผ์ ๋ถ๊ฐ๋ฅํ๋ค. ์ฆ, ํ๋์ ์์์ ํน์ ์๊ธฐ์ ํ๋์ ํ๋ก์ธ์ค๋ ์ค๋ ๋๋ง ์์ ํ ์ ์๋ ํํ.
2. ์ ์ ์ ๋๊ธฐ(Hold and Wait) : ํ๋์ ์์์ ์์ ํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค ํน์ ์ค๋ ๋์ ์์์ ์์ฒญํ๋ ์ํ์ด๋ค.
3. ๋น์ ์ (Non preemptive) : ํ๋์ ํ๋ก์ธ์ค๋ ์ค๋ ๋์๊ฒ ์ฃผ์ด์ง ์์์ ํด๋น ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ฐ ์ค์ค๋ก ๋๊ธฐ ์ ์๋ ๋๊ฒ ๋ง๋ค ์ ์๋ ์ํ. ์ฆ, ๋ค๋ฅธ ํ๋ก์ธ์ค์์ ์์์ ์ฌ์ฉํ๋ ๋์ ์์์ ๊ฐ์ ๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
4. ํํ ๋๊ธฐ(Circle wait) : ๊ฐ ํ๋ก์ธ์ค๊ฐ ๋ค์ ํ๋ก์ธ์ค๊ฐ ์๊ตฌํ๋ ์์์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ ๋งํ๋ค. ๋ ๊ฐ์ ํ๋ก์ธ์ค๋ ์ค๋ ๋์ ๊ฒฝ์ฐ, A -> B, B -> C, C -> A ์๊ฒ ์๋ก ์์์ ์์ฒญํ๊ณ ๊ธฐ๋ค๋ฆฌ๋ ์ํฉ
11-2) ๊ต์ฐฉ ์ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋งํ์์ค.
์์ 4๊ฐ์ง ์กฐ๊ฑด๋ค ์ค ํ๋๋ผ๋ ์ ๊ฑฐํ๋ฉด ๋๋ค. ์๋ฐฉ, ํํผ, ํ์ง, ๋ณต๊ตฌ๋ฐฉ๋ฒ์ด ์๋ค.
๊ณต์ ์์ ์ค ๋ง์ ๊ฒฝ์ฐ๊ฐ ํ ๋ฒ์ ํ ํ๋ก์ธ์ค๋ง ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ํธ๋ฐฐ์ ์กฐ๊ฑด์ ์ ๊ฑฐํ๊ธฐ ์ด๋ ต๋ค. ๋๋ถ๋ถ์ ๊ต์ฐฉ์ํ ๋ฐฉ์ง ์๊ณ ๋ฆฌ์ฆ์ ์ํ๋๊ธฐ๊ฐ ๋ฐ์ํ๋ ์ผ์ ๋ง๋๋ฐ ์ด์ ์ด ๋ง์ถฐ์ ธ ์๋ค.
1. ์๋ฐฉ(Prevention) : ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ํ๋ ๊ฒ
2. ํํผ(Avoidance) : ๊ต์ฐฉ์ํ๋ฅผ ํผํ๋ ๊ฒ. Ex) Dijkstra์ Banker’s Algorithm
3. ํ์ง(Detection) : ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ๋ฉด ํ์ง ํ๋ ๊ฒ, ๋ณต๊ตฌ๋ฅผ ์๋ฐ
โ
4. ๋ณต๊ตฌ(Recovery) : ํ๋ก์ธ์ค ์ค์ง, ์์ ์ ์ (ํฌ์์์ ์ ํ-> ๊ธฐ์, ๋ณต๊ท)
11-3) Banker's algorithm ์ ๋ฌด์์
๋๊น?
๊ต์ฐฉ ์ํ๋ฅผ ํผํ๊ธฐ ์ํด ๋ฑ
์ปค ์๊ณ ๋ฆฌ์ฆ์ด ์ฌ์ฉ๋๋ค. E,J, Dijkstra๊ฐ ์ ์ํ ๋ฐฉ๋ฒ์ผ๋ก, ์ํ์์ ๋ชจ๋ ๊ณ ๊ฐ์ ์๊ตฌ๊ฐ ์ถฉ์กฑ๋๋๋ก ํ๊ธ์ ํ ๋นํ๋๋ฐ์ ์ ๋ํ ๊ธฐ๋ฒ์ด๋ค. ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ ๋ ์์คํ
์ ์์์ ํ ๋นํ ํ์๋ ์์ ์ํ๋ก ๋จ์์๊ฒ ๋๋์ง๋ฅผ ์ฌ์ ์ ๊ฒ์ฌํ์ฌ ๊ต์ฐฉ ์ํ๋ฅผ ํํผํ๋ ๊ธฐ๋ฒ์ด๋ค. ์์ ์ํ์ ์์ผ๋ฉด ์์์ ํ ๋นํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ์์์ ํด์งํ ๋๊น์ง ๋๊ธฐํ๋ค. ์ํ์ ๋ ์ด์ ๋ชจ๋ ๊ณ ๊ฐ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑ์ํฌ ์์๋ ๋ฐฉ์์ผ๋ก ๊ฐ์ฉ ํ๊ธ์ ํ ๋นํ์ง ์๋ ๋ฑ
ํน ์์คํ
์์ ๋ฑ
์ปค ์๊ณ ๋ฆฌ์ฆ์ด๋ผ๊ณ ํ๋ค.
12) RAID ๋ ๋ฌด์์
๋๊น? RAID์ ์ข
๋ฅ์ ๋ํด ๋งํ์์ค.
RAID๋ Redundant Array of Independent Disks์ ์ฝ์์ด๋ค. ์ ์ฒด ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณต ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
- RAID 0-๋ด๊ฒฐํจ์ฑ์ด์๋ ์คํธ๋ฆฝ ๋์คํฌ ์ด๋ ์ด
- RAID 1-๋ฏธ๋ฌ๋ง ๋ฐ ์ด์คํ
- RAID 2-๋ฉ๋ชจ๋ฆฌ ์คํ์ผ ์ค๋ฅ ์์ ์ฝ๋
- RAID 3-๋นํธ ์ธํฐ๋ฆฌ๋ธ ํจ๋ฆฌ
- RAID 4-๋ธ๋ก ์ธํฐ๋ฆฌ๋ธ ํจ๋ฆฌํฐ
- RAID 5-๋ธ๋ก ์ธํฐ๋ฆฌ๋ธ ๋ถ์ฐ ํจ๋ฆฌํฐ
- RAID 6-P + Q ์ด์คํ
13) Sync ์ Async์ ์ฐจ์ด๋ ๋ฌด์์ ๋๊น?
์ผ๋ฐ์ ์ผ๋ก ๋๊ธฐ์ ๋น๋๊ธฐ์ ์ฐจ์ด๋ ๋ฉ์๋๋ฅผ ์คํ์ํด๊ณผ ๋์์ ๋ฐํ ๊ฐ์ด ๊ธฐ๋๋๋ ๊ฒฝ์ฐ๋ฅผ ๋๊ธฐ ๋ผ๊ณ ํํํ๊ณ ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์ ๋ํด์ ๋น๋๊ธฐ ๋ผ๊ณ ํํํ๋ค. ๋์์๋ผ๋ ๋ง์ ์คํ๋์์ ๋ ๊ฐ์ด ๋ฐํ๋๊ธฐ ์ ๊น์ง๋ blocking๋์ด ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. ๋น๋๊ธฐ์ ๊ฒฝ์ฐ, blocking๋์ง ์๊ณ ์ด๋ฒคํธ ํ์ ๋ฃ๊ฑฐ๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์๊ฒ ํด๋น task ๋ฅผ ์์ํ๊ณ ๋ฐ๋ก ๋ค์ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ๋๋ฌธ์ ๊ธฐ๋๋๋ ๊ฐ์ด ๋ฐ๋ก ๋ฐํ๋์ง ์๋๋ค.
14) ์คํ๋ง์ด๋ ๋ฌด์์
๋๊น?
์คํ๋ง์ ์ฅ์น, ํ๋ก๊ทธ๋จ ๋๋ ์์คํ
์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ณ ์คํํ๊ธฐ ์ํด ์ผ์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ํ๋ก์ธ์ค์ด๋ค. ์ธ์์ ๊ด๋ จ์ด ์๋ค. ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ๋์์ ์ถ๋ ฅ์ ํ๋ฆฐํฐ๋ก ๋ณด๋ด๋ฉด ์คํ๋ง์ ์ด๋ฌํ ๋ชจ๋ ์์
์ ๋์คํฌ ํ์ผ์ ๋ณด๊ดํ๊ณ ํ๋ฆฐํฐ์ ๋ฐ๋ผ ๋๊ธฐ์ด์ ๋ฃ๋๋ค.
15) ๋ฎคํ ์ค๋ ๋ฌด์์ ๋๊น?
ํ๋ก์ธ์ค ํน์ ์ค๋ ๋ ๊ฐ์ ํต์ ์์ shared memory ๋ฑ์ ์ฐ๋ ๊ฒฝ์ฐ ํ๋์ ์์์ ๋ ๊ฐ ์ด์์ ํ๋ก์ธ์ค ํน์ ์ค๋ ๋๊ฐ ์ ๊ทผํ๋ ๊ฒฝ์ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฅผ ์ ์ดํ๊ธฐ์ํด ์ค๋ ๋๋ ๋ฎคํ ์ค๋ฅผ ์ฌ์ฉํ๊ณ , ํ๋ก์ธ์ค์์๋ ์ธ๋งํฌ์ด๋ฅผ ์ฌ์ฉํ๋ค.
- ๋ฎคํ ์ค : ์ํธ๋ฐฐ์ ๋ผ๊ณ ๋ ํ๋ฉฐ, Critical Section์ ๊ฐ์ง ์ค๋ ๋์ Running Time์ด ์๋ก ๊ฒน์น์ง ์๋๋ก ๊ฐ๊ฐ ๋จ๋ ์ผ๋ก ์คํํ๊ฒ ํ๋ ๊ธฐ์ ์ด๋ค. ๋ฎคํ ์ค๋ ์ํ๊ฐ 0, 1 ๋๊ฐ ๋ฟ์ธ ์ด์ง ์ธ๋งํฌ์ด. synchronized ๋๋ lock์ ํตํด ํด๊ฒฐํ๋ค.
15-1) ์ธ๋งํฌ์ด๋ ๋ฌด์์
๋๊น?
์ธ๋งํฌ์ด๋ ์ฌ์ฉ์ค์ธ ๋ฆฌ์์ค๋ฅผ ์ ๊ทธ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ณดํธ ๋ ๋ณ์ ๋๋ ์ถ์ ๋ฐ์ดํฐ ์ ํ์ด๋ค. ๊ณต์ ๋ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ 'ํ๋ก์ธ์ค'์์ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋๋ค. ์ธ๋งํฌ์ด์ ๊ฐ์ ๊ณตํต ์์์ ์ํ๋ฅผ ๋ํ๋
๋๋ค. ๋ฆฌ์์ค ์ํ๋ฅผ ๋ํ๋ด๋ ๊ฐ๋จํ ์นด์ดํฐ์ด๋ค. ๊ณต์ ๋ฆฌ์์ค์ ์ ๊ทผํ ์ ์๋ ํ๋ก์ธ์ค์ ์ต๋ ํ์ฉ์น๋งํผ ๋์์ ์ฌ์ฉ์๊ฐ ์ ๊ทผํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
15-2) ๋ฎคํ ์ค์ ์ธ๋งํฌ์ด์ ์ฐจ์ด?
๊ฐ์ฅ ํฐ ์ฐจ์ด๋ ๋๊ธฐํ ๋์์ ๊ฐฏ์์ด๋ค. ๋ฎคํ ์ค๋ ๋๊ธฐํ ๋์์ด ํ๋๋ฟ์ด๊ณ , ์ธ๋งํฌ์ด๋ ๋๊ธฐํ ๋์์ด ํ๋ ์ด์์ผ ๋.
16) ์ด์ ์ฒด์ ์์ ๊ธฐ์(Starvation) ๋ ๋ฌด์์
๋๊น?
ํน์ ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋ฎ์์ ์ํ๋ ์์์ ๊ณ์ ํ ๋น ๋ฐ์ง ๋ชปํ๋ ์ํ์ด๋ค.
๊ธฐ์์ํ๋ ์์ ๊ด๋ฆฌ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ์์ ๋๊ธฐ์ค์ธ ํ๋ก์ธ์ค๋ ๋ฆฌ์์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋์ด ์๊ธฐ ๋๋ฌธ์ ์ค๋ซ๋์ ํ์ํ ๋ฆฌ์์ค๋ฅผ ์ป์ง ๋ชปํ๋ค.
17) ์ด์ ์ฒด์ ์์ ์์ด์ง(Aging)๋ ๋ฌด์์
๋๊น?
์์ด์ง์ ์์ ์ค์ผ์ค๋ง ์์คํ
์์ ๊ธฐ์๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ธฐ์ ์ด๋ค. ํน์ ํ๋ก์ธ์ค์ ์ฐ์ ์์๊ฐ ๋ฎ์ ๋ฌดํ์ ๊ธฐ๋ค๋ฆฌ๊ฒ๋๋ ๊ฒฝ์ฐ, ํ๋ฒ ์๋ณดํ๊ฑฐ๋ ๊ธฐ๋ค๋ฆฐ ์๊ฐ์ ๋น๋กํ์ฌ ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด ์ฐ์ ์์๋ฅผ ํ ๋จ๊ณ์ฉ ๋์ฌ ๊ฐ๊น์ด ์๊ฐ ์์ ์์์ ํ ๋น๋ฐ๋๋ก ํ๋ ๊ธฐ๋ฒ์ ๋งํ๋ค.
18) ์ด์ ์ฒด์ ์์ ํ์ด์ง(Paging)์ ๋ฌด์์ ๋๊น?
์ธ๊ทธ๋จผํ ์ด์ ๊ณผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋๋์ด ๋ฉ๋ชจ๋ฆฌ(๊ฐ์๋ฉ๋ชจ๋ฆฌ)๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฒ์ ๋งํ๋ค. ์์ธํ๊ฒ ๋งํ์๋ฉด ์ปค๋ค๋ ํฌ๊ธฐ์ ์์ ์ ์ผ์ ํ ํฌ๊ธฐ๋ก ๋๋์ด ์๊ฒ ์ชผ๊ฐ์ด ์ฒ๋ฆฌํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ๋ถ์ฐ์์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์์ฒญ ๋ฑ์ ์ ์ฐํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
์ธ๊ทธ๋จผํ ์ด์ ์ ๋ ผ๋ฆฌ์ ๋ธ๋ก์ ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ํฌ๊ธฐ๋ก ํ ๋นํ ๊ฒ์ด๋ผ๋ฉด, ํ์ด์ง์ ๊ณ ์ ๋ ํฌ๊ธฐ๋ก ๋๋๋ ๊ฒ์ด๋ค. ์ธ๋ถ๋จํธํ๋ ํด๊ฒฐํ์ง๋ง, ๋ด๋ถ๋จํธํ๊ฐ ๋ฐ์ํ ์์๋ค.
18-1) ํ์ด์ง์ ์ฅ์ ๊ณผ ๋จ์ ์?
์ฅ์ : ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ด์ง๋จ์๋ก ๊ฐ์ ธ์์, ํ๋ก์ธ์ค์ ํจ์จ์ ์ธ ์ด์์ด ๊ฐ๋ฅํ๋ค.
๋จ์ : ํ์ด์ง ํฌ๊ธฐ๋ณ, ๋จ์๋ณ๋ก ํ์ด์ง ํดํธ ํ์์ด ๋ฐ์ํ ์ ์๋ค.
19) ์ธ๊ทธ๋จผํ ์ด์ (Segmentation) ์ด๋?
๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ๋ ผ๋ฆฌ์ ์ธ ๋ธ๋ก ๋จ์์ธ ์ธ๊ทธ๋จผํธ(segment)๋ก ๋ถํ ํ๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ฌ ๋ฌผ๋ฆฌ ์ฃผ์๋ฅผ ๋ ผ๋ฆฌ ์ฃผ์๋ก ๋ณํํ๋ ๊ฒ์ ๋งํ๋ค. ๋ฏธ๋ฆฌ ๋ถํ ํ๋ ๊ฒ์ด ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์์ ์ ํ ๋น๋๋ค. ๋ด๋ถ๋จํธํ๋ ์์ง๋ง ์ธ๋ถ๋จํธํ๊ฐ ๋ฐ์ํ ์ ์๋ค.
20) ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์ ์ ๋ฌด์์
๋๊น?
ํ๋ก์ธ์ค๋ฅผ ์ด์ฉํ์ฌ ๋์์ ์ฒ๋ฆฌํ๋ ์ผ์ ์ค๋ ๋๋ก ๊ตฌํํ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ์์คํ ์์ ์๋ชจ๊ฐ ์ค์ด๋ค๊ฒ ๋๋ค.
์ค๋ ๋ ๊ฐ์ ํต์ ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ๋ณ๋์ ์์์ ์ด์ฉํ๋ ๊ฒ์ด ์๋๋ผ ์ ์ญ ๋ณ์์ ๊ณต๊ฐ ๋๋ ๋์ ์ผ๋ก ํ ๋น๋ ๊ณต๊ฐ์ธ Heap(ํ) ์์ญ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค ๊ฐ ํต์ ๋ฐฉ๋ฒ์ ๋นํด ์ค๋ ๋ ๊ฐ์ ํต์ ๋ฐฉ๋ฒ์ด ํจ์ฌ ๊ฐ๋จํ๋ค. ์ฌ์ง์ด ์ค๋ ๋์ context switch(๋ฌธ๋งฅ๊ตํ)๋ ํ๋ก์ธ์ค context switch ์๋ ๋ฌ๋ฆฌ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋น์ธ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ ๋น ๋ฅด๋ค. ๋ฐ๋ผ์ ์์คํ ์ ์ฑ๋ฅ์ด ํฅ์๋๊ณ ์์ ์๋ชจ๊ฐ ์ค์ด๋ค๋ฉฐ ์์ฐ์ค๋ฝ๊ฒ ํ๋ก๊ทธ๋จ์ ์๋ต ์๊ฐ์ด ๋จ์ถ๋๋ค. ์ด๋ฌํ ์ฅ์ ๋๋ฌธ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ก ํ ์ ์๋ ์์ ๋ค์ ํ๋์ ํ๋ก์ธ์ค์์ ์ค๋ ๋๋ก ๋๋ ์ํํ๋ ๊ฒ์ด๋ค.
- ์ฌ์ฉ์์ ๋ฐ์์ ํฅ์์ํจ๋ค.(= ์๋ต์ฑ์ด ์ข๋ค : ํ๋์ ํ๋ก์ธ์ค์ ์ฌ๋ฌ ์ค๋ ๋๋ฅผ ์์ฑํ์ฌ ์ค๋ ๋์ ๊ฐ๊ธฐ ๋ค๋ฅธ ์์
์ ํ๊ฒ ํจ์ผ๋ก์จ ํน์ ์์
์ ํ๋ฉด์๋ ์ฌ์ฉ์๋ก๋ถํฐ ๋ช
๋ น์ ์
๋ ฅ๋ฐ๊ฒ ํ ์ ์๋ค.)
- ํ๋ก์ธ์ค ๋ด ๋ฆฌ์์ค ๊ณต์ ํ์ฌ ๊ฒฝ์ ์ ์ด๋ค. (= ์์๊ณต์ ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ์ ์๋ค.)
- ์์ ์ด ๋ถ๋ฆฌ๋์ด ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด์ง๋ค.
20-1) ๋ฉํฐ ์ค๋ ๋ ํ๋ก๊ทธ๋๋ฐ์ ๋จ์ ์ ๋ฌด์์ ๋๊น?
๋ฉํฐ ํ๋ก์ธ์ค ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ ๋๋ ํ๋ก์ธ์ค ๊ฐ ๊ณต์ ํ๋ ์์์ด ์๊ธฐ ๋๋ฌธ์ ๋์ผํ ์์์ ๋์์ ์ ๊ทผํ๋ ์ผ์ด ์์์ง๋ง ๋ฉํฐ ์ค๋ ๋ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ ๋๋ ์ด ๋ถ๋ถ์ ์ ๊ฒฝ์จ์ค์ผ ํ๋ค. ์๋ก ๋ค๋ฅธ ์ค๋ ๋๊ฐ ๋ฐ์ดํฐ์ ํ ์์ญ์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ์ค๋ ๋๊ฐ ๋ค๋ฅธ ์ค๋ ๋์์ ์ฌ์ฉ์ค์ธ ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ์ ์ ๊ทผํ์ฌ ์๋ฑํ ๊ฐ์ ์ฝ์ด์ค๊ฑฐ๋ ์์ ํ ์ ์๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฉํฐ์ค๋ ๋ฉ ํ๊ฒฝ์์๋ ๋๊ธฐํ ์์ ์ด ํ์ํ๋ค. ๋๊ธฐํ๋ฅผ ํตํด ์์ ์ฒ๋ฆฌ ์์๋ฅผ ์ปจํธ๋กค ํ๊ณ ๊ณต์ ์์์ ๋ํ ์ ๊ทผ์ ์ปจํธ๋กค ํ๋ ๊ฒ์ด๋ค. ํ์ง๋ง ์ด๋ก ์ธํด ๋ณ๋ชฉํ์์ด ๋ฐ์ํ์ฌ ์ฑ๋ฅ์ด ์ ํ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ณผ๋ํ ๋ฝ์ผ๋ก ์ธํ ๋ณ๋ชฉํ์์ ์ค์ฌ์ผ ํ๋ค.
- ๊ตฌํํ๊ธฐ ์ด๋ ต๊ณ , ํ ์คํธ์ ๋๋ฒ๊น ์ด ์ด๋ ต๋ค.
- ์ ์ฒด ํ๋ก์ธ์ค์ ์ํฅ์ ์ค ์ ์๋ค.
- ์ฑ๋ฅ ์ ํ๊ฐ ๋๋ฐ๋ฉ๋๋ค.
- ๋๊ธฐํ ์์ ์ด ํ์ํ๋ค.
- ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ์ฃผ์ํด์ผํ๋ค .
21) Scheduling ์ด๋(Process Scheduling)?
์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์๊ณ , ์ด ํ๋ก์ธ์ค๋ค์ด ์์(CPU ๋ฑ)์ ๋์์ ์๊ตฌํ๋๋ฐ ์์์ด ์ ํ๋์ด ์๋ค. ๊ทธ๋ฌ๋ฉด ์ ํ๋ ์์๋ค์ ์ด๋ป๊ฒ(์์๋ฅผ ํ ๋นํ๋ ๋ฑ) ๋๋ ์ค ๊ฒ์ธ์ง์ ๋ํ ์ ์ฑ
์ ๋งํ๋ค.
22) CPU Scheduling?
CPU ํ๋๋ ๋์์ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ธฐ ๋๋ฌธ์, ํ ์๊ฐ์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํ๋์ง ๊ฒฐ์ ํ๋ ์ ์ฑ
์ด๋ค.
22-1) CPU ์ค์ผ์ค๋ง์ ์ธ์ ๋ฐ์ํ๋๊ฐ?
- ์คํ์ํ์์ ๋๊ธฐ์ํ๋ก ์ ํ๋ ๋ (์, ์ ์ถ๋ ฅ ์์ฒญ) - Non preemptive(๋น์ ์ )
- ์คํ์ํ์์ ์ค๋น์ํ๋ก ์ ํ๋ ๋ (์, ์ธํฐ๋ฝํธ ๋ฐ์) - preemptive(์ ์ )
- ๋๊ธฐ์ํ์์ ์ค๋น์ํ๋ก ์ ํ๋ ๋(์, ์ ์ถ๋ ฅ์ด ์ข ๋ฃ๋ ๋)
- ์ข ๋ฃ๋ ๋(Terminated)
22-2) CPU ์ค์ผ์ค๋ง์ ์ข ๋ฅ๋ฅผ ์ค๋ช ํ์์ค.
๋น์ ์ (Non-preemptive) ์ค์ผ์ค๋ง
- ์ด๋ฏธ ํ ๋น๋ CPU๋ฅผ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ ๋ก ๋นผ์์ ์ฌ์ฉํ ์ ์๋ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ์ด๋ค.
- ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ์ผ๋ฉด ํด๋น ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋ ๋๊น์ง CPU๋ฅผ ์ฌ์ฉํ๋ค.
- ์ผ๊ด ์ฒ๋ฆฌ ๋ฐฉ์์ ์ค์ผ์ค๋ง(๊ณต์ ํ์ง๋ง ๊ธด๊ธ ์๋ต์ ์ํ๋ ์์ ์ ์ข์ง ์๋ค.)
- FCFS(FIFO) : ์ค๋น์ํ ํ์ ๋์ฐฉํ ์์์ ๋ฐ๋ผ CPU๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ. ๊ณตํ์ฑ์ ์ ์ง๋์ง๋ง ์งง์ ์์
์ด ๊ธด ์์
์, ์ค์ํ ์์
์ด ์ค์ํ์ง ์์ ์์
์ ๊ธฐ๋ค๋ฆฌ๊ฒ ๋จ.
- ์ฅ์ : ํ๊ท ์๋ต์๊ฐ์ด ๊ธธ๋ค. (๋ํ์ ์์คํ ์ ๋ถ์ ํฉ)
- ๋จ์ : ๋์ฐฉ ์์์ ๋ฐ๋ผ ๊ณตํํ๋ค.
- SJF(Shortest Job First) : ์คํ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์ ๋จผ์ CPU๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ. ๊ฐ์ฅ ์ ์ ํ๊ท ๋๊ธฐ ์๊ฐ์ ์ ๊ณตํ๋ ์ต์ ์๊ณ ๋ฆฌ์ฆ
- ์ฅ์ : ํ๊ท ์๋ต ์๊ฐ์ ์ต์ํ ํ ์ ์๋ค.
- ๋จ์ : ์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ CPU๋ฅผ ํ ๋น๋ฐ์ง ๋ชปํ๊ณ ๋ฌดํํ ๋๊ธฐํ๋ ํ์ ๋ฐ์(starvation)
- HRN(Highest Response ratio) : ์คํ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค์ ๋ถ๋ฆฌํ SJF ๊ธฐ๋ฒ์ ๋ณด์ํ๊ธฐ ์ํ ๊ฒ์ผ๋ก ์ฐ์ ์์ ๊ณ์ฐ ๊ฒฐ๊ณผ ๊ฐ์ด ๋์ ๊ฒ๋ถํฐ ์ฐ์ ์์๊ฐ ๋ถ์ฌ๋๋ค. ๋๊ธฐ ์๊ฐ์ด ๊ธธ์๋ก ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ ๋๋ค. ์ฐ์ ์์ = (๋๊ธฐ์๊ฐ + ์๋น์ค์๊ฐ / ์๋น์ค์๊ฐ) ํฐ ํ๋ก์ธ์ค์ผ์๋ก ์ฐ์ ์์๊ฐ ๋ฎ์ผ๋ฏ๋ก ํ๊ท ์๋ต์๊ฐ๋ ๋จ์ถ
- ๊ธฐํ๋ถ(DeadLine) : ํ๋ก์ธ์ค์๊ฒ ์ผ์ ํ ์๊ฐ์ ์ฃผ์ด ๊ทธ ์๊ฐ ์์ ํ๋ก์ธ์ค๋ฅผ ์๋ฃํ๋๋ก ํ๋ ๊ธฐ๋ฒ
- ์ฐ์ ์์(Priority) : ์ค๋น์ํ ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ๊ฐ ํ๋ก์ธ์ค๋ง๋ค ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ์ฌ ๊ทธ ์ค ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค์๊ฒ ๋จผ์ CPU๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ. ์ ์ , ๋์ ์ฐ์ ์์ ๋ฐฉ๋ฒ ์กด์ฌ
์ ์ (Preemptive) ์ค์ผ์ค๋ง
- ํ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ์ ์คํ ํ๊ณ ์์ ๋ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ฐ์ ๋ก ๋นผ์์ ์ฌ์ฉํ ์ ์๋ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ
- ์ ์ ์ผ๋ก ์ธํ ๋ง์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ๋ค.
- ์๋ถํ ์์คํ ์ ์ฌ์ฉํ๋ ์ค์ผ์ค๋ง์ด๋ค. (๊ธด๊ธ์ ์ํ๋ ์ฐ์ ์์๋ฅผ ๊ฐ๋ ์๋ถํ ์ฒ๋ฆฌ, ์ค์๊ฐ ์ฒ๋ฆฌ์ ์ ์ฉ)
- ์ ์ ์ ์ํด ์๊ฐ ๋ฐฐ๋น์ ์ํ ์ธํฐ๋ฝํธ์ฉ ํ์ด๋จธ ํด๋ญ(Clock)์ด ํ์ํ๋ค.
- SRT(Shortest Remaining Time) : ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ๋จ์ ์๊ฐ๊ณผ ๋๊ธฐ ํ์ ํ๋ก์ธ์ค์ ์คํ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ (๋น์ ์ ๊ธฐ๋ฒ์ธ SJF ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ํํ๋ก ๋ณ๊ฒฝํ ๊ธฐ๋ฒ)
- ๋จ์ : ์ฆ์ ์ ์ ์ผ๋ก ์ธํ ๋ฌธ๋งฅ๊ตํ์ ๋ถ๋ด, starvation ์ ์ํ
- ์ ์ ์ฐ์ ์์ : ์ค๋น์ํ ํ์ ํ๋ก์ธ์ค๋ค ์ค์์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค์๊ฒ ๋จผ์ CPU๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ
- RR(Round Robin) : ์๋ถํ ์์คํ
์ ์ํด ๊ณ ์๋ ๋ฐฉ๋ฒ์ผ๋ก, FCFS ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ํํ๋ก ๋ณํํ ๊ธฐ๋ฒ. ๋๊ธฐ ํ๋ฅผ ์ฌ์ฉํ์ฌ ๋จผ์ ๋๊ธฐํ ์์
์ด ๋จผ์ CPU๋ฅผ ์ฌ์ฉํ๋ค.
- ๋จ์ : CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์๊ฐ(Quantum)๋์ CPU๋ฅผ ์ฌ์ฉํ ํ์ ๋ค์ ๋๊ธฐ ํ์ ๊ฐ์ฅ๋๋ก ๋ฐฐ์น๋๋ค. ํ ๋น๋๋ ์๊ฐ์ด ํด ๊ฒฝ์ฐ FCFS ๊ธฐ๋ฒ๊ณผ ๊ฐ์์ง๊ณ , ์๊ฐ์ด ์์ ๊ฒฝ์ฐ ๋ฌธ๋งฅ๊ตํ ๋ฐ ์ค๋ฒํค๋๊ฐ ์์ฃผ ๋ฐ์๋จ
- MLQ(๋ค๋จ๊ณ ํ) : ํ๋ก์ธ์ค๋ฅผ ํน์ ๊ทธ๋ฃน์ผ๋ก ๋ถ๋ฅํ ์ ์๋ ๊ฒฝ์ฐ ๊ทธ๋ฃน์ ๋ฐ๋ผ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ค๋น์ํ ํ๋ฅผ ์ฌ์ฉํ๋ค. ์์ ๋ค์ ์ฌ๋ฌ ์ข ๋ฅ์ ๊ทธ๋ฃน์ผ๋ก ๋ถํ . ํ๋ค๊ฐ์ ํ๋ก์ธ์ค ์ด๋์ด ๋ถ๊ฐ๋ฅํ๋ค. ๊ฐ ํ๋ ์์ ๋ง์ ๋ ์์ ์ธ ์ค์ผ์ค๋ง์ ๊ฐ์ง๋ค. ์์ ์ฐ์ ์์์ ํ๊ฐ Empty ์ด๋ฉด ํ์ ์ฐ์ ์์์ ํ์ ํ๋ก์ธ์ค๊ฐ ์ํ๋๋ค.
- MLFQ(๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ) : ํน์ ๊ทธ๋ฃน์ ์ค๋น์ํ ํ์ ๋ค์ด๊ฐ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์ค๋น์ํ ํ๋ก ์ด๋ํ ์ ์๋ ๋ค๋จ๊ณ ํ ๊ธฐ๋ฒ์ ์ค๋น์ํ ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๋๋ก ๊ฐ์ ํ ๊ธฐ๋ฒ. ์๋ก์ด ํ๋ก์ธ์ค๋ ๋์ ์ฐ์ ์์, ํ๋ก์ธ์ค์ ์คํ์ด ๊ธธ์ด์ง ์๋ก ์ ์ ๋ฎ์ ์ฐ์ ์์ ํ๋ก ์ด๋. ์ ์ผ ๋ง์ง๋ง ๋จ๊ณ์์๋ RR/FCFS ์ฒ๋ฆฌ. ์ฐ์ ์์๊ฐ ๋์ ๋จ๊ณ์ ํ์ผ์๋ก ์๊ฐ ํ ๋น๋์ ์๊ฒ ์ค์ ํ๋ค. ๊ธฐ์ ์ํ๋ฅผ ์๋ฐฉํ๋ Aging ๋ฐฉ๋ฒ. ํ๋ OS์์ RR๋ฐฉ์๊ณผ ํจ๊ป ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ.
- RM(Rate Monotonic, ์ฃผ๊ธฐ๋จ์กฐ) ์๊ณ ๋ฆฌ์ฆ : ์ํ ์ฃผ๊ธฐ๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ ์ค์๊ฐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ. ์ ์ ์ค์ผ์ค๋ง๋ฐฉ์. ๋ง๊ฐ ์๊ฐ๊ณผ ์ฃผ๊ธฐ๊ฐ ์ผ์น.
- ์ฅ์ : ๊ฐ๋จ, ์ฌ์ฉ๋ฅ ์ด 0.69์ดํ์ผ๋ ํญ์ ์ค์ผ์ค๋ง ๊ฐ๋ฅ
- ๋จ์ : ์ฃผ๊ธฐ๊ฐ ๊ธด ํ์คํฌ๋ค์ ์ฐ์ ์์๊ฐ ๋ฎ์์ ์ฅ์๊ฐ ๋๊ธฐ
- EDF(Earliest Deadline First, ์ต๋จ ๋ง๊ฐ์๊ฐ ์ฐ์ )์๊ณ ๋ฆฌ์ฆ : ํ๋ก์ธ์ค์ ๋ง๊ฐ์ํ์ด ๊ฐ๊น์ธ์๋ก ์ฐ์ ์์๋ฅผ ๋๊ฒ ๋ถ์ฌํ๋ ์ ์ ๋ฐฉ์์ ๋์ ์ค์ผ์ค๋ง
- ์ฅ์ : ์ด๋ก ์ ์ผ๋ก ์ด ์ด์ฉ๋ฅ ์ด 1์ดํ๋ฉด ์ค์ผ์ค๋ง ๊ฐ๋ฅ
- ๋จ์ : ํ์คํฌ๋ค์ ์ํ ์๊ฐ, ๋ง๊ฐ์๊ฐ, ์ฃผ๊ธฐ ๋ฑ์ ์ ํํ ์์ธกํ๋ ๊ฒ์ด ํ์ค์ ์ผ๋ก ์ด๋ ค์.
[์ ๋ฆฌ]
๋น์ ์ ํ : FCFS, ๋น์ ์ ํ SJF
์ ์ ํ : RR, MLQ, MLFQ, ์ ์ ํ SJF(SRF), RM(Rate Monotonic), EDF
22-3) ์ ์ ์ค์ผ์ค๋ง๊ณผ ๋น์ ์ ์ค์ผ์ค๋ง์ ์ฐจ์ด์ ?
์ ์ : CPU๋ฅผ ํ ๋น๋ฐ์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ก๋ถํฐ CPU๋ฅผ ์ ์ (๋นผ์๋ ๊ฒ)ํ์ฌ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ํ ๋น ํ ์ ์๋ ๋ฐฉ์
Ex) RR, SRT, MLQ, MFQ
๋น์ ์ : CPU๋ฅผ ํ ๋น๋ฐ์ ํ๋ก์ธ์ค๋ ์ค์ค๋ก CPU๋ฅผ ๋ฐ๋ฉํ ๋๊น์ง CPU๋ฅผ ๋ ์ ํ์ฌ ์ฌ์ฉ
Ex) FCFS, SJR, HRN
23) ๋ฉ๋ชจ๋ฆฌ ๋จํธํ ๋ ๋ฌด์์ธ๊ฐ?
๋ฉ๋ชจ๋ฆฌ์ ๋น ๊ณต๊ฐ ๋๋ ์๋ฃ๊ฐ ์ฌ๋ฌ ๊ฐ์ ์กฐ๊ฐ์ผ๋ก ๋๋๋ ํ์์ ๋งํ๋ค. ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ๋ฅผ ํ๊ฒ ๋๋ฉด ๊ทธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋น ๊ณต๊ฐ(์ฌ์ฉํ์ง ์๋ ๊ณต๊ฐ)์ด ๋๊ณ ๊ทธ ๋น๊ณต๊ฐ์ ํฌ๊ธฐ๋ณด๋ค ํฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฆฌํ์ฌ ์ด ๊ณต๊ฐ๋ค์ด ํ๋ ๋ ์์ด๊ฒ ๋๋ฉด ์์น์์ผ๋ก๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋จ์์์๋ ๋ถ๊ตฌํ๊ณ , ์ค์ ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฐ์ํ๋ค.
23-1) ๋ด๋ถ๋จํธํ์ ๋ด๋ถ๋จํธํ๋?
- ๋ด๋ถ๋จํธํ
: ๋ถํ ๋ ์์ญ์ด ํ ๋น๋ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ์ปค์ ์ฌ์ฉ๋์ง ์๊ณ ๋จ์ ์๋ ๋น ๊ณต๊ฐ์ ๋งํ๋ค.
: ๋ด๋ถ ๋จํธํ๋ ํ์ด์ง์์ ๋ฐ์ํ๋ค.
- ์ธ๋ถ๋จํธํ
: ๋ถํ ๋ ์์ญ์ด ํ ๋น๋ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ์์์ ๋ชจ๋ ๋น ๊ณต๊ฐ์ผ๋ก ๋จ์ ์๋ ์ ์ฒด ์์ญ์ ๋งํ๋ค.
: ์ธ๋ถ ๋จํธํ๋ ์ธ๊ทธ๋จผํ ์ด์ ์์ ๋ฐ์ํ๋ค.
23-2) ๋ฉ๋ชจ๋ฆฌ ๋จํธํ ํด๊ฒฐ๋ฐฉ๋ฒ์?
๋ฉ๋ชจ๋ฆฌ ์์ถ(๋์คํฌ ์กฐ๊ฐ ๋ชจ์), ๋ฉ๋ชจ๋ฆฌ ํตํฉ(๋จํธํ๊ฐ ๋ฐ์๋ ๊ณต๊ฐ๋ค์ ํ๋๋ก ํตํฉ์์ผ ํฐ ๊ณต๊ฐ์ผ๋ก ๋ง๋๋ ๊ธฐ๋ฒ)
24) ๋ฌธ๋งฅ๊ตํ(Context Switching)์ด๋?
ํ๋ก์ธ์ค ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋งํ๋ค. ํ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉ ์ค์ธ ์ํ์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๋๋ก ํ๊ธฐ ์ํด ์ด์ ํ๋ก์ธ์ค์ ์ํ๋ฅผ ๋ณด๊ดํ๊ณ ์๋ก์ด ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์ ์ฌํ๋ ์์ ์ด๋ค. ์ฆ, ์ค์ผ์ค๋ง์ ์ํด ์คํ ์ค์ธ ์ฝ๋, ์์ ๋ฑ์ ์ ์ฅํ๊ณ ํ์ฌ ์ํ๋ฅผ ๋๊ธฐ ์ํ๋ก ๋ง๋ค๊ณ , ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํ์ํค๋ ๊ณผ์
[์ฐธ๊ณ ] CPU๊ฐ ํ์ฌ ์ฒ๋ฆฌ์ค์ธ ํ๋ก์ธ์ค์ PCB(Process Controll Block)์ ๋ฐ๋ก ์ ์ฅํ๊ณ ๋ค๋ฅธ PCB๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ
PCB? ํน์ ํ๋ก์ธ์ค์ ๋ํ ์ค์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ์ด์์ฒด์ ์ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ด์์ฒด์ ๋ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ๋ก์ธ์ค์ ์์ฑ๊ณผ ๋์์ ๊ณ ์ ํ PCB๋ฅผ ์์ฑํ๋ค.
25) ์ปค๋ ์์ค ์ค๋ ๋์ ์ฌ์ฉ์ ์์ค ์ค๋ ๋์ ๊ฐ๊ฐ ์ฅ๋จ์ ?
- ์ปค๋ ์์ค ์ค๋ ๋
: ์ฅ์
- ํ๋ก์ธ์ค์ ์ค๋ ๋๋ค์ ๋ช๋ช ํ๋ก์ธ์์ ํ๊บผ๋ฒ์ ๋์คํจ์น ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฉํฐํ๋ก์ธ์ ํ๊ฒฝ์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ๋์ํ๋ค.
- ๋ค๋ฅธ ์ค๋ ๋๊ฐ ์ ์ถ๋ ฅ ์์ ์ด ๋ค ๋๋ ๋๊น์ง ๋ค๋ฅธ ์ค๋ ๋๋ฅผ ์ฌ์ฉํด ๋ค๋ฅธ ์์ ์ ์งํํ ์ ์๋ค.
- ์ปค๋์ด ๊ฐ ์ค๋ ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ค.
- ์ปค๋์ด ์ง์ ์ค๋ ๋๋ฅผ ์ ๊ณตํด ์ฃผ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ๊ณผ ๋ค์ํ ๊ธฐ๋ฅ์ด ์ ๊ณต๋๋ค.
: ๋จ์
- ์ค์ผ์ค๋ง ๋๊ธฐํ๋ฅผ ์ํด ์ปค๋์ ํธ์ถํ๋๋ฐ ๋ฌด๊ฒ๊ณ ์ค๋๊ฑธ๋ฆฐ๋ค. (์ ์ฅํ ๋ด์ฉ์ ๋ค์ ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ด ํ์)
- ์ฆ, ์ฌ์ฉ์ ๋ชจ๋์์ ์ปค๋ ๋ชจ๋๋ก์ ์ ํ์ด ๋น๋ฒํ๊ฒ ์ด๋ค์ ธ ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ๋ค.
- ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋๋ฐํ ๋ ๊ตฌํํ๊ธฐ ์ด๋ ต๊ณ ์์์ ๋ ๋ง์ด ์๋นํ๋ ๊ฒฝํฅ์ด ์๋ค.
- ์ฌ์ฉ์ ์์ค ์ค๋ ๋
: ์ฅ์
- ์ด์์ฒด์ ์์ ์ค๋ ๋๋ฅผ ์ง์ํ ํ์๊ฐ ์๋ค
- ์ค์ผ์ค๋ง ๊ฒฐ์ ์ด๋ ๋๊ธฐํ๋ฅผ ์ํด ์ปค๋์ ํธ์ถํ์ง ์์๊ธฐ ๋๋ฌธ์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ ๋ ์ปค๋ ๋ ๋ฒจ ์ค๋ ๋๋ณด๋ค ์ค๋ฒํค๋๊ฐ ์ ๋ค
- ์ฆ, ์ฌ์ฉ์ ์์ญ ์ค๋ ๋์์ ํ๋์ ํ๊ธฐ์ OS Scheduler์ context switch๊ฐ ์๋ค. (์ฌ์ฉ์ ๋ ๋ฒจ ์ค๋ ๋ ์ค์ผ์ค๋ฌ ์ด์ฉ)
- ์ปค๋์ ์ค๋ ๋์ ์กด์ฌ์กฐ์ฐจ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๊ฐ์ ์ ํ์ด ์๊ณ ์ฑ๋ฅ ์ด๋์ด ๋ฐ์ํ๋ค.
: ๋จ์
- ์์คํ ์ ๋ฐ์ ๊ฑธ์น ์ค์ผ์ค๋ง ์ฐ์ ์์๋ฅผ ์ง์ํ์ง ์๋๋ค. (๋ฌด์จ ์ค๋ ๋๊ฐ ๋จผ์ ๋์ํ ์ง ๋ชจ๋ฅธ๋ค)
- ํ๋ก์ธ์ค์ ์ํ ์ค๋ ๋ ์ค I/O ์์ ๋ฑ์์ํด ํ๋๋ผ๋ ๋ธ๋ก์ด ๊ฑธ๋ฆฐ๋ค๋ฉด ์ ์ฒด ์ค๋ ๋๊ฐ ๋ธ๋ก๋๋ค.
25-1) ์ฌ์ฉ์ ์์ค ์ค๋ ๋์ ์ปค๋ ์์ค ์ค๋ ๋ ์ฐจ์ด๋?
์ฝ๋๊ฐ ์คํ๋๋ ๋ชจ๋์ ์ฐจ์ด.
์ปค๋ ์์ค์ ์ค๋ ๋๋ ์ปค๋ ๋ชจ๋๊ธฐ ๋๋ฌธ์ write()๊ฐ์ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ฌ์ฉ์ ๋ชจ๋์์ ์ปค๋ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ๋งฅ ๊ตํ์ด ์ผ์ด๋์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ฌ์ฉ์ ์ค๋ ๋๊ฐ ์ฌ๋ฟ ์์๋ ํ๋๋ผ๋ ์ปค๋ ๋ชจ๋๊ฐ ๋๋ฉด ๋ค๋ฅธ ์ฐ๋ ๋๊ฐ ์ค์ง๋๋ค. ๊ทธ๋์ ์์ฆ์๋ ํผํฉํด์ ์ธ์ ์๋ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์๊ณ ์๋ค.
26) ๋ชจ๋ ์ค์์น์ ํ๋ก์ธ์ค ์ค์์น ๊ฐ์ ์ฐจ์ด์ ์?
๋ชจ๋ ์ค์์น๋ ์ฌ์ฉ์ ๋ชจ๋์์ ์ปค๋๋ชจ๋๋ก ๋ณ๊ฒฝํ ๋ ๋ฐ์ํ๋ฉฐ ์์ ๋ฌธ๋งฅ๊ตํ์ด ํ์ํ์ง ์๊ณ ์์คํ ์คํ์ ์ฌ์ฉํ๋ค. ํ๋ก์ธ์ค ์ค์์น๋ ๋ณดํต ๋ฌธ๋งฅ๊ตํ์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ด๋ฉฐ ์คํ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ๋ฉ์ถ๊ณ ์ ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ ๊ฒ
'TIL > ๋ฉด์ ๋๋น' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋คํธ์ํฌ(network)] ๋ฉด์ ์์ ์ง๋ฌธ๊ณผ ๋ต๋ณ (3) | 2020.05.02 |
---|---|
[์๋ฐ(JAVA)] ๋ฉด์ ์์ ์ง๋ฌธ๊ณผ ๋ต๋ณ (3) | 2020.03.22 |
[๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)] ๋ฉด์ ์์ ์ง๋ฌธ๊ณผ ๋ต๋ณ (2) | 2020.02.27 |