[OS] ์ด์์ฒด์ ์ ์ญํ , ๊ตฌ์กฐ
by rlaehddnd0422์ด์์ฒด์ ๋ ?
- ์ด์์ฒด์ (Operating System, OS)๋ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฝ๊ฒ ๋ค๋ฃจ๊ณ ํด์ฃผ๋ ์ธํฐํ์ด์ค์ ๋๋ค.
- ๋ํ ์ปดํจํฐ ์์คํ ์ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ์ผ์ข ์ ์ํํธ์จ์ด
- EX) Window, MAC OS, Unix, Linux, Android, IOS ๋ฑ
์ด์์ฒด์ ์ ์ญํ
ํฌ๊ฒ ๋ค ๊ฐ์ง๊ฐ ์์ต๋๋ค.
1. CPU ์ค์ผ์ฅด๋ง, ํ๋ก์ธ์ค ๊ด๋ฆฌ
CPU ์์ ๊ถ์ ์ด๋ค ํ๋ก์ธ์ค์๊ฒ ํ ๋นํ ์ง, ํ๋ก์ธ์ค์ ์์ฑ๊ณผ ์ญ์ , ์์ ํ ๋น ๋ฐ ๋ฐํ์ ๊ด๋ฆฌ
2. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๋ค ํ๋ก์ธ์ค์ ์ผ๋งํผ ํ ๋นํด์ผ ํ ์ง ๊ด๋ฆฌ
3. ๋์คํฌ ํ์ผ ๊ด๋ฆฌ
๋์คํฌ ํ์ผ์ ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ๋ณด๊ดํ ์ง ๊ด๋ฆฌ
4. ํ๋์จ์ด ๊ด๋ฆฌ ๋ฐ ํ๋์จ์ด ์ธํฐํ์ด์ค ์ ๊ณต
I/O ๋๋ฐ์ด์ค์ธ ๋ง์ฐ์ค, ํค๋ณด๋์ ์ปดํจํฐ ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๊ด๋ฆฌํ๊ณ ๋ณต์กํ ๊ณผ์ ์์ด ํ๋์จ์ด ์ฅ๋น๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋์จ์ด ์ธํฐํ์ด์ค (= ์ํํธ์จ์ด) ์ ๊ณต
ํ๋ง๋๋ก ์ ๋ฆฌํ๋ฉด ์ด์์ฒด์ ๋ ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ค์์ฒ๋ฆฌ์ฅ์น, ๊ธฐ์ต์ฅ์น, ์ ์ถ๋ ฅ ์ฅ์น๋ผ๋ ์ปดํจํฐ์ ์์์ ์ฌ์ฉ์๊ฐ ํจ์จ์ ์ผ๋ก ํ์ฉํ ์ ์๋๋ก ๊ด๋ฆฌํ๋ ๊ฒฝ์์ ์ญํ ์ ํ๋ ์์คํ ์ํํธ์จ์ด์ ๋๋ค.
์ด์์ฒด์ ์ ๊ตฌ์กฐ
์ ์ ํ๋ก๊ทธ๋จ์ธ ์์ฉํ๋ก๊ทธ๋จ, ์ ํธ๋ฆฌํฐ๊ฐ ๋งจ ์์ ์๊ณ ๊ทธ ๋ค์์ผ๋ก GUI, ์์คํ ์ฝ, ์ปค๋, ๋๋ผ์ด๋ฒ๊ฐ ์์ผ๋ฉฐ ๊ฐ์ฅ ๋ฐ์ ํ๋์จ์ด๊ฐ ์๋ ๊ตฌ์กฐ์ ๋๋ค.
์ฌ๊ธฐ์ GUI, System Call, Kernel, Driver ๋ถ๋ถ์ด ๋ฐ๋ก ์ด์์ฒด์ ๋ฅผ ์ง์นญํฉ๋๋ค. ์ฐธ๊ณ ๋ก GUI๊ฐ ์๊ณ CUI๋ง ์๋ ๋ฆฌ๋ ์ค ์๋ฒ๋ ์์ต๋๋ค.
1. GUI
- ์ฌ์ฉ์๊ฐ ์ ์ ์ฅ์น์ ์ํธ์์ฉ ํ ์ ์๋๋ก ํ๋ ์ธํฐํ์ด์ค
- CUI : ๊ทธ๋ํฝ์ด ์๋ ๋ช ๋ น์ด๋ก ์ฒ๋ฆฌํ๋ ์ธํฐํ์ด์ค
2. System call
- ์ด์์ฒด์ ๊ฐ Kernel์ ์ ๊ทผํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ด๋ฉฐ, ์ ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ์๋น์ค๋ฅผ ๋ฐ๊ธฐ ์ํด ์ปค๋ ํจ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉํฉ๋๋ค.
์ด์์ฒด์ ์์๋ ์ปค๋ ๋ชจ๋, ์ฌ์ฉ์ ๋ชจ๋๋ก ๋๋์ด ๊ตฌ๋๋๋๋ฐ, ํ๋ก๊ทธ๋จ์ด ๊ตฌ๋๋๋๋ฐ ์์ด ํ์ผ์ ์ฝ๊ฑฐ๋ ์ฐ๊ฑฐ๋ ์ถ๋ ฅํ๋ ๋ฑ ๋ง์ ๋ถ๋ถ(I/O ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ)์ด ์ปค๋ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๊ณ , ์์คํ ์ฝ์ ์ด๋ฌํ ์ปค๋ ์์ญ์ ๊ธฐ๋ฅ์ ์ฌ์ฉ์ ๋ชจ๋๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ, ์ฆ ํ๋ก์ธ์ค๊ฐ ํ๋์จ์ด์ ์ง์ ์ ๊ทผํ์ฌ ํ์ํ ๊ธฐ๋ฅ(I/O ์์ฒญ)์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋๋ค.
- ์ฌ์ฉ์ ๋ชจ๋ : I/O ์ ๋ํ ์์ฒญ์ ํ์ธํ๊ณ ์ปค๋ ๋ชจ๋๋ก ๋ณํ ( ์ ์ ๊ฐ ์ ๊ทผํ ์ ์๋ ์์ญ์ ์ ํ์ ์ผ๋ก ๋์ด ์์์ ํจ๋ถ๋ก ์ ๊ทผํ์ง ๋ชปํ๋ ๋ชจ๋)
- ์ปค๋ ๋ชจ๋ : I/O ์ ๋ํ ์ค์ ์ ์ฒ๋ฆฌ ( ๋ชจ๋ ์ปดํจํฐ ์์์ ์ ๊ทผํ ์ ์๋ ๋ชจ๋ )
์ด ๊ณผ์ ์ ํตํด ์ปดํจํฐ ์์์ ๋ํ ์ง์ ์ ๊ทผ์ ์ฐจ๋จํ ์ ์๊ณ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ๋ณดํธํ ์ ์์ต๋๋ค.
ModeBit
- ์์คํ ์ฝ์ modebit๋ ์ฌ์ฉ์ ๋ชจ๋(1)๊ณผ ์ปค๋๋ชจ๋(0) ์ฌ์ด๋ฅผ ์ ํํ๊ธฐ ์ํ ๋นํธ์ ๋๋ค.
- ์ฌ์ฉ์ ๋ชจ๋์์ ์์คํ ์ฝ์ ํธ์ถํ๋ฉด, ์ปค๋ ๋ชจ๋๋ก ์ ํ๋์ด ์์คํ ์ฝ ํจ์๋ฅผ ์คํํ๊ณ , ์คํ์ด ์๋ฃ๋๋ฉด ๋ค์ ์ฌ์ฉ์ ๋ชจ๋๋ก ๋์๊ฐ๋๋ค
- ์ฌ์ฉ์ ๋ชจ๋์์๋ ์์คํ ์ฝ์ ๋ชปํ๋๋ก ๋ง์์ ํ์ ๋ ์ผ๋ง ์ํํ ์ ์์.
- ์ ์ ํ๋ก๊ทธ๋จ์ด ์นด๋ฉ๋ผ๋ฅผ ์ด์ฉํ๋ ค๊ณ ํ๋ค.
- 1. ์ฌ์ฉ์ ๋ชจ๋์์ ์์คํ ์ฝ ํธ์ถํ์ฌ modebit 1 -> 0
- 2. ์ปค๋ ๋ชจ๋์์ ์์์ ์ด์ฉํ ๋ก์ง ์ํ
- 3. modebit 0 -> 1
- 4. ์ฌ์ฉ์ ๋ชจ๋์์ ์ดํ ๋ก์ง ์ํ
3. Kernel
์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ์ด์ System Call ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ฉฐ ๋ณด์, ๋ฉ๋ชจ๋ฆฌ, ํ๋ก์ธ์ค, ํ์ผ์์คํ , I/O ๋๋ฐ์ด์ค, I/O ์์ฒญ ๊ด๋ฆฌ ๋ฑ ์ด์์ฒด์ ์์ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
๋ฐ๋ผ์, ์ปค๋์ ์์ ์ฑ๊ณผ ๋ณด์์ฑ = ์ด์์ฒด์ ์ ์์ ์ฑ๊ณผ ๋ณด์์ฑ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ด์์ฒด์ ์ ์ฒด์ ์์ ์ฑ๊ณผ ๋ณด์์ฑ์ ๊ฒฐ์ ์ง๋ ์ค์ํ ์์
4. Driver
ํ๋์จ์ด๋ฅผ ์ ์ดํ๊ธฐ ์ํ ์ํํธ์จ์ด
'๐ CS > OS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ๋ฉํฐํ๋ก์ธ์ค์ ๋ฉํฐ ์ค๋ ๋์ ์ฐจ์ด์ ์ฅ/๋จ์ (0) | 2024.05.21 |
---|---|
[OS] Process์ ๋ํด ์์๋ณด์. (0) | 2024.05.17 |
[OS] ๋ฉ๋ชจ๋ฆฌ 4 ๊ณ์ธต ๊ตฌ์กฐ / ๋ ์ง์คํฐ, ์บ์, ์ฃผ๊ธฐ์ต์ฅ์น, ๋ณด์กฐ๊ธฐ์ต์ฅ์น (0) | 2024.05.17 |
[OS] ์ธํฐ๋ฝํธ์ ์ข ๋ฅ์ ์ฒ๋ฆฌ๊ณผ์ (0) | 2024.04.02 |
[OS] Process๋ ๋ฌด์์ด๊ณ , Thread์์ ์ฐจ์ด์ ์ ๋ฌด์์ผ๊น? (0) | 2023.08.17 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
Study Repository
rlaehddnd0422