๐CS/OS13 [OS] ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ ํ์ด์ง ๋ถ์ฌ ๋ฐ์ → ์๋ก์ด ํ์ด์ง๋ฅผ ํ ๋นํด์ผ ํจ → ํ์ฌ ํ ๋น๋ ํ์ด์ง ์ค ์ด๋ค ๊ฒ ๊ต์ฒดํ ์ง ๊ฒฐ์ ํ๋ ๋ฐฉ๋ฒ Demanding Paging์ ์๊ตฌ๋์ด์ง๋ ํ์ด์ง๋ง backing store์์ ๊ฐ์ ธ์จ๋ค. ํ์ง๋ง ํ๋ก๊ทธ๋จ๋ค์ด ๊ณ์ ์คํํจ์ ๋ฐ๋ผ ์๊ตฌ ํ์ด์ง๋ ๊ณ์ ๋์ด๋๊ณ , ์ธ์ ๊ฐ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ฐ๋ ์ฐจ๊ฒ ๋ ๊ฒ์ด๋ค.(memory full) ์ฌ๊ธฐ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ์๋ก ์คํ๋๊ฑฐ๋ ์คํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ์ด์ง๋ฅผ ์๊ตฌํ๋ค๋ฉด ์ด๋ฏธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ์ด์ง ์ค ํ๋๋ฅผ ๋ค์ backing store์ ๋ณด๋ด๊ณ (page-out), ์๋ก์ด ํ์ด์ง๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค์ผํ๋ค.(page-in) ์ด๋ฅผ ํ์ด์ง ๊ต์ฒด๋ผ๊ณ ํ๋ค. ์ฌ๊ธฐ์ backing store๋ก page-out์ด ๋ ํ์ด์ง๋ฅผ victim page๋ผ๊ณ ํ๋ค. ์๊ตฌ ํ์ด์ง(D.. 2021. 10. 13. [OS] ํ์ด์ง & ์ธ๊ทธ๋จผํ ์ด์ Paging vs Segmentation ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฒ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ์ฆ, ์คํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๊ฐ์์ ๊ณต๊ฐ์ ์ฐธ์กฐํ์ฌ ๋ง์น ์ปค๋ค๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค. ๊ฐ๋จํ๊ฒ ๋งํด ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์๋ ๊ฐ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฃผ๋ ๋ฐฉ์์ด๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๊ฐ ํ๋ก์ธ์ค๋น ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋์ผํ ํฌ๊ธฐ๋ก ํ๋์ฉ ํ ๋น๋๋ค. ๊ทธ ๊ณต๊ฐ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น ๊ณต๊ฐ์ ์ด์ฉํ๋ค. ํ๋ก์ธ์ค์ ์ผ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ๊ณ ๋๋จธ์ง๋ ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ๋๋ ํํ์ด๋ค. ์ด๋ ๊ฒ ํ ๋น๋๋ฉด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น(MMU : memory management unit)์ ์ํด ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณํ๋์ด ์ฌ์ฉ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋งตํ์ด ์ด๋ป๊ฒ ๋๋์ง ์์ํ ํ์ ์์ด ์์์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ์์ ํ๋ค. ๋ด๋ถ .. 2021. 10. 13. [OS] ์์คํ ํธ์ถ(System Calls) ์์คํ ํธ์ถ(System Calls) ์ด์์ฒด์ ๋ ์ปค๋ ๋ชจ๋(Kernel Mode)์ ์ฌ์ฉ์ ๋ชจ๋(User Mode)๋ก ๋๋์ด ๊ตฌ๋๋๋ค. ์ด์์ฒด์ ์์ ํ๋ก๊ทธ๋จ์ด ๊ตฌ๋๋๋๋ฐ ์์ด ํ์ผ์ ์ฝ์ด ์ค๊ฑฐ๋, ํ์ผ์ ์ฐ๊ฑฐ๋, ํน์ ํ๋ฉด์ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ ๋ฑ ๋ง์ ๋ถ๋ถ์ด ์ปค๋ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ค. OS๋ ๋ค์ํ ์๋น์ค๋ค์ ์ํํ๊ธฐ ์ํด ํ๋์จ์ด๋ฅผ ์ง์ ์ ์ผ๋ก ๊ด๋ฆฌํ๋ค. ์ด์ ๋ฐ๋ฉด ์์ฉ ํ๋ก๊ทธ๋จ์ OS๊ฐ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค๋ฅผ ํตํด์๋ง ์์์ ์ฌ์ฉํ ์ ์๋ค. OS๊ฐ ์ ๊ณตํ๋ ์ด๋ฌํ ์ธํฐํ์ด์ค๋ฅผ ์์คํ ์ฝ(System Call) ๋ผ๊ณ ํ๋ค. ์์คํ ์ฝ์ ์ด๋ฌํ ์ปค๋ ์์ญ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ๋ชจ๋๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ, ์ฆ ํ๋ก์ธ์ค๊ฐ ํ๋์จ์ด์ ์ง์ ์ ๊ทผํด์ ํ์ํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋ค. ์์คํ ์ฝ์ ํธํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํ ์๋จ.. 2021. 8. 31. [OS] ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ Code(Text) ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์์ค์ฝ๋๊ฐ ๋ค์ด ๊ฐ๋ ๋ถ๋ถ. ์ฆ, ์คํํ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฅ๋๋ ์์ญ์ผ๋ก ํ ์คํธ(code)์์ญ ์ด๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ์ฝ๋์์ญ์ ์คํ ํ์ผ์ ๊ตฌ์ฑํ๋ ๋ช ๋ น์ด๋ค์ด ์ฌ๋ผ๊ฐ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ํจ์, ์ ์ด๋ฌธ, ์์ ๋ฑ ํจ์์ ๋ํ ๊ธฐ๊ณ์ด ์ฝ๋๊ฐ ์ฌ๊ธฐ์ ์ง์ ๋๋ค. ์ปดํ์ผ ํ์์ ๊ฒฐ์ ๋๊ณ ์ค๊ฐ์ ์ฝ๋๋ฅผ ๋ฐ๊ฟ ์ ์๊ฒ Read-Only ๋ก ์ง์ ๋ผ์๋ค. Data ํ๋ก๊ทธ๋จ์ ์ด๊ธฐ๊ฐ ์๋ ์ ์ญ ๋ณ์, ๋ฐฐ์ด, ์ ์ (static) ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ์ด๋ค. ์ฆ, ํ๋ก๊ทธ๋จ์ด ๊ตฌ๋๋๋ ๋์ ํญ์ ์ ๊ทผ ๊ฐ๋ฅํ ๋ณ์๊ฐ ์ ์ฅ๋๋ ์์ญ์ด๋ค. ์ ์ญ๋ณ์, static ๊ฐ์ ์ฐธ์กฐํ ์ฝ๋๋ ์ปดํ์ผ ํ๊ณ ๋๋ฉด Data ์์ญ์ ์ฃผ์๊ฐ์ ๊ฐ๋ฅดํค๋๋ก ๋ฐ๋๋ค. ๋ฐ์ดํฐ ์์ญ์ ํ๋ก๊ทธ๋จ์ ์์๊ณผ ํจ๊ป ํ ๋น๋๋ฉฐ, ํ๋ก๊ทธ๋จ์ด .. 2021. 8. 23. [OS] ์ธํฐ๋ฝํธ ์ด์์ฒด์ ์ ํ๋์จ์ด ๊ฐ์ ์ํธ๋์(ํด๋ง) ์ด์์ฒด์ ๋ ๋ ์ง์คํฐ(์ํ, ๋ช ๋ น, ๋ฐ์ดํฐ ๋ ์ง์คํฐ)๋ฅผ ์ฝ๊ณ ์ฐ๋ ๊ฒ์ ํตํด ํ๋์จ์ด ์ฅ์น์ ๋์์ ์ ์ดํ ์ ์๊ฒ ๋๋ค. ์ํ(Status) : ํ๋์จ์ด ์ฅ์น์ ํ์ฌ ์ํ๋ฅผ ์ฝ์ ์ ์๋ ๋ ์ง์คํฐ ๋ช ๋ น(Command) : ํ๋์จ์ด ์ฅ์น๊ฐ ํน์ ๋์์ ํ๋๋ก ์์ฒญํ ๋ ์ฌ์ฉ ๋ฐ์ดํฐ(Data) : ํ๋์จ์ด ์ฅ์น์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ฐ๊ฑฐ๋ ํ ๋ ์ฌ์ฉ ์ด์์ฒด์ ์ ํ๋์จ์ด ์ฅ์น ๊ฐ์ ํด๋ง์ ํตํ ์ํธ์์ฉ์ ๋ค์๊ณผ ๊ฐ๋ค. ํด๋ง(Polling)์ ํ๋ค. ํด๋ง(Polling) : ์ด์์ฒด์ ๊ฐ ํ๋์จ์ด ์ฅ์น์ ์ํ ๋ ์ง์คํฐ๋ฅผ ์ฝ์์ผ๋ก์จ ๋ช ๋ น์ ์์ ์ฌ๋ถ๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ๋ ๊ฒ์ด๋ค. ์ฆ, ํ๋์จ์ด์ฅ์น์ ์ํ๋ฅผ ์์๋ก ์ฒดํฌํ์ฌ ๋ช ๋ น์ ๋ฐ์ ์ ์๋์ง ํ์ธํ๋ ๊ฒ์ ๋งํ๋ค. ์ด์์ฒด์ .. 2021. 8. 23. [OS] ํ๋ก์ธ์ค vs ์ค๋ ๋ ํ๋ก๊ทธ๋จ ํ๋ก๊ทธ๋จ์ด๋, ํ์ผ์ด ์ ์ฅ ์ฅ์น์ ์ ์ฅ๋์ด ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ์๋ ์ฌ๋ผ๊ฐ ์์ง ์์ ์ ์ ์ธ ์ํ๋ฅผ ๋งํ๋ค. ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ์คํ๋๊ณ ์๋ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค(๋ ๋ฆฝ์ ์ธ ๊ฐ์ฒด) ํ๋ก๊ทธ๋จ : ์ด๋ค ์์ ์ ์ํด ์คํํ ์ ์๋ ํ์ผ ์ด์์ฒด์ ๋ก๋ถํฐ ์์์ ํ ๋น๋ฐ์ ์์ ์ ๋จ์ ํน์ง ํ๋ก์ธ์ค๋ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ(Code, Data, Stack, Heap์ ๊ตฌ์กฐ)์ ํ ๋น๋ฐ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค๋น ์ต์ 1๊ฐ์ ์ค๋ ๋(๋ฉ์ธ ์ค๋ ๋)๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ๊ฐ ํ๋ก์ธ์ค๋ ๋ณ๋์ ์ฃผ์ ๊ณต๊ฐ์์ ์คํ๋๋ฉฐ, ํ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ์ ์ ๊ทผํ ์ ์๋ค. ํ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์์์ ์ ๊ทผํ๋ ค๋ฉด ํ๋ก์ธ์ค ๊ฐ์ ํต์ (IPC, inter-process communication)์ ์ฌ์ฉํด์ผ.. 2021. 8. 18. [OS] CPU ์ค์ผ์ค๋ง ์ค์ผ์ค๋ง(Scheduling) ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์ด์ ์ฒด์ ์ ๋์ ๊ธฐ๋ฒ์ด๋ค. ์ด์์ฒด์ ๋ ํ๋ก์ธ์ค๋ค์๊ฒ CPU ๋ฑ์ ์์ ๋ฐฐ์ ์ ์ ์ ํ ํจ์ผ๋ก์จ ์์คํ ์ ์ฑ๋ฅ์ ๊ฐ์ ํ ์ ์๋ค. ์ ํ 1๋จ๊ณ ์ค์ผ์ค๋ง : ์ฅ๊ธฐ ์ค์ผ์ค๋ง = ์์ ์ค์ผ์ค๋ง = Job scheduling ์์ ์ด ์์คํ ์ ๋ค์ด์ค๋ ๊ฒ์ ์น์ธ. ํ๋ก์ธ์ค๊ฐ ์ค๋นํ(ready queue)๋ก ๋ค์ด๊ฐ๋ค. 2๋จ๊ณ ์ค์ผ์ค๋ง : ์ค๊ธฐ ์ค์ผ์ค๋ง ํ๋ก์ธ์ค๋ค์ด ํ๋ก์ธ์๋ฅผ ์๋ก ์ฐจ์งํ๋ ค๊ณ ํ ๋ ์ด๋ ํ๋ก์ธ์ค๋ถํฐ CPU๋ฅผ ์ฐจ์งํ ์ ์๊ฒ ํ ์ง ๊ฒฐ์ ํ๋ก์ธ์ค๋ค์ ๋ณด๋ฅ์ํค๊ณ ๋ค์ ํ์ฑํํ๋ ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ(์ค์ํ) ์์คํ ์ ๋ํ ๋จ๊ธฐ์ ์ธ ๋ถํ๋ฅผ ์กฐ์ ํ๋ค. ์ด๋ก์จ ์์คํ ์ ์ ์ ํ ์ด์ํ๋ค. ์ค์์ ์์ ์ ํผํฉ์ ๊ฐ์ ํ๊ฑฐ๋ ํ๋ก์ธ์ค๊ฐ ๊ฐ์ง๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉ.. 2021. 8. 11. [OS] ์ค์ผ์ค๋ฌ์ ์ข ๋ฅ: ์ฅ๊ธฐ, ์ค๊ธฐ, ๋จ๊ธฐ ์ค์ผ์ค๋ฌ ์ฅ๊ธฐ ์ค์ผ์ค๋ฌ(long term scheduler) ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ์ค๋นํ์ ๋ฃ์ ๊ฒ์ธ๊ฐ ๊ฒฐ์ ์์ ์ค์ผ์ค๋ฌ๋ผ๊ณ ๋ ๋ถ๋ฅด๋ฉฐ ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ์ค๋นํ์ ์ฝ์ ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ์ญํ ์ ํ๋ค. ๋์คํฌ์์ ํ๋์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ธ์ ์ปค๋์ ๋ฑ๋กํ๋ฉด ํ๋ก์ธ์ค๊ฐ ๋๋๋ฐ ์ด๋ ๋์คํฌ์์ ์ด๋ค ํ๋ก๊ทธ๋จ์ ๊ฐ์ ธ์ ์ปค๋์ ๋ฑ๋กํ ์ง(์ค๋นํ์ ๋ฑ๋กํ ์ง) ๊ฒฐ์ ํ๋ค. ์ฅ๊ธฐ ์ค์ผ์ค๋ฌ๋ ์์ญ ์ด ๋ด์ง ์ ๋ถ ๋จ์๋ก ๊ฐ๋ ํธ์ถ๋๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์๋๊ฐ ๋๋ฆฐ ๊ฒ์ด ํ์ฉ๋ฉ๋๋ค. ๋ํ ์ฅ๊ธฐ ์ค์ผ์ค๋ฌ๋ ๋ฉ๋ชจ๋ฆฌ์ ๋์์ ์ฌ๋ผ๊ฐ ์๋ ํ๋ก์ธ์ค์ ์๋ฅผ ์กฐ์ ํ๋ ์ญํ ์ ํ๋ค. ํ์ง๋ง ํ๋์ ์๋ถํ ์์คํ ์์ ์ฌ์ฉ๋๋ ์ด์ ์ฒด์ ์๋ ์ผ๋ฐ์ ์ผ๋ก ์ฅ๊ธฐ ์ค์ผ์ค๋ฌ๋ฅผ ๋์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๋ค. ๊ณผ๊ฑฐ์๋ ์ ์ ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ ํ๋ก์ธ์ค๋ค์๊ฒ ํ ๋นํ๋ฉด ํ๋ก์ธ์ค๋น.. 2021. 8. 4. [OS] ๋ธ๋ญ/๋ ผ๋ธ๋ญ, ๋๊ธฐ/๋น๋๊ธฐ ๋ธ๋ญ / ๋ ผ๋ธ๋ญ ํจ์ ํธ์ถ์ ๋ํ ์ด์ผ๊ธฐ ๊ธฐ์ ์ ์ผ๋ก ๋ช ํํ ๊ตฌ๋ถ๋๋ค. ๋ธ๋ก ํจ์ A๋ฅผ ํธ์ถํ์ ๋, ํจ์ A์ ์ํ์ด ๋ชจ๋ ๋๋ ๋ ๊น์ง ๊ธฐ๋ค๋ฆฐ๋ค(๋ธ๋ก). ํจ์A์ ์ํ์ด ๋ชจ๋ ๋๋๊ณ ๋ฆฌํด๋๋ฉด, ํจ์A๋ฅผ ํธ์ถํ ๋ถ๋ถ์ ๋ค์ ๋ถ๋ถ๋ถํฐ ์ด์ด์ ์คํํ๋ค. ๋ ผ๋ธ๋ก ํจ์A๋ฅผ ํธ์ถํ์ ๋, ํจ์A์ ์คํ์ ์์ฒญํ๊ณ ๋ฐ๋ก ๋ฆฌํด๋๋ค(๋ ผ๋ธ๋ก). ๋๊ธฐ / ๋น๋๊ธฐ ํ์์ ๋ํ ์ด์ผ๊ธฐ์ด๋ค. ๊ธฐ์ ์ ์ผ๋ก ๊ตฌ๋ถ๋์ง ์๋๋ค. ์ถ์์ ์ธ ๊ตฌ๋ถ์ด๋ค. ์์ A์ ์์ B๊ฐ ์๋ค๊ณ ํ์. ๋๊ธฐ ์์ A๊ฐ ๋จผ์ ๋ชจ๋ ์ฒ๋ฆฌ๋๊ณ ๋์ ์์ B๊ฐ ์ฒ๋ฆฌ๋๊ธฐ ์์ํ๋ฉด(ํ๋์ฉ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ฉด) ๋๊ธฐ์ด๋ค. ์์ A๊ฐ ์์ B๋ฅผ ๊ด์ฐฐํ๋ ์์ ์ด๋ผ๋ฉด, ์์ A์ ์์ B๊ฐ ๋์์ ์ฒ๋ฆฌ๋๋๋ผ๋ ๋๊ธฐ์ด๋ค. (์ฌ๊ธฐ์ ์์ A์ ์์ B๋ฅผ ์๋ก ๋ฐ๊พธ์ด ์๊ฐํด๋ ๋๊ฐ๋ค.) '๊ด์ฐฐ.. 2021. 7. 28. ์ด์ 1 2 ๋ค์