Operating System ์ด์์ฒด์ ๋ ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ , ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํ๋์จ์ด ์ฌ์ด์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ค. ๋ํ ํ๋ก๊ทธ๋จ์ด ์์คํ ์์์ ์ ๊ทผํ๊ณ ์ ํ ๋ ๊ถํ์ ๊ฐ์ง๊ณ ์๋์ง๋ฅผ ํ์ ํ๋ค. ํ๋ก์ธ์ค์ ์ค๋ ๋ ํ๋ก์ธ์ค : ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์์ ์์ผ๋ฉฐ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๋ค. ์ค๋ ๋ : ํ๋์ ํ๋ก์ธ์ค์ ์์์ ๊ณต์ ํ๋ฉฐ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋ ์ ์๋ ์์ ๋จ์์ด๋ค. ํ๋ก์ธ์ค๋ ํ๋ก์ธ์ค ๋ณ๋ก ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น๋ฐ์ผ๋ฉดCode, Data, Heap, Stack์ผ๋ก ๊ตฌ๋ถ ๋๋ค. Code : ํจ์, ์ ์ด๋ฌธ, ์์ ๋ฑ์ ํ ๋นํ๋ ์์ญ. Data : Global Variable, Static Variable, Array๊ฐ ํ ๋น๋๋ ์์ญ. Heap : ๋์ ํ ๋น๋ ๋ณ์๊ฐ ํ ๋น๋๋ ์์ญ. Stack : Loca..
ํ๋ ๋์คํฌ๋ ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๋์คํฌ Access Time์ Seek time + Rotational delay + Transfer time์ผ๋ก ๊ณ์ฐํ ์ ์๋ค. ๋ฐ๋ผ์ ํ๋ ๋์คํฌ์ ํ์ ํ๋ ํน์ฑ์ ๊ณ ๋ คํ์ฌ ์์ฒญ๋ ์์ ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค๋ฉด, ์์ ์ฒ๋ฆฌ ์๊ฐ์ ๊ฐ์ ์ํฌ ์ ์์ ๊ฒ์ด๋ค. ๋์คํฌ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ FCFS (First-Come First-Served) : ๊ฐ์ฅ ๋จผ์ ์์ฒญ๋ ์์ ์ ๋จผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ SSTF (Shortest Seek Time First) : ์์ฒญ๋ ์์ ์ค ํค๋์ ์์ง์์ด ๊ฐ์ฅ ์งง๊ฒ ์์ง์ด๋ ์์ ๋ถํฐ ์ฒ๋ฆฌํ๋ ๋ฐฉ์ SCAN : ์๋ ๋ฒ ์ดํฐ ์ฒ๋ผ ํ๋ฐฉํฅ์ผ๋ก ํ์์ ํ๊ณ , ๋ค์ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ํ์์ ํ๋ ๋ฐฉ์ C-SCAN : SCAN ์๊ณ ๋ฆฌ์ฆ์์ ..
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด์๋ ํ๋ ์ ํ ๋น์ ์ด๋ป๊ฒ ํ๋๋๊ฐ ์ค์ํ๋ค. ์ด์ ํ๋ ์ ํ ๋น ์ ์ค์๋๋ ๊ด์ ์ ๋ค์๊ณผ ๊ฐ๋ค. ์ต์ ํ๋ ์ ์ : ํ๋ก์ธ์ค์ ์ต์ํ์ผ๋ก ํ ๋น๋๋ ํ๋ก์ ์๋ ์์คํ ์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ฉฐ, ์๋ชป๋ ์ต์ ํ๋ ์ ์๋ ์ข์ง ์๋ ์ฑ๋ฅ์ ์ผ๊ธฐํ๋ค. ํ ๋น ์ ์ฑ ๊ท ๋ฑ ํ ๋น : ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๊ท ๋ฑํ๊ฒ ํ๋ ์์ ํ ๋น ๋ฐ๋๋ค. ๋น๋ก์ ํ ๋น : ์ฐ์ ์์์ ๋น๋กํ์ฌ ํ๋ ์์ ํ ๋นํ๋ค. Global, Local Allocation Global Allocation : ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ํ์ด์ง ๊ต์ฒด์ ๋์์ด ๋ ์ ์๋ค. Local Allocation : ํน์ ํ๋ก์ธ์ค ํ์ด์ง์ ๋ํด์๋ง ๊ต์ฒด ๋์์ผ๋ก ์ ์ ํ๋ค. ์ฐ๋ ์ฑ ์ด์ ์ ๋ด์ฉ๋ค์ ๋ณด๋ฉด, ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์กฑ์ผ๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋์ด, p..
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ, ํจ์จ์ ์ผ๋ก ํ์ด์ง๋ฅผ ๊ต์ฒดํ๊ฑฐ๋ ๋นํจ์จ์ ์ผ๋ก ํ์ด์ง๊ฐ ๊ต์ฒด ๋ ์ ์๋ค. ์ด์ ํ์ด์ง๋ฅผ ๊ต์ฒดํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์๋ณด๊ณ ์ ํ๋ค. FIFO Algorithm ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋จผ์ ํ ๋น๋ ํ์ด์ง๋ฅผ ํ ๋น ํด์ ํ๋ ๋ฐฉ์์ด๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ์์ผ๋ก ์ด๊ธฐํ ๊ณผ์ ์ ์ฝ๋๋ ๋ ์ด์ ๋ถํ์ํ ๊ฒ์ด๋ผ๋ ์์ด๋์ด๋ก ์ค๊ณ๋์๋ค. ํ์ง๋ง ๋์ฒด๋ก ํจ์จ์ ์ด์ง ์๋ค. ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ด FIFO ๋ฐฉ์์ผ๋ก ํ์ด์ง๋ฅผ ๊ด๋ฆฌํ๊ฒ ๋๋ฉด, ํ์ด์ง ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋จผ์ ์ถ๊ฐ๋ ๊ฐ ๋ถํฐ ์ญ์ ๋๋ ๊ฒ์ ์ ์ ์๋ค. FIFO ๋ฐฉ์์ผ๋ก ์ ๋ ฅ๋๋ ๊ฐ์ ๋ํ page fault ๋ฐ์ ํ์๋ 15์ด๋ค. ๋จ์ํ ์ฝ์ ๋ ์์์ ๋ฐ๋ผ page-out์ ํ๊ฒ ๋๋ฏ๋ก, ์ง์์ ์ผ๋ก ์ฌ์ฉํ๋ ํ์ด์ง์ ๋ํด์ ๋น๋ฒํ๊ฒ pag..
๋ถ์กฑํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋์ ํ์ฌ, ์๋์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ณต๊ฐ์ด ํฐ ๋ณด์กฐ ์ ์ฅ์ฅ์น(HDD, SSD)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ด๋ค. ํ๋ฒ์ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๋ถ๋ถ์ ์ ์ฌํ๋ ๊ฒ์ด ์๋, ํ์ฌ ์์ ์ฒ๋ฆฌ์ ํ์ํ ๋ถ๋ถ๋ง ์ ์ฌํ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ ์ฌ์ฉ์ค์ด์ง ์์ ๋ถ๋ถ์ ๋ณด์กฐ ์ ์ฅ์ฅ์น๋ก ๋ณด๋ด์ด ๊ณต๊ฐ์ ํ๋ณดํ๋ค. Demanding Paging Demanding Paging์ ๊ทธ๋ฆผ 2์ ๊ฐ์ด ํ์ด์ง ํ ์ด๋ธ์ valid/invalid๋ฅผ ํตํด ํ๋จ๋์ด page in์ ํ ์ง ๊ฒฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ด์ง ํ ์ด๋ธ์ valid์ธ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ณ ์ ํ๋ ์ ๋ณด๊ฐ ํ ๋น๋ ์ํ์ฌ์ page in์ ํ ํ์๊ฐ ์๋ค. ์ด์ ๋ฌ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ณ ์ ํ๋ ์ ๋ณด๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด, page in์ ํตํด ๋ฐ์ดํฐ๋ฅผ..
ํ์ด์ง์ ๊ฒฝ์ฐ ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํ ํฌ๊ธฐ๋ก ๋๋์ด ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ๋ค. ์ด์ ๋ฌ๋ฆฌ ์ธ๊ทธ๋จผํ ์ด์ ์ ํ๋ก์ธ์ค๋ฅผ ์ผ์ ํ ํฌ๊ธฐ๋ก ๋๋๋ ๊ฒ์ด ์๋ ๊ฐ๋ณ์ ์ผ๋ก ๋๋์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ค. ๋ฐ๋ผ์ ๊ฐ๋ณ์ ์ธ ํฌ๊ธฐ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์งํ๊ณ ํ๋ํ๊ธฐ ์ํด ์ธ๊ทธ๋จผํธ ํ ์ด๋ธ์ ์ ์งํ์ฌ์ผ ํ๋ค. ๊ทธ๋ฆผ 1๊ณผ ๊ฐ์ด ์ธ๊ทธ๋จผํธ ํ ์ด๋ธ์ ํ์ด์ง ํ ์ด๋ธ๊ณผ ๋ค๋ฅด๊ฒ ์ธ๊ทธ๋จผํธ ๋ฒํธ์ ์์ ์ฃผํธ(base), ์ธ๊ทธ๋จผํธ ํฌ๊ธฐ(limit)๋ฅผ ์ํธ๋ฆฌ๋ก ๊ฐ๋๋ค. ๋ณดํธ ์ธ๊ทธ๋จผํ ์ด์ ์ ํ์ด์ง๊ณผ ๋ฌ๋ฆฌ code, data, stack ์์ญ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๊ฐ๋ณ์ ์ผ๋ก ๋ถํ ํ ์ ์๋ค. ์ด๋ ํ์ด์ง ๋ฐฉ์์ ๋นํด ์ฅ์ ์ด ๋๋ค. ์๋ฅผ ๋ค์ด ์ค์ํ code ์์ญ ์ผ๋ถ๋ถ์ด ์๋ ค์ ํ์ด์ง ๋๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ, code ์์ญ์ ๋ฐ๋ผ ๊ฐ๋ณ์ ์ผ๋ก ์ธ๊ทธ๋จผํธ๋ฅผ ๋ง๋ค๊ฒ ๋๋ค๋ฉด, ๋ณดํธ ์ธก๋ฉด์์ ๋ณด..
์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ํตํด ๋ฉ๋ชจ๋ฆฌ ๋จํธํ(์ธ๋ถ ๋จํธํ)๊ฐ ๋ฐ์ํ๋ฉฐ, ๋ฐ๋ณต๋ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ฉ์ ํจ์จ์ฑ์ ์ ํดํ๋ค. ๋ฐ๋ผ์ ํ๋ก์ธ์ค๋ฅผ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ํ ๋นํ์ง ์๊ณ ํ๋ก์ธ์ค๋ฅผ ์์ ํฌ๊ธฐ๋ก ๋๋ ์ฌ๋ฌ ๋ถ๋ถ์ ํ ๋นํจ์ผ๋ก์จ, ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํ์๋ค. ์ด๋ฅผ ํ์ด์ง(Paging)์ด๋ผ๊ณ ํ๋ค. ์ฃผ์ ๋ณํ (Address Translation) ํ๋ก์ธ์ค๊ฐ ์ค์ ๋ฉ๋ชจ๋ฆฌ์์๋ ๋ถ๋ฆฌ๋ ๊ณต๊ฐ์ ํ ๋น๋์ง๋ง, CPU๋ ์ฐ์๋ ๊ณต๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ์ฌ ์ฌ์ฉํ๋ ๊ฒ ์ฒ๋ผ ๊ด๋ฆฌํ๋ค. ์ด๋ MMU๋ฅผ ํตํด ๋ ผ๋ฆฌ ์ฃผ์์ ๋ฌผ๋ฆฌ ์ฃผ์๋ฅผ ๋๋์ด๋์๊ธฐ์ ๊ฐ๋ฅํ๋ค. ํ๋ก์ธ์ค๋ ์ฐ์๋ ๋ ผ๋ฆฌ ์ฃผ์(Logical Address)๋ฅผ ๊ฐ์ง์ง๋ง, ๋ถ๋ฆฌ๋ ๋ฌผ๋ฆฌ ์ฃผ์(Physical Address)๋ฅผ ๊ฐ์ง๋ฉฐ ํ์ด์ง ํ ์ด๋ธ(Page Table..
์์ ๋ด์ฉ๋ค์ ํ๋ก์ธ์ค ๊ด๋ฆฌ ์ค, CPU์ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ค์ผ์ค๋ง ํ๊ฑฐ๋ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ํด ์์๋ณด์๋ค. ํ๋ก์ธ์ค๋ ๋ณด์กฐ ์ ์ฅ์ฅ์น(HDD, SSD. etc.)์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ์ ์คํํ๋ ๊ฒ์ด๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ๋ณด์กฐ ์ ์ฅ์ฅ์น์ ๋นํด ์๋์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ์์, ํ๋ก์ธ์ค ๋ณ๋ก ํจ์จ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํ๋ ๊ฒ์ ์ค์ํ๋ค. ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ์ฌ ๊ณผ๊ฑฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํฌ๊ธฐ๋ 16MB, 32MB์ ๊ฐ์ด ์ง๊ธ์ ์์ํ ์๋ ์์ ์ ๋๋ก ์๋นํ ์์๋ค. ์ด์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์๋์ ์ผ๋ก ์ ์ฅ๊ณต๊ฐ์ด ํฐ ๋ณด์กฐ ์ ์ฅ์ฅ์น๋ฅผ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์๋ค. ๋์ ์ ์ฌ (Dynamic Loading) ํ๋ก๊ทธ๋จ ์ค ์ ์ฌ ํ ๋ฐ๋ก ์คํ๋์ง ์๋ ๋ถ๋ถ๋ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ฒ์ ์ ์ฌํ๊ฒ ๋๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ์ ์ง๋ฉดํ ..