Made by. ๊น๋ฏผ์ง ๋ฐํ๋น ์ด์ฐ์ฃผ ํฉ์ฑํ
๐ก ํ์ด์ง ์ ์ค์จ์ ๊ทน๋ํ ์ํค๊ธฐ ์ํ ๋ฐฉ๋ฒ์๋ ๋ฌด์์ด ์๋์ง ๊ฐ๋ตํ ์ค๋ช ํด์ฃผ์ธ์.
- ์ผ๋ฐ์ ์ผ๋ก ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ ,
์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํ๋์จ์ด ์ฌ์ด์์ ์ธํฐํ์ด์ค
์ญํ ์ ํ๋ฉฐ, ์์คํ ์ ๋์์ ์ ์ดํ๋ ์์คํ ์ํํธ์จ์ด๋ฅผ ์ด์์ฒด์ ๋ผ๊ณ ํฉ๋๋ค.
- ํ๋ก์ธ์ค๋ ํ์ฌ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๋ฉฐ ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด๋ถ์์ ์คํ๋๋ ์์ ํ๋ฆ์ ๋จ์๋ฅผ ์๋ฏธํฉ๋๋ค.
- ์ค๋ ๋๋ ์์์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์
Context Switch๊ฐ ์ ๊ณ ์ค๋ฒํค๋๊ฐ ์์ต๋๋ค.
- ๋จ์ ์ ํ๋ก์ธ์ค ๋ด๋ถ์ ์์์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์
๋์์ ์์์ ์ ๊ทผํ์ ๋ ๋ฌธ์
๊ฐ ๋ ์ ์์ต๋๋ค. ๋ํ, ํ๋์ ์ค๋ ๋๊ฐ ์์ ์ ๋ฐ์ดํฐ ๊ณต๊ฐ์ ๋ง๊ฐ๋จ๋ฆฐ๋ค๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๊ณ ์๋ ๋ชจ๋ ์ค๋ ๋์ ์น๋ช ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํต๋๋ค.
- ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ ํค๋ ๊ฒ๋ณด๋ค ํ๋์ ํ๋ก๊ทธ๋จ ์์์ ์ฌ๋ฌ ์์
์ ํด๊ฒฐํ๊ธฐ ์ํด์ ์
๋๋ค. ์ด์ ๋
ํ๋ก์ธ์ค๋ฅผ ์์ฑํ์ฌ ์์์ ํ ๋นํ๋ ์์คํ ์ฝ
์ด ์ค์ด ๋ค์ด ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ ํ๋ก์ธ์ค๊ฐ์ ํต์ ๋ณด๋ค ์ฐ๋ ๋ ๊ฐ์ํต์ ์ ๋น์ฉ
์ด ์ ๊ธฐ ๋๋ฌธ์ ๋ฉํฐ ํ๋ก์ธ์ค๋ณด๋ค ๋ฉํฐ ์ค๋ ๋๋ฅผ ์ฌ์ฉํ๋ ์ด์ ์ ๋๋ค.
- ์คํ: ์ธ์, ๋ณ์ ๋ฑ์ ์ ์ฅํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
- ์ค๋ ๋๋ง๋ค
๋ ๋ฆฝ์ ์ธ ํจ์ ํธ์ถ
, ์คํ์ ํ๊ธฐ ์ํด์ ์ค๋ ๋์ ์คํ์ ๋ ๋ฆฝ์ ์ผ๋ก ํ ๋นํฉ๋๋ค.
๐ก PC(Program Counter) ๋ ์ง์คํฐ๋ฅผ ์ค๋ ๋๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ํ ๋นํ๋ ์ด์ ? โ๏ธ
- PC ๋ ์ง์คํฐ: ์ค๋ ๋๊ฐ ๋ช ๋ น์ด์ ์ด๋๊น์ง ์ํํ๋์ง
- Context Switch ํ ๋ ์ด์ ์ ์ด๋ ๋ถ๋ถ๊น์ง ์์ ์ ์ํํ๋์ง ๊ธฐ์ตํ๊ธฐ ์ํด์ PC ๋ ์ง์คํฐ๋ฅผ ์ค๋ ๋๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ํ ๋นํฉ๋๋ค.
- ์ผ๋ฐ ์ค๋ ๋์ ๊ฑฐ์ ์ฐจ์ด๊ฐ ์์ผ๋ฉฐ, JVM์ด ์ด์์ฒด์ ์ ์ญํ ์ ํฉ๋๋ค.
- ์๋ฐ๋ ํ๋ก์ธ์ค๊ฐ ์กด์ฌํ์ง ์๊ณ ์ค๋ ๋๋ง ์กด์ฌํฉ๋๋ค.
- ์๋ฐ ์ค๋ ๋๋ JVM์ ์ํด ์ค์ผ์ค๋ง๋๋ ์ฝ๋๋ธ๋ก์ ๋๋ค.
- ๊ฐ๋ฐ์๋ ์ค๋ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ JVM์ ์คํ์ ์์ฒญํฉ๋๋ค.
- ๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์ ๊ณต์ ์์์ ์ฌ๋ฌ ์ค๋ ๋ ์ ๊ทผ์ด ์์ด๋ ํ๋ก๊ทธ๋จ ์คํ์ ๋ฌธ์ ์์์ ์๋ฏธํฉ๋๋ค.
- ์ฌ๋ฌ ํ๋ก์ธ์ค๋ ์ฐ๋ ๋๊ฐ
๊ณต์ ์์์ ์ ๊ทผ
ํ๋ ๊ฒ์ ์ ์ดํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ ๋๋ค. - ์ธ๋งํฌ์ด๋
count
๋ฅผ ์ฃผ์ด count ๊ฐ๋งํผ ํ๋ก์ธ์ค/์ค๋ ๋๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ธฐ๋ฒ์ด๋ฉฐ ๋ฎคํ ์ค๋lock/unlock
์ผ๋ก ๊ถํ์ ๊ฐ์ง ํ๋ก์ธ์ค/์ค๋ ๋๋ง ์ ๊ทผํ ์ ์๋๋กํ๋ ๊ธฐ๋ฒ์ ๋๋ค.
- ์ด๋ค ํ๋ก์ธ์ค์๊ฒ ์์์ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ์ด์์ฒด์ ์ ์ปค๋ ๋ชจ๋์ ๋๋ค.
- ์ฅ๊ธฐ ์ค์ผ์ค๋ฌ์ ์ํด ์ด๋ค ํ๋ก์ธ์ค๊ฐ ์ค๋น ํ์ ์ฝ์
๋ ์ง ๊ฒฐ์ ํฉ๋๋ค.
- Ready Queue๋ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์์ผ๋ฉด์ CPU์ ์ํด ์คํ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค์ ์งํฉ์ ์๋ฏธํฉ๋๋ค.
- ๋จ๊ธฐ ์ค์ผ์ค๋ฌ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ CPU๋ฅผ ํ ๋นํ ํ๋ก์ธ์ค๋ฅผ ์ ํํฉ๋๋ค.
- ์ ํ๋ ํ๋ก์ธ์ค๋ Running ์ํ๊ฐ ๋๊ณ ์์ ์ด ๋๋๋ฉด Terminated ์ํ๊ฐ ๋ฉ๋๋ค.
- ์ค๊ธฐ ์ค์ผ์ค๋ฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋๋ฌด ๋ง์ ํ๋ก๊ทธ๋จ์ด ๋์์ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ ์กฐ์ ํฉ๋๋ค.
- ์ค์ผ์ค๋ง์ ํ๋ก์ธ์์๊ฒ ํ์ํ ์์์ ์ด๋ป๊ฒ ํ ๋นํ ๊ฒ์ธ์ง ์ ํํ๋ ์๊ณ ๋ฆฌ์ฆ ์ ๋๋ค.
- ๋จ์ ์๊ฐ๋น ์ฒ๋ฆฌ๋์ ์ต๋ํํ๊ณ ํจ์จ์ ์ผ๋ก ์์์ ํ ๋นํ๊ธฐ ์ํ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- Context Switching์ด๋ ํ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉ ์ค์ธ ์ํ์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ๋๋ก ํ๊ธฐ ์ํด, ์ด์ ์ ํ๋ก์ธ์ค์ ์ํ(๋ฌธ๋งฅ)๋ฅผ ๋ณด๊ดํ๊ณ ์๋ก์ด ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์ ์ฌํ๋ ์์ ์ ๋งํ๋ค.
- PID(ํ๋ก์ธ์ค ์๋ณ์), PS(ํ๋ก์ธ์ค ์ํ), PC(ํ๋ก๊ทธ๋จ ์นด์ดํฐ)๋ฑ์ ํ๋ก์ธ์ค ์ ๋ณด๊ฐ ์์ต๋๋ค.
- PCB๋? ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ํ๋ก์ธ์ค ๊ด๋ จ ์ ๋ณด ๋ฐ์ดํฐ ๋ธ๋ก์ผ๋ก ์ค์ผ์ค๋ง ๋ฐ ๋ฌธ๋งฅ๊ตํ์ ํ์ํฉ๋๋ค.
- ๋น์ ์ ๋ฐฉ์์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๊ณ ์๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ
๋นผ์์ง ๋ชปํ๋ ๋ฐฉ์
์ ๋๋ค. ๋น์ ์ ๋ฐฉ์์ CPU๋ฅผ ์ค๊ฐ์ ๊ฐ๋ก์ฑ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ต์๊ฐ ์์ธก์ด ์ฉ์ดํ๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ค์ํ ์์ ์ด ์ค๋ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. - ์ ์ ๋ฐฉ์์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๊ณ ์์ด๋ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ์ค๋ฉด CPU๋ฅผ
๋นผ์์ ์ ์๋ ๋ฐฉ์
์ ๋๋ค. ์ ์ ๋ฐฉ์์ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง ์ฆ์ Context Switching์ผ๋ก ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
- ์ค์ผ์ค๋ง ๋ฐฉ์ ์ค ์๋ถํ ์์คํ
์ ์ํด ์ค๊ณ๋ ์ ์ ๋ฐฉ์์ ์๊ณ ๋ฆฌ์ฆ ์
๋๋ค. ๊ฐ ํ๋ก์ธ์ค๋
๊ฐ์ ํฌ๊ธฐ์ CPU ์๊ฐ์ ํ ๋น
๋ฐ๊ฒ ๋ฉ๋๋ค. ํ ๋น๋ ์๊ฐ ์์ ์์ ์ด ๋๋์ง ์์ผ๋ฉด ํด๋น ํ๋ก์ธ์ค๋ ready ํ์ ๋ค์ด๊ฐ๋ ์ ์ ์ ์ถ ๋ฐฉ์์ ๋๋ค.
- FCFS ๋
๋๊ธฐ ํ์ ๋์ฐฉํ ์์
์ ๋ฐ๋ผ CPU๋ฅผ ํ ๋นํฉ๋๋ค. ๊ทธ๋์ ๊ธด ์์ ์ด ์งง์ ์์ ์ ์ค๋ซ ๋์ ๊ธฐ๋ค๋ฆด ์ ์์ต๋๋ค. - ๋จ์ ์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ค๋น ํ์์ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ํ๋ก์ธ์ค ์ค ๊ฐ์ฅ CPU ์๊ตฌ๋์ด ์ ์ ๊ฒ์ ๋จผ์ ์คํ์์ผ ์ฃผ๋
SJF(Shortest Job First)
๊ฐ ์์ต๋๋ค.
- ๊ต์ฐฉ์ํ๋ ๋ ์ด์์ ํ๋ก์ธ์ค๋ค์ด ์์์ ์ ์ ํ ์ํ์์
์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ ์
ํ๊ณ ์๋ ์์์ ์๊ตฌํ๋ฉฐ ๋ฌดํ์ ๊ธฐ๋ค๋ฆฌ๋ ์ํฉ์ ๋๋ค. - ๊ธฐ์์ํ๋ ๋ณํ ํ๋ก์ธ์ค์์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋๋ฐ์ ํ์์ ์ธ
์์์ ๋์์์ด ์ฌ์ฉํ์ง ๋ชปํ๋ ์ํฉ
์ ๋๋ค.
- aging์ด๋ ํ๋ก์ธ์ค์
๋๊ธฐ ์๊ฐ์ ๋น๋กํ๋ ๋์ ์ฐ์ ์์
๋ฅผ ๋ถ์ฌํ์ฌ ๊ฐ๊น์ด ์๊ฐ ์์ ์์์ ํ ๋นํ๋ ๊ธฐ๋ฒ์ ๋๋ค. - Priority ์ค์ผ์ค๋ง์์ ๊ธฐ์ ์ํ ๋ฐ ๋ฌดํ์ ๋๊ธฐ๋ฅผ ์์ด์ง์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค.
- ๋ด๋ถ ๋จํธํ๋ ํ๋ก์ธ์ค๊ฐ
ํ์ํ ์๋ณด๋ค ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น
๋์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ญ๋น๋๋ ๊ฒ์ ๋งํฉ๋๋ค. - ์ธ๋ถ ๋จํธํ๋ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ๋งํผ
์ถฉ๋ถํ ๊ณต๊ฐ์ด ์กด์ฌํ์ง๋ง ๊ณต๊ฐ์ด ์ชผ๊ฐ์ด์ ธ์
ํ๋ก์ธ์ค๋ฅผ ๋ฃ์ ์ ์๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ๊ฐ์๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด์ฉํ์ฌ ๋ด๋ถ ๋จํธํ ๊ธฐ๋ฒ์ ํด๊ฒฐํ๋ ์ธ๊ทธ๋ฉํ
์ด์
๊ณผ ์ธ๋ถ ๋จํธํ๋ฅผ ํด๊ฒฐํ๋ ํ์ด์ง ๊ธฐ๋ฒ์ด ์์ต๋๋ค.
- Segmentation์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ๋ ผ๋ฆฌ์ ์ธ ๋ธ๋ก ๋จ์์ธ ์ธ๊ทธ๋จผํธ๋ก ๋ถํ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฒ์ ๋๋ค.
- Paging์ ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํฌ๊ธฐ์ธ ํ์ด์ง๋ก ์๋ผ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๋ฐฉ์์ ๋๋ค.
- ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๊ฒ๋๋ฉด ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์ฐ์์ ์ด์ด์ผ ํ๋ค๋ ์ ์ฝ์ ์์ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ ์ ์์ต๋๋ค.
- โ๏ธ ํ์ง๋ง ๊ทธ๋งํผ Mapping ๊ณผ์ ๋ํ ๋์ด๋๊ธฐ ๋๋ฌธ์ Trade-Off ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณดํต ํ์ด์ง ๋จ์์ ์๋ง๊ฒ ๊ฝ์ฑ์ ์ฐ๋๊ฒ ์๋๋ฏ๋ก ๋ด๋ถ ๋จํธํ ๋ฌธ์ ๋ ์ฌ์ ํ ์์ต๋๋ค.
- FIFO(First In First Out)๋ ๊ฐ์ฅ ๊ฐ๋จํ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๋จผ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ด์จ ํ์ด์ง ์์๋๋ก ํ์ด์ง ๊ต์ฒด ์์ ์ ๋จผ์ ๋๊ฐ๊ฒ ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- OPT(OPTimal replacement)๋ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ์ฐพ์ ๊ต์ฒดํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- LRU(Least Recently Used)๋ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ ์ค ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ์ ํํ์ฌ ๊ต์ฒดํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋๋ค.
- ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด์กฐํ์ฌ ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฌ๋ผ์ค์ง ์๋๋ผ๋ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ํด์ฃผ๋ ์ญํ ์ ๋๋ค.
- Page fault๋ ์ง๊ธ ์คํ์์ผ์ผ ํ Page๊ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์์ง ์๋ ๊ฒ์ ๋งํฉ๋๋ค.
- Page Fault ๋ก ์ธํ I/O ์์ ์ CPU ์ ํจ์จ์ฑ์ ๋ฎ์ถ๊ฒ ๋ฉ๋๋ค.
- ์๊ตฌ ํ์ด์ง์ด๋ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋๋ค.
- ํ๋ก๊ทธ๋จ ์คํ ์์ ์์ ํ๋ก๊ทธ๋จ ์ ์ฒด๋ฅผ ๋์คํฌ์์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๋ ๋์ , ์ด๊ธฐ์ ํ์ํ ๊ฒ๋ค๋ง ์ ์ฌํ๋ ์ ๋ต์ ์๊ตฌ ํ์ด์ง์ด๋ผ๊ณ ํฉ๋๋ค.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์คํ
์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ํ๋ก์ธ์ค ์คํ์ ์ค์ ํ์ํ ํ์ด์ง๋ค๋ง ๋ฉ๋ชจ๋ฆฌ๋ก ์ฝ์ด์ด์ผ๋ก์จ, ์ฌ์ฉ๋์ง ์์ ํ์ด์ง๋ฅผ ๊ฐ์ ธ์ค๋ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ ์ค ํ๋์ ๋๋ค. ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ฌ๋ค์ด๊ธฐ ์ํ ๊ณต๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์กฑํ๋ค๋ฉด ํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ๋ก์ธ์ค๋ค์ ๋ด๋ณด๋ด๊ณ (swap out), ์ํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ฌ๋ค์ด๋ (swap in) ๋ฐฉ์์ ๋๋ค.
๐ก ํ์ด์ง ์ ์ค๋ฅ ์ ๊ทน๋ํ ์ํค๊ธฐ ์ํ ๋ฐฉ๋ฒ์๋ ๋ฌด์์ด ์๋์ง ๊ฐ๋ตํ ์ค๋ช ํด์ฃผ์ธ์.
- ํ์ด์ง ์ ์ค๋ฅ ์ ๋์ด๊ธฐ ์ํด ์ง์ญ์ฑ์ ์ฌ์ฉํฉ๋๋ค.
- ํ ๋ฒ ์ฐธ์กฐ๋ ๋ฉ๋ชจ๋ฆฌ ์์ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ ํ๋ฅ ์ด ๋๋ค๋ ๊ณต๊ฐ ์ง์ญ์ฑ๊ณผ ์ต๊ทผ์ ์ฐธ์กฐ๋ ์ฃผ์ ๋ด์ฉ์ ๊ณง ๋ค์์ ๋ค์ ์ฐธ์กฐ๋๋ค๋ ์๊ฐ ์ง์ญ์ฑ์ด ์์ต๋๋ค.
- ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ CPU์ ์ฒ๋ฆฌ์๋์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ๊ทผ ์๋ ์ฐจ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ๊ณ ์ Buffer Memory์ ๋๋ค.
- ์ปค๋์
ํ๋์จ์ด์ ์์ฉ ํ๋ก๊ทธ๋จ ์ฌ์ด์์ ์ธํฐํ์ด์ค
๋ฅผ ์ ๊ณตํ๋ฉฐ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํ๋์จ์ด์์๋ถํฐ ์ค๋ ์์์ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ ํ ์ ์๊ฒ ํด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค.
- CPU์ I/O์ ์๋ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์ธํฐ๋ฝํธ๊ฐ ํ์ํฉ๋๋ค.(์ ์ถ๋ ฅ ์ฐ์ฐ์ด CPU ๋ช ๋ น ์ํ์๋๋ณด๋ค ํ์ ํ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋๋ค.)
- CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ์์ ๋, ์ ์ถ๋ ฅ ํ๋์จ์ด ๋ฑ์ ์ฅ์น๋ ์์ธ์ํฉ์ด ๋ฐ์ํ์ฌ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ์ ๋ฐ์ํฉ๋๋ค.
- ์ธํฐ๋ฝํธ๋ ์ธ๋ถ ์ธํฐ๋ฝํธ, ๋ด๋ถ ์ธํฐ๋ฝํธ, ์ํํธ์จ์ด ์ธํฐ๋ฝํธ 3๊ฐ์ง๋ก ๋๋ ์ ์์ต๋๋ค.
- ์ธ๋ถ์ธํฐ๋ฝํธ, ๋ด๋ถ์ธํฐ๋ฝํธ, ์ํํธ์จ์ด ์ธํฐ๋ฝํธ ์์ผ๋ก ์ธํฐ๋ฝํธ์ ์ฐ์ ์์๊ฐ ๋์ต๋๋ค.
- ์ธ๋ถ ์ธํฐ๋ฝํธ๋ ํ๋์จ์ด๊ฐ ๋ฐ์์ํค๋ ์ธํฐ๋ฝํธ์ ๋๋ค. ex) CPU๊ฐ ์๋ ๋ค๋ฅธ ํ๋์จ์ด ์ฅ์น๊ฐ CPU์ ์์ฒญํ๋ ๊ฒฝ์ฐ
- ๋ด๋ถ ์ธํฐ๋ฝํธ๋ CPU ๋ด๋ถ์์ ์ธํฐ๋ฝํธ์ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ ๋ฐ์ํฉ๋๋ค. ex) Divide by Zero
- ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ์ํํธ์จ์ด๊ฐ ๋ฐ์์ํค๋ ์ธํฐ๋ฝํธ๋ฅผ ๋งํฉ๋๋ค. ex)์์คํ ์ฝ
- CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค.
- ์ธํฐ๋ฝํธ ์์ฒญ์ด ๋ค์ด์ต๋๋ค.
- CPU๋ ํ๋ก๊ทธ๋จ์ ์ค๋จํ๊ณ ๋ค์ ์คํํ ๋ช ๋ น์ด์ ํ์ฌ ์ํ๋ฅผ PCB ๋ธ๋ก์ ์ ์ฅํฉ๋๋ค.
- ISR(Interrupt Service Routine)์ ์คํํฉ๋๋ค.
- ์ธํฐ๋ฝํธ ์ข ๋ฃ ํ ๊ธฐ์กด ์ํ๋ฅผ ๋ณต๊ตฌํฉ๋๋ค.
- ํ๋ก๊ทธ๋จ์ ๊ณ์ ์คํํฉ๋๋ค.
๐ก ์์คํ ์ฝ์ด๋ ๋ฌด์์ด๋ฉฐ ์์คํ ์ฝ์ ์ฌ์ฉํ๋ ์์๋ฅผ ๋งํด์ฃผ์ธ์. โ๏ธ
- ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฒญ์ ๋ฐ๋ผ ์ปค๋์ ์ ๊ทผํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ ๋๋ค.
- ์ฌ์ฉ์ ๋ชจ๋์์ ์์คํ ์ฝ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์๋ฅผ ํตํด I/O ์์ฒญ์ปค๋ ๋ชจ๋๋ก ์ ํ ํ ์ปค๋์ I/O ๊ด๋ฆฌ์์ ์ํด ์ฅ์น ๋๋ผ์ด๋ฒ์ ์์ฒญ์ฅ์น ๋๋ผ์ด๋ฒ์์ ๋ฐ์ ๊ฐ์ ์ปค๋์ ์ ๋ฌ๋ฐ์ ๊ฐ์ ์ปค๋์ด ์ฌ์ฉ์์๊ฒ ์ ๋ฌ์ฌ์ฉ์ ๋ชจ๋๋ก ์ ํ fork(),exec()
- ์ฌ์ฉ์ ๋ชจ๋์์ malloc ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ฒญ โ System call์ปค๋ ๋ชจ๋๋ก ์ ํ ํ ๋ฉ๋ชจ๋ฆฌ๊ฐ์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ. ์ฌ์ฉ์ ๋ชจ๋๋ก ์ ํ
cp in.txt out.txt
์์ in.txt ํ์ผ์ ์ ๊ทผํ ์ ์๋์ง ๊ฒ์ฌํ๊ธฐ ์ํด ์์คํ ์ฝ์ ํธ์ถํฉ๋๋ค. ๋ง์ฝ ํ์ผ์ด ์กด์ฌํ์ง ์๋๋ค๋ฉด ์๋ฌ๋ฐ์, ์ข ๋ฃ ํ ๋๋ ์์คํ ์ฝ์ด ์ฌ์ฉ๋ฉ๋๋ค.
- ์์คํ ์ ์ค์ํ ์ํฅ์ ๋ฏธ์น๋ ์ฐ์ฐ์ ์ปค๋ ๋ชจ๋์์๋ง ์คํ ๊ฐ๋ฅํ๋๋ก ํจ์ผ๋ก์จ ํ๋์จ์ด์ ๋ณด์์ ์ ์งํ๊ธฐ ์ํด์ ์ ๋๋ค.
- ์ปค๋ ์์ค ์ค๋ ๋๋ ์ปค๋์ด ์ง์ ์ค๋ ๋๋ฅผ ์ ๊ณตํด ์ฃผ๊ธฐ ๋๋ฌธ์ ์์ ์ฑ๊ณผ ๋ค์ํ ๊ธฐ๋ฅ์ด ์ ๊ณต๋ฉ๋๋ค. ๋ํ ์ปค๋์ด ๊ฐ ์ค๋ ๋๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ๋จ์ ์ ์ ์ ๋ชจ๋์์ ์ปค๋ ๋ชจ๋๋ก ์ ํ์ด ๋น๋ฒํ๊ฒ ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด ์ ํ๋ฉ๋๋ค.
- ์ฌ์ฉ์ ์์ค ์ค๋ ๋๋ ์ปค๋ ๋ชจ๋/์ ์ ๋ชจ๋ ๊ฐ ์ ํ์ด ์ผ์ด๋์ง ์๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋ ์ ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. ๋ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ด์์ฑ์ด ๋๊ณ ์ ์ฐํ ์ค์ผ์ค๋ง์ด ๊ฐ๋ฅํฉ๋๋ค. +) ์ด์์ฒด์ ์์ ์ค๋ ๋๋ฅผ ์ง์ํ ํ์๊ฐ ์์ต๋๋ค.
- ๋ฐ๋ฉด, ํ๋์ ์ค๋ ๋๊ฐ ๋ธ๋ก๋๋ฉด ์ ์ฒด ํ๋ก์ธ์ค๊ฐ ๋ธ๋ก๋๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
- pc์ ์ ์์ด ๋ค์ด์จ ํ ์ด์์ฒด์ ๊ฐ ์คํ๋๊ธฐ ์ ๊น์ง์ ๊ณผ์ ์ ๋งํฉ๋๋ค.
- ๋ฆฌ๋
์ค ๋ถํ
์ 0๋จ๊ณ๋ถํฐ 4๋จ๊ณ๊น์ง ์์ต๋๋ค. ๋ค์์ ์์๋ก ์งํ๋ฉ๋๋ค.
- ์ ์ ๊ณต๊ธ
- BIOS ๋จ๊ณ
- ROM์ ํ์ฌ๋
BIOS
๊ฐ ํค๋ณด๋๋ ์คํฌ๋ฆฐ์ ๋ถํ ์ ํ์์ ํ์ํ ํ๋์จ์ด์ ๊ฐ ์ฅ์น๋ค์ ์ธ์ํ๊ณ ์ด๊ธฐํ ํ๋ ๋จ๊ณ์ ๋๋ค.
- ROM์ ํ์ฌ๋
- ๋ถํธ๋ก๋ ๋จ๊ณ
- ์ปค๋ ๋ก๋ฉ
- init ํ๋ก์ธ์ค
- ์ปดํจํฐ์์ ํ์ผ์ ์ฝ๊ฒ ์ ๊ทผํ ์ ์๋๋ก ๊ด๋ฆฌํ๋ ์ฒด์ ๋ฅผ ๋งํฉ๋๋ค.
- CISC๋ RISC์ ๋นํด ์ฐ์ฐ์ ์ฒ๋ฆฌ๋๋ ๋ณต์กํ ๋ช ๋ น์ด๋ค์ ํ์ฌํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ๋ ฅ์๋ชจ๊ฐ ํฌ๊ณ ์๋๊ฐ ๋๋ฆฝ๋๋ค. ๋ค๋ง, RISC๋ CISC์ ๋นํด ํ๋์จ์ด๊ฐ ๊ฐ๋จํ ๋์ ๋ช ๋ น์ด๋ค์ ์กฐํฉํ๊ธฐ ๋๋ฌธ์ ์ํํธ์จ์ด๊ฐ ๋ณต์กํด ์ง ์ ์์ต๋๋ค.
- ๋ง์ ํ๋ก์ธ์๊ฐ CISC๋ก ๊ตฌ์ถ๋์ด ์์ด ๋ชจ๋ RISC๋ก ๋ณ๊ฒฝํ๊ธฐ์๋ ๋ง์ ๋น์ฉ์ด ์๋ชจ๋๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๋, ํธํ์ฑ์ด RISC๋ณด๋ค ๋์ต๋๋ค.
- ์บ์๋ cpu์ ๋ณ๋๋ก ์๋ ๊ณต๊ฐ์ด๋ฉฐ, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ cpu ๊ฐ์ ์๋ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ ๊ฒ์ ๋๋ค.
- ๋ ์ง์คํฐ๋ cpu ์์์ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์
๋๋ค.
- ํ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ๊ฐ์๋งํผ ๋ฉ๋ชจ๋ฆฌ ํ์ ๋ง๋ค์ด ๋๊ณ , ํ์ํ ๋๋ง๋ค ์ฌ์ฉํ๊ณ ๋ฐ๋ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๋จํธํ ํด๊ฒฐ ๊ธฐ๋ฒ์
๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๊ณผ ํด์ ๊ฐ ์ฆ์ ๊ฒฝ์ฐ ์ฐ๋ฉด ํจ๊ณผ์ ์ ๋๋ค.
- ํ์ํ ํฌ๊ธฐ๋งํผ ํ ๋น์ ํด๋๊ธฐ ๋๋ฌธ์ ๋ด๋ถ ๋จํธํ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
- ๋ฏธ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํด๋๊ณ ๊ฐ์ ธ๋ค ์ฐ๊ณ ๋ฐ๋ฉํ๊ธฐ ๋๋ฌธ์ ์ธ๋ถ ๋จํธํ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๊ณผ ํด์ ๊ฐ ์ฆ์ ๊ฒฝ์ฐ ์ฐ๋ฉด ํจ๊ณผ์ ์ด์ง๋ง ๋ฉ๋ชจ๋ฆฌ ํ์ ๋ง๋ค๊ณ ์ฌ์ฉํ์ง ์์๋ ๊ณ์ ํ ๋น์ ํด๋์ผ๋ฏ๋ก ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋จํธํ๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ณด๋ค ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ ํฌ๋ค๋ฉด ์ฌ์ฉํ์ง ์๋๊ฒ ๋ซ์ต๋๋ค.