์ปดํจํฐ ์์คํ ์ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋จ ์คํ(System Structure & Program Execution)
ํ๋ก๊ทธ๋จ๋ค์ด ํ๋์จ์ด ์์์ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง...
์ปดํจํฐ์์คํ ์ ๊ตฌ์กฐ
์ปดํจํฐ ์์คํ ์ ๋ ๊ฐ์ง ๋ถ๋ถ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๋ณดํต ํธ์คํธ ์ปดํจํฐ๋ผ๊ณ ๋งํ๋ CPU ์ Memory ๋ก ๊ตฌ์ฑ๋ ์ฅ์น์ Disk, ๋ชจ๋ํฐ, ํค๋ณด๋ ๋ฑ ๋ฐ์ดํฐ์ ์ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ง๋ I/O device ์ด๋ค.
Memory
Memory ๋ CPU์ ์์ ๊ณต๊ฐ์ด๋ค. CPU๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋งค clock time ๋ง๋ค ๊ธฐ๊ณ์ด(๋ช ๋ น์ด)๋ฅผ ์ฝ์ด์ ์์ ์ ์ํํ๋ค. ์ฌ์ค CPU๊ฐ ํ๋ ์ผ์ ์ด๋ ๊ฒ Memory ์์ ๋ช ๋ น์ด๋ฅผ ์ฝ๊ณ ์คํํ๋ ๊ฒ ๋ฟ์ด๋ค. ์ด ์์ ๊ฒฐ๊ณผ๋ Output device ์ธ ๋ชจ๋ํฐ, ํ๋ฆฐํฐ๋ก ์ถ๋ ฅ๋๊ณ ๋ช ๋ น ์ํ์ ํ์ํ ๋ฐ์ดํฐ๋ Disk, ํค๋ณด๋ ๋ฑ์์ ์ ๋ ฅ๋ฐ๋๋ค. Disk ๋ ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ดํ๋ Output device ์ญํ ๋ ์ํํ๋ค.
์ฐธ๊ณ ๋ก CPU ๋ด๋ถ์๋ Memory ๊ณต๊ฐ์ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ PC(Program counter) ๊ฐ ์๊ณ , ์ฌ๊ธฐ์ ๋ค์ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ ์ฝ๋๋ค.
I/O device
๊ฐ๊ฐ์ I/O device ๋ ๊ทธ๊ฒ๋ค์ ๊ด๋ฆฌ/ํต์ ํ๋ ์์ CPU ์ญํ ์ ํ๋ ๊ฒ์ด ๋ถ์ด์๋๋ฐ, ์ด๊ฒ์ device controller ๋ผ๊ณ ํ๋ค. ์ฆ, I/O device๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ์ปดํจํฐ์ CPU๊ฐ ์๋๋ผ ์ด device controller ๊ฐ ๋ด๋นํ๋ค. ๋ ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์ฒ๋ผ ์ด device contoller ๊ฐ ์์ ํ๋ ๊ณต๊ฐ์ธ local buffer ๋ ์๋ค. ์ด๋ ๊ฒ ๋ณ๋๋ก ๊ด๋ฆฌํ๋ ์ด์ ๋ CPU์ I/O device ์ฌ์ด ์๋ ์ฐจ์ด๊ฐ ๋ง์ด ๋๊ธฐ ๋๋ฌธ์ด๋ค.(CPU๋ ๋นจ๋ฆฌ๋นจ๋ฆฌ ์ผ ์ํํ๊ณ ๋ค์์ผ๋ก ๋์ด๊ฐ์ผ ํ๋๋ฐ ๊ณ์ I/O device ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋๊ฑด ๋นํจ์จ์ ์ด๋ฏ๋ก..)
Interrupt
CPU ๋ ๋ฉ๋ชจ๋ฆฌํ๊ณ ๋ง ๋ฉ์ถ์ง ์๊ณ ๊ณ์ ์ผํ๋ค. ์ด๋ค ํ๋ก๊ทธ๋จ์ ๋๋ฆฌ๋ค๊ฐ I/O ์์ ์ด ํ์ํ๋ค๊ฑฐ๋, time sharing ์ ์ํด ์ฃผ์ด์ง timer๊ฐ ๋๋ ํ ๋ค์ ํ๋ก๊ทธ๋จ์ ๋๋ฆฐ๋ค๊ฑฐ๋ ํ๋ ์์ ์ ํ๋ ค๋ฉด ์ ๊น ๋ฉ์ถฐ๋ณด๋ผ๊ณ Interrupt ๋ฅผ ๊ฑธ์ด์ค์ผ ํ๋ค. ์ด Interrupt ๋ฅผ ๊ฑฐ๋ ํต๋ก๋ฅผ Interrupt line ์ด๋ผ๊ณ ํ๋ค. CPU๋ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ธฐ ์ ์ ์ด Interrupt line ์ ์ฒดํฌํ๋ค.
์ด Interrupt ๊ฐ ๊ฑธ๋ ธ์ ๋ I/O ์ฅ์น์ device controller ์๊ฒ ๋ช ๋ น์ ์ ๋ฌํ๊ณ , I/O ์ฅ์น์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ค ํ๋ก๊ทธ๋จ์๊ฒ copyํด์ฃผ๊ณ , timer ๊ฐ ๋๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋๋ฆฌ๋ ์์ ์ ํ๋ผ๊ณ CPU์๊ฒ ์์ฒญํ๋ ์ฃผ์ฒด๊ฐ ๋ฐ๋ก ์ด์์ฒด์ ๋ค.
์ธํฐ๋ฝํธ๊ฐ ๊ฑธ๋ฆฌ๋ฉด ์ธํฐ๋ฝํธ ๋นํ ์์ ์ PC(๋ค์์ ์คํํ ๋ช ๋ น์ด) ๋ฅผ saveํ๊ณ CPU์ ์ ์ด๋ฅผ ์ธํฐ๋ฝํธ ๋ฃจํด์๊ฒ ๋๊ธด๋ค. ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด(Interrupt Service Routine) ์ ํด๋น ์ธํฐ๋ฝํธ๋ฅผ ์ค์ ๋ก ์ฒ๋ฆฌํ๋ ์ปค๋ ํจ์๋ค. ์ด ์ปค๋ ํจ์์ ์ฃผ์๋ ์ธํฐ๋ฝํธ ๋ฒกํฐ๊ฐ ๊ฐ์ง๊ณ ์๋ค.
Mode bit
์ด๋ ๊ฒ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ๊ณผ ์ด์์ฒด์ ๊ฐ ํ๋ ์ผ์ด ๋ค๋ฅด๋ค. ์๋ฅผ ๋ค์ด, I/O ์์ ์ ๋ณด์์์ ์ด์ ๋ก ์ด์์ฒด์ ๊ฐ ์ฒ๋ฆฌํ๋๋ก ํด๋จ์ผ๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ฒ๋ฆฌํด์ ์ ๋๋ค. ๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ ๊ทผํ๋ฉด ์ ๋๋ค. ์๋ฐฉ ๊ฐ ์์ ์ ์ํฅ์ ๋ผ์น์ง ์๊ฒ ํ๊ธฐ ์ํด ์ง๊ธ CPU๊ฐ ์คํํ๊ณ ์๋ ๊ฒ์ด ์ด์์ฒด์ ์ธ์ง ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ธ์ง ์๋ ค์ฃผ๋ ๊ฒ์ด ํ์ํ๋ค. ์ด๊ฒ ๋ฐ๋ก Mode bit ์ด๋ค.
Mode bit ์ด 0์ด๋ฉด ์ด์์ฒด์ ์ฝ๋๋ฅผ ์ํํ๊ณ 1์ด๋ฉด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ํํ๋ค. Interrupt ๋ Exception ์ด ๋ฐ์ํ๋ฉด ์ด Mode bit ์ 0์ผ๋ก ๋ฐ๊พธ๊ณ , OS ๊ฐ ์ฒ๋ฆฌํ๊ณ ๋ ํ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ๋๊ธธ ๋ Mode bit ์ 1๋ก ๋ฐ๊พผ๋ค. ์ฐธ๊ณ ๋ก OS ์ฝ๋๋ฅผ ์ํํ๋ ๊ฒ์ ๋ชจ๋ํฐ ๋ชจ๋(=์ปค๋ ๋ชจ๋, ์์คํ ๋ชจ๋)๋ผ๊ณ ํ๊ณ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ฒ์ ์ฌ์ฉ์ ๋ชจ๋๋ผ๊ณ ํ๋ค.
DMA(Direct Memory Access)
๋๋ฌด ์ฆ์ Interrupt ๊ฐ ๊ฑธ๋ฆฌ๋ฉด CPU ์ฑ๋ฅ์ด ์ ํ๋ ๊ฒ์ด๋ค. I/O ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋๋์๋ง์ byte ๋จ์๋ก ๋งค๋ฒ ์ฌ๋ฆฌ๋ ๊ฒ ์๋๋ผ, DMA ๋ผ๋ ๋ถ๋ถ์ด CPU์ ์ค์ฌ ์์ด I/O device ์ local buffer ๋ด์ฉ์ ์ง์ ๋ฉ๋ชจ๋ฆฌ์ block ๋จ์๋ก ์ ์กํ๊ณ ๋ฑ ํ๋ฒ๋ง Interrupt ๋ฅผ ๊ฑด๋ค. memory controller ๋ CPU์ DMA Contoller ๊ฐ ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ์ง ๋ชปํ๊ฒ๋ ๊ด๋ฆฌํ๋ ๋ถ๋ถ์ด๋ค.
์ ์ถ๋ ฅ(I/O) ์ ์ํ
์ ์ถ๋ ฅ ์์ ์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ํ๋ ๊ฒ์ด ์๋, ์ด์์ฒด์ ๊ฐ ํ๋ ํน๊ถ ๋ช ๋ น์ด๋ค. ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด I/O๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ด์์ฒด์ ์๊ฒ ์์ฒญํ๋๋ฐ, ์ด๊ฒ์ ์์คํ ์ฝ(system call) ์ด๋ผ๊ณ ํ๋ค. ์ ํํ๊ฒ ๋งํ๋ฉด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ์ปค๋ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ด๋ค. ์ด๊ฒ์ ์ผ๋ฐ ํจ์ ํธ์ถ์ฒ๋ผ ์ด๋ฃจ์ด์ง๋ ๊ฒ์ด ์๋, Interrupt ๋ฅผ ํตํด ์ด๋ฃจ์ด์ง๋ค.
Interrupt ๋ ๋ณดํต ํ๋์จ์ด์ ์ธํฐ๋ฝํธ๋ฅผ ๋งํ๊ณ , ์ํํธ์จ์ด๊ฐ ๊ฑด Interrupt ๋ Trap ์ด๋ผ๊ณ ํ๋ค. ํ๋ก๊ทธ๋จ ์ค๋ฅ(Exceoption) ์ด๋ System call ์ด Trap ์ด๋ค.
๋๊ธฐ์ ์ ์ถ๋ ฅ(Synchronous I/O)
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์๊ฒ ์ ์ถ๋ ฅ์ ์์ฒญํ๊ณ , ์ด๊ฒ์ด ๋๋ ๋๊น์ง ์๋ฌด ๊ฒ๋ ํ์ง ์๊ณ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด๋ค. ์ ์ด๊ฐ ์๋ฃ๋๋ฉด Interrupt ๋ก ์๋ ค์ฃผ๊ณ ๊ทธ์ ์์ผ CPU ์ ์ด๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ ๋์ด๊ฐ๋ค. ์ด๋ค ์์ ์ ํ๊ธฐ ์ํด Disk ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์์ผํ๋๋ฐ, ์ด๊ฒ์ด ์์ผ๋ฉด ๊ทธ ๋ค์ ์์ ์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ณดํต์ ๋ฐ์ดํฐ ์ฝ๊ธฐ์ ๊ฒฝ์ฐ ๋๊ธฐ์์ผ๋ก ์ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ง๋ค.
์ด๋ I/O ์์ ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ฉด CPU๊ฐ ๋ญ๋น๋๊ณ ๋งค ์์ ํ๋์ I/O ๋ง ์ผ์ด๋ ์ ์์ผ๋ฏ๋ก I/O device ๋ ๋ญ๋น๋๋ค. ์ด๋ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณดํต์ ๋ง๋ฅ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ ๋๊ฒจ์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋๋ค.
๋น๋๊ธฐ์ ์ ์ถ๋ ฅ(Asynchronous I/O)
์ ์ถ๋ ฅ์ด ์งํ๋๋ ๋์ ์๋ฃ๋๊ธฐ๋ ์ ์ CPU ์ ์ด๊ฐ ๋ฐ๋ก ์ฌ์ฉ์ ํ๋ก์ธ์ค์๊ฒ ๋์ด๊ฐ ๋ค๋ฅธ ์์ ์ ์ํํ๋ ๊ฒ์ด๋ค. ์ ์ถ๋ ฅ ์์ ์ด ๋๋๋ฉด ๋ง์ฐฌ๊ฐ์ง๋ก Interrupt ๋ก ์๋ ค์ฃผ๊ณ ๋ค์ ์ธํฐ๋ฝํธ ๊ฑธ๋ฆฐ ์์ ์ ์ํํ๋ค. ๋ฐ์ดํฐ๋ฅผ Disk ์ ๋ณด๊ดํ ๋๋ ๊ทธ ๋ค์ ์์ ์ ์ํฅ์ด ์๊ธฐ ๋๋ฌธ์ ๋น๋๊ธฐ์์ผ๋ก ์ด๋ฃจ์ด์ ธ๋ ๋๋ค.
์ ์ฅ์ฅ์น ๊ณ์ธต ๊ตฌ์กฐ
CPU์ ๊ฐ๊น์ธ ์๋ก ์๋๊ฐ ๋น ๋ฅด๊ณ ๋น์ธ๊ณ ๊ณต๊ฐ์ด ์ ๋ค. Secondary ๋ ๋ณดํต ์ ๋ณด๊ฐ ์ปดํจํฐ๊ฐ ์ข ๋ฃ๋์ด๋ ์ ์ง๋๋ ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ด๊ณ , Primary ๋ ์ปดํจํฐ๊ฐ ์ข ๋ฃ๋๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ๋ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ตฌ์ฑ๋๋ค.
์ด๋ ๊ฒ Disk ๋ ์๋๊ฐ ๋๋ฆฌ๊ณ CPU๋ ์๋๊ฐ ๋น ๋ฅด๋, Main Memory์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋ CPU์์ ์๋๋ฅผ ๋ง์ถ๊ธฐ ์ํด Cache Memory ๋ฅผ ์ฌ์ฉํ๊ณ CPU ๋ด๋ถ์ ์๋ ์ ์ฅ๊ณต๊ฐ์ธ Registers ์์ ์ฝ๋๋ค. ์๋์ฐจ์ด ๊ทน๋ณต ๋ฟ๋ง ์๋๋ผ, Cache Memory ์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ๋ ์ดํ ์ฌ์ฌ์ฉํ ์ ์์ด์ ๋ค์ Memory ์์ ์ฝ์ด์ค๋ ๊ฒ ์๋๋ผ Cache Memory ์์ ์ฝ์ผ๋ฉด ๋ ๋นจ๋ฆฌ ์ํํ ์ ์๋ค. ์ด๊ฒ์ Caching ์ด๋ผ๊ณ ํ๋ค.
ํ๋ก๊ทธ๋จ์ ์คํ(๋ฉ๋ชจ๋ฆฌ load)
๋ณดํต ํ๋ก๊ทธ๋จ์ ์คํ ํ์ผ ํํ๋ก ํ๋๋์คํฌ์ ์ ์ฅ๋์ด ์๊ณ ์คํ๋๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๊ฒ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ ์ฌ๋ผ๊ฐ ๋๋ 0๋ถํฐ ์์ํ๋ ๊ทธ ํ๋ก๊ทธ๋จ๋ง์ ๋ ์์ ์ธ Address space ๊ฐ ํ์ฑ๋๋ค. code๋ CPU๋ฅผ ์คํํ๋ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ ๋ด๊ฒจ ์๋ ๋ถ๋ถ์ด๊ณ data ๋ ํ๋ก๊ทธ๋จ์ด ์คํํ๋ ์ ์ญ ๋ณ์๋ฅผ ๋ด๊ณ ์๋ค. stack ์ ๋ณ์๋ ํจ์๋ฅผ ํธ์ถํ ๋ ํ๋ํ๋ ์์ผ๋ฉฐ ํธ์ถ ์์๋ฅผ ์ ์ดํ๋ค. ์ด Address space ์ ์ฒด๋ฅผ memory ์ ์ฌ๋ฆฌ๋ฉด ๊ณต๊ฐ ๋ญ๋น๊ฐ ๋๋ ๋น์ฅ ์คํ์ ํ์ํ ๋ถ๋ถ๋ง ๋ฝ์ ์ฌ๋ฆฌ๊ณ ํ์ํ์ง ์๋ ๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฅ์ ์ธ Swap area๋ก ๋ด๋ฆฐ๋ค. ์ด๋ฌํ ๊ธฐ๋ฒ๊ณผ Address space ๋ฅผ ํตํ์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐฉ์์ด๋ผ๊ณ ํ๋ค. ์ฐธ๊ณ ๋ก Swap area ๋ ํ๋ฐ์ฑ์ด๋ค.
Memory ์์ 1000๋ฒ์ง๊ฐ Address space ์์๋ 100๋ฒ์ง์ผ ์ ์์ผ๋ฏ๋ก ๋์ Mapping ๋์ด์ผ ํ๋ค. ์ด๊ฒ์ Address translation ์ด๋ผ๊ณ ํ๊ณ ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ํ๋์จ์ด ๋ถ๋ถ์ด ๋ฐ๋ก ์กด์ฌํ๋ค. Address space ์ ์ฃผ์๋ฅผ ๋ ผ๋ฆฌ์ ์ธ ์ฃผ์๋ผ๊ณ ํ๊ณ ๊ทธ ํ๋ก๊ทธ๋จ์ ํจ์, ๋ณ์๋ฅผ ๋งํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ Memory ์ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์๋ผ๊ณ ํ๋ค.
์ปค๋ ์ฃผ์ ๊ณต๊ฐ(Kernel Address space)์ ๋ด์ฉ
์ด์์ฒด์ ๋ ์ฌ์ค์ ํ๋์ ํ๋ก๊ทธ๋จ์ด๋ฏ๋ก Address space ๋ฅผ ๊ฐ์ง๋ค. code ๋ถ๋ถ์๋ ์ด์์ฒด์ ๊ฐ ํ๋ ์ฒ๋ฆฌ์ ๊ด๋ จ๋ code ๋ค(์์คํ ์ฝ, ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ์ฝ๋ ๋ฑ)์ด ๋ค์ด ์๋ค. data ์๋ ์ด์์ฒด์ ๊ฐ ์ฌ์ฉํ๋, CPU/memory/disk ๋ฑ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ๋ค์ด ์ ์ฅ๋์ด ์๋ค. ๋ ์ฌ๊ธฐ์ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํด, ๋ค์ ํ๋ก์ธ์ค์๊ฒ CPU ์ ์ด๋ฅผ ๋๊ธฐ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ์ธ PCB(Process Control Block) ๋ ์กด์ฌํ๋ค. ์ด์์ฒด์ ๋ ํจ์ ๊ตฌ์กฐ๋ก ์ฝ๋๊ฐ ์ง์ฌ์ ธ ์์ผ๋ฏ๋ก stack ๋ถ๋ถ์ด ์กด์ฌํ๋ค. ์ด stack ์ ์ด๋ค ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ด๋ค ์ปค๋ ์ฝ๋๋ฅผ ์คํํ๋์ง๋ฅผ ๋ด์ผ ํ๋ฏ๋ก ํ๋ก์ธ์ค๋ง๋ค ์ปค๋ ์คํ์ ๋ฐ๋ก ๋๋ค.
ํ๋ก๊ทธ๋จ ์คํ
์ ์ฌ์ง์ ํ๋ก๊ทธ๋จ์ ์์๋ถํฐ ์ข ๋ฃ๊น์ง์ ๊ณผ์ ์ ๋ด๊ณ ์๋ค. user mode ์ผ ๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ ์ฃผ์๊ณต๊ฐ์ ์ฝ๋๋ค์ด ์คํ๋๋ค๊ฐ system call์ด ๋ฐ์ํ๋ฉด kernel mode ๋ก ์ ํ๋๊ณ kernel ์ฃผ์ ๊ณต๊ฐ์ ์ฝ๋๋ค์ด ์คํ๋๋ค. ์์คํ ์ฝ์ด ๋๋๋ฉด ๋ค์ CPU ์ ์ด๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ผ๋ก ๋์ด๊ฐ๊ณ ์ด๊ฒ ํ๋ก๊ทธ๋จ์ด ๋๋ ๋๊น์ง ๋ฐ๋ณต๋๋ค.