์ด์์ฒด์
์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฝ๊ฒ ๋ค๋ฃจ๊ฒ ํด์ฃผ๋ ์ธํฐํ์ด์ค์ด๋ฉฐ, ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ๋ถ๋ฐฐํ๋ ์ญํ ์ ํจ.
์ฐธ๊ณ ๋ก, ์ด์์ฒด์ ์ ๋น์ทํ์ง๋ง ์ํํธ์จ์ด๋ฅผ ์ถ๊ฐ๋ก ์ค์นํ ์ ์๋ ๊ฒ์ 'ํ์จ์ด(firmware)'๋ผ ํ๋ค.
์ด์์ฒด์ ์ ์ญํ
1. CPU ์ค์ผ์ค๋ง๊ณผ ํ๋ก์ธ์ค ๊ด๋ฆฌ : CPU ์์ ๊ถ์ ์ด๋ ํ๋ก์ธ์ค์ ํ ๋นํ ์ง ํ๋ก์ธ์ค์ ์์ฑ๊ณผ ์ญ์ , ์์ ํ ๋น ๋ฐ ๋ฐํ์ ๊ด๋ฆฌํจ.
2. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ : ํ์ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด๋ค ํ๋ก์ธ์ค์ ์ผ๋งํผ ํ ๋นํ ์ง ๊ด๋ฆฌํจ.
3. ๋์คํฌ ํ์ผ ๊ด๋ฆฌ : ๋์คํฌ ํ์ผ์ ์ด๋ ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ณด๊ดํ ์ง ๊ด๋ฆฌํจ.
4. I/O ๋๋ฐ์ด์ค ๊ด๋ฆฌ : ๋ง์ฐ์ค, ํค๋ณด๋ ๋ฑ๊ณผ ์ปดํจํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๊ด๋ฆฌํจ.
์ด์์ฒด์ ์ ๊ตฌ์กฐ
์ด์์ฒด์ ๋ ์ ์ ํ๋ก๊ทธ๋จ๊ณผ ํ๋์จ์ด ์ฌ์ด์ ์์นํ๊ณ , GUI, ์์คํ ์ฝ, ์ปค๋, ๋๋ผ์ด๋ฒ๋ก ๊ตฌ์ฑ๋๋ค.
์ฐธ๊ณ ๋ก, ๋ฆฌ๋ ์ค ์ด์์ฒด์ ๋ GUI๊ฐ ์๊ณ CUI(Command User Interface)๊ฐ ์๋ค.
* GUI : ์ฌ์ฉ์๊ฐ ์ ์์ฅ์น์ ์ํธ ์์ฉํ ์ ์๋๋ก ํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ํ ํํ๋ก, ๋จ์ ๋ช ๋ น์ด ์ฐฝ์ด ์๋ ์์ด์ฝ์ ๋ง์ฐ์ค๋ก ํด๋ฆญํ๋ ๋จ์ํ ๋์์ผ๋ก ์ปดํจํฐ์ ์ํธ ์์ฉํ ์ ์๋๋ก ํ๋ค.
* CUI : ๊ทธ๋ํฝ์ด ์๋ ๋ช ๋ น์ด๋ก ์ฒ๋ฆฌํ๋ ์ธํฐํ์ด์ค
* ๋๋ผ์ด๋ฒ : ํ๋์จ์ด๋ฅผ ์ ์ดํ๊ธฐ ์ํ ์ํํธ์จ์ด
์์คํ ์ฝ
์์คํ ์ฝ์ด๋ ์ด์์ฒด์ ๊ฐ ์ปค๋์ ์ ๊ทผํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ด๋ค.
์ ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ์๋น์ค๋ฅผ ๋ฐ๊ธฐ ์ํด ์ปค๋ ํจ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉํ๋ค.
ex) ์ ์ ํ๋ก๊ทธ๋จ์ด I/O ์์ฒญ์ผ๋ก ํธ๋ฉ์ ๋ฐ๋ํ๋ฉด, ์ฌ๋ฐ๋ฅธ I/O ์์ฒญ์ธ์ง ํ์ธํ ํ, ์ ์ ๋ชจ๋๊ฐ ์์คํ ์ฝ์ ํตํด ์ปค๋ ๋ชจ๋๋ก ๋ณํ๋์ด ์คํ๋๋ค.
* I/O ์์ฒญ : ์ ์ถ๋ ฅ ํจ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋คํธ์ํฌ, ํ์ผ ์ ๊ทผ ๋ฑ์ ๊ดํ ์ผ
์๋ฅผ ๋ค์ด, ํ์ผ ์์คํ ์ ์ฝ๋ ํจ์์ธ fs.readFile()๊ฐ ์ ์ ํ๋ก๊ทธ๋จ์์ ํธ์ถ๋์๋ค๋ฉด, ์ด๋ ์ ์ ๋ชจ๋์์ ํ์ผ์ ์ฝ์ง ์๊ณ ์ปค๋ ๋ชจ๋๋ก ๋ค์ด๊ฐ ํ์ผ์ ์ฝ๊ณ ๋ค์ ์ ์ ๋ชจ๋๋ก ๋์๊ฐ ๊ทธ ๋ค์ ์๋ ์ ์ ํ๋ก๊ทธ๋จ์ ๋ก์ง์ ์ํํ๋ค.
์ด๋ฌํ ๊ณผ์ ์ ํตํด ์ปดํจํฐ ์์์ ๋ํ ์ง์ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ , ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ๋ณดํธํ ์ ์๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด, ํ๋ก์ธ์ค๋ ์ค๋ ๋์์ ์ด์์ฒด์ ๋ก ์ด๋ค ์์ฒญ์ ํ ๋, ์์คํ ์ฝ์ด๋ผ๋ ์ธํฐํ์ด์ค์ ์ปค๋์ ๊ฑฐ์ณ ์ด์์ฒด์ ์ ์ ๋ฌ๋๋ค.
์์คํ ์ฝ์ ํ๋์ ์ถ์ํ ๊ณ์ธต์ด๋ค. ์ด๋ฅผ ํตํด ์ด๋ค ํ๋์จ์ด๋ ์์ญ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ํ์คํ๋ ๋ฐฉ์์ผ๋ก ์ํํ ์ ์๋ค. ์๋ฅผ ๋ค์ด,
๋คํธ์ํฌ ํต์ ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ๋ฎ์ ๋จ๊ณ์ ์์ญ ์ฒ๋ฆฌ์ ๋ํ ๋ถ๋ถ์ ๋ง์ด ์ ๊ฒฝ ์ฐ์ง ์๊ณ ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ ์ ์๋ ์ฅ์ ์ด ์๋ค.
modebit
์์คํ ์ฝ์ด ์๋ํ ๋, modebit๋ฅผ ์ด์ฉํด์ ์ ์ ๋ชจ๋์ ์ปค๋ ๋ชจ๋๋ฅผ ๊ตฌ๋ถํ๋ฉฐ, modebit๋ 0 ๋๋ 1์ ๊ฐ์ ๊ฐ์ง๋ ํ๋๊ทธ ๋ณ์์ด๋ค.
์ปค๋ ๋ชจ๋๋ 0, ์ ์ ๋ชจ๋๋ 1๋ก ์ค์ ๋๋ค.
์นด๋ฉ๋ผ, ํค๋ณด๋ ๋ฑ I/O ๋๋ฐ์ด์ค๋ ๋ณด์์ ์ํด์ ์ด์์ฒด์ ๋ฅผ ํตํด์๋ง ์๋ํด์ผ ํ๋ค.
์๋ฅผ ๋ค์ด, ์นด๋ฉ๋ผ๋ฅผ ์ผ๋ ํ๋ก๊ทธ๋จ์์ ์ ์ ๋ชจ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์นด๋ฉ๋ผ๊ฐ ์ผ์ง๋ค๋ฉด ์ฌ์ฉ์๊ฐ ์๋ํ์ง ์์๋๋ฐ ๊ณต๊ฒฉ์๊ฐ ์นด๋ฉ๋ผ๋ฅผ ๊ฐ์๊ธฐ ์ผ๋ ๋ฑ ๋ถ๋ฒ์ ์ธ ์ ๊ทผ์ด ์ฝ๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด, ์ฌ์ฉ์ ๋ฐ ํ๋ก์ธ์ค์ ๋ํ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ์ ํํ๋ ์ด์์ฒด์ ๋ฅผ ํตํด์ ์๋ํด์ผ ํ๋ค.
(100% ๋ง์ ์ ์๋ ๊ฑด ์๋์ง๋ง ๋ฐฉ์งํ๊ธฐ ์ฝ๋ค.)
์ด๋ฅผ ์ํ ์ฅ์น๊ฐ ๋ฐ๋ก modebit์ด๋ค.
์ ๊ทธ๋ฆผ์ฒ๋ผ ์ ์ ํ๋ก๊ทธ๋จ์ด ์นด๋ฉ๋ผ๋ฅผ ์ด์ฉํ๋ ค ํ ๋ ์์คํ ์ฝ์ ํธ์ถํ๊ณ modebit๋ฅผ 1์์ 0์ผ๋ก ๋ฐ๊พธ๋ฉด์ ์ ์ ๋ชจ๋์์ ์ปค๋ ๋ชจ๋๋ก ๋ณ๊ฒฝํ ํ์, ์นด๋ฉ๋ผ ์์์ ์ด์ฉํ ๋ก์ง์ ์ํํ๋ค.
์ดํ modebit๋ฅผ 0์์ 1๋ก ๋ฐ๊ฟ์ ์ปค๋ ๋ชจ๋์์ ์ ์ ๋ชจ๋๋ก ๋ณ๊ฒฝํ ์ดํ ๋ก์ง์ ์ํํจ.
* ์ ์ ๋ชจ๋ : ์ ์ ๊ฐ ์ ๊ทผํ ์ ์๋ ์์ญ์ ์ ํ์ ์ผ๋ก ๋๋ฉฐ ์ปดํจํฐ ์์์ ํจ๋ถ๋ก ์นจ๋ฒํ์ง ๋ชปํ๋ ๋ชจ๋
* ์ปค๋ ๋ชจ๋ : ๋ชจ๋ ์ปดํจํฐ ์์์ ์ ๊ทผํ ์ ์๋ ๋ชจ๋
* ์ปค๋ : ์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ์ด์, ์์คํ ์ฝ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ฉฐ ๋ณด์, ๋ฉ๋ชจ๋ฆฌ, ํ๋ก์ธ์ค, ํ์ผ ์์คํ , IO ๋๋ฐ์ด์ค, IO ์์ฒญ ๊ด๋ฆฌ ๋ฑ ์ด์์ฒด์ ์ ์ค์ถ์ ์ธ ์ญํ ์ ํจ.
'CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(๋ฉ๋ชจ๋ฆฌ ํ ๋น) (0) | 2023.08.25 |
---|---|
[์ด์์ฒด์ ] ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ(๊ฐ์ ๋ฉ๋ชจ๋ฆฌ) (0) | 2023.08.24 |
[์ด์์ฒด์ ] ์บ์(Cache) (0) | 2023.07.11 |
[์ด์์ฒด์ ] ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต(Memory Hierarchy) (0) | 2023.07.10 |
[์ด์์ฒด์ ] ์ปดํจํฐ์ ์์ (0) | 2023.07.07 |