728x90
Bootstrap program(Bootstrop loader)
- ์ปดํจํฐ๊ฐ ๋ถํ ํ ๋ ๋๋ ์ฌ๋ถํ ํ ๋ ๋์๊ฐ๋ ํ๋ก๊ทธ๋จ
- ROM ๋๋ EEPROM์ ์ ์ฅ๋์ด์๋ค. ์ด๋ค์ firmware์ด๋ผ๊ณ ํ๋ค.
- RAM์ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ, ROM์ ์ ๊ธฐ๊ฐ ๊บผ์ ธ๋ ์ ์ฅ๋์ด์๋ ๋ฉ๋ชจ๋ฆฌ๋ค. EEPROM์ ROM์ ์ข ๋ฅ ์ค ํ๋์ด๋ค.
- firmware์ hardware์ software์ ์ค๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด๋๋ค. hardware๋ ์์ ์ด ์ด๋ ต๊ณ , software์ ์์ ์ด ์ฝ๋ค๋ฉด, firmware์ ํ๋์จ์ด ์ฅ๋น๊ธด ํ๋ฐ, ์ํํธ์จ์ด์ฒ๋ผ ์์ ๋ ์ฝ๋ค
- ์์คํ ์ ๋ชจ๋ ๊ด์ ์์ ์ด๊ธฐํ๋ฅผ ์งํํ๋ค.(=POST(Power On Self Test)๋ฃจํด์ ์คํํ๋ค). CPU๊ฐ ์๋์๊ฐ๋์ง, ๋ฉ๋ชจ๋ฆฌ์ ์์๊ฑฐ ๋ค ์๋์ง..๋ฑ๋ฑ ์ ์ ํ์ฒดํฌํ๋ค!
- ์ด์์ฒด์ ์ปค๋์ ์์น๋ฅผ ์์๋ด์ POST๋ฃจํด์ ์คํํ๋ฉฐ ์ด์์ฒด์ ๋ฅผ ๋ก๋ฉ์ ํ๊ณ ์คํํ๋๊ฒ ๊น์ง๊ฐ Bootstrap program์ ์ญํ ์ด๋ค.
- two step ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์น๋ค.
- BIOS๊ฐ Boot sector๋ก ์คํ๊ถํ์ ๋๊ฒจ์ฃผ๊ณ , Boot sector๊ฐ ์ค์ ์ด์์ฒด์ ๊ฐ ์ ์ฅ๋์ด ์๋ ๊ณต๊ฐ์ผ๋ก ์ ํ๋ฅผ ํด์ ์ด๋ ๊ฒ ํฌ์คํ !(BIOS -> boot sector -> OS location)
์ปดํจํฐ ์์คํ ์ ์กฐ์ง
- ์ปดํจํฐ ์์คํ ์ ๊ฐ ๊ตฌ์ฑ์์๋ค์ ์ฐ๊ฒฐํ๋ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค๋ฅผ bus๋ผ๊ณ ํ๋ค.
- ํ๋ ๋๋ ๊ทธ ์ด์์ CPU์ ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ๋ common bus๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ common bus๋ฅผ ํตํด ๊ณต์ ํ๋ค.
- common bus๋ ํ๋์ ์ ํธ๋ฐ์ ๋ชป ๋๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ฐ์ด์ค๊ฐ bus๋ฅผ ์ฌ์ฉํ๊ธฐ์ ์ '๋ด๊ฐ bus๋ฅผ ์ฌ์ฉํ๊ฒ ๋ค!' ๋ผ๋ ์ ํธ๋ฅผ ๋ฏธ๋ฆฌ ์ค์ผํ๋ค
์ปดํจํฐ ์์คํ ์ ์ผ๋ฐ์ ์ธ ์์ ๊ณผ์
- CPU์ I/O์ฅ๋น๋ค์ ๋์์ ์คํ๋๋ค(common bus ๋ฅผ ์ด์ฉํ๋ค๋๊ฒ ์๋๋ผ, ์ฅ์น๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ๋ญ๊ฐ ํ๊ณ ์๋๊ฑธ ๋งํ๋๊ฑฐ๋ค)
- CPU๋ ๋ฐ์ดํฐ๋ฅผ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๊ฐ์ ธ์ค๊ธฐ๋, ์ฃผ๊ธฐ๋ ํ๋ค.
- CPU๋ ๊ธฐ๊ฐ๋ฐ์ดํธ๋ก ์์ ํ๊ณ , ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ๊ฐ๋ฐ์ดํธ๋ก ์์ ํ๊ธฐ ๋๋ฌธ์ ๋์ ์๋์ฐจ์ด๊ฐ ๋๋ฌด ํฌ๋ค. ๊ทธ๋์ ๊ทธ ์ฌ์ด์ ๋ก์ปฌ ๋ฒํผ๋ฅผ ๋๋ค. CPU๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฒํผ์ ์ ์ฅํด๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ฑฐ๋ ์ค๋ค. ๋ฉ์ธ๋ฉ๋ชจ๋ฆฌ์์ CPU๋ ๋ง์ฐฌ๊ฐ์ง
- I/O์ฅ๋น(๋ํ์ ์ธ ์๋ก ์ ์ฅ์. ์ ์ฅ์๋ ํค๋ก๋ฐ์ดํธ๋ก ์์ ํ๋ค)๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค๋ฅธ ๋๋ฐ์ด์ค๋ค ์ฌ์ด์ ๋ก์ปฌ ๋ฒํผ๋ฅผ ๋ฌ์ ์์ ํ๋ค.
๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ
- ๊ฐ๊ฐ์ ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ๋ ๋ก์ปฌ๋ฒํผ๋ฅผ ๊ฐ์ง๋ค
- ๋๋ฐ์ด์ค ์ปจํธ๋กค๋ฌ๋ CPU์๊ฒ ์ด๋ค์์ ์ด ๋๋ฌ๋ค๋๊ฒ์ ์๋ ค์ค๋ค. ๊ทธ ์๋ ค์ฃผ๋ ์์ ์ 'interrupt'๋ผ๊ณ ํ๋ค.
- device : ์ฅ์น (ex : CD-ROM)
- device drive : ์ฅ์น๋ฅผ ๋์ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ์ํํธ์จ์ด ํํธ (ex : CD-ROM drive)
- deivice controller : ์ฅ์น๋ฅผ ๋์ํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ํ๋์จ์ด ํํธ(ex : CD-ROM drive๋ฅผ ๋์ํ๊ฒ ํ๊ธฐ์ํ ์ฌ๋ฌ๊ฐ์ง ํ๋์จ์ด ๊ตฌ๋์)
- ์์์ํฉ : ์ ๋ฌธ๊ฐ์ฉ ๋ง์ฐ์ค๊ฐ ์๋ค.(device) ์ด ๋ง์ฐ์ค๋ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด ์์ฃผ ๋ง์ ๋ฒํผ๋ค์ด ๋ฌ๋ ค์๋ค(device controller). ์ปดํจํฐ์ ์ด ์ ๋ฌธ๊ฐ์ฉ ๋ง์ฐ์ค๋ฅผ ๊ฝ์๋ดค์ ์ฐํด๋ฆญ,์ขํด๋ฆญ,ํ ๊ธฐ๋ฅ ๋นผ๊ณ ๋ค๋ฅธ ๋ฒํผ์ ๊ธฐ๋ฅ์ ์๋ํ์ง ์์๊ฒ์ด๋ค. ๋ง์ ๋ฒํผ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ์ํด ์ด ๋ง์ฐ์ค์ device driver๋ฅผ ์ปดํจํฐ์ ๊น์์ผํ๋ค.
Interrupt
- interrupt vector table(IVT)๋ฅผ ํตํด์ interrupt service routine(ISR)์ด ์ด๋์ ์๋์ง ์ฃผ์๋ฅผ ๋๊ฒจ์ค์ ์ ์ด๋ฅผ ์ค๋ค
- ISR : ๋๋ฐ์ด์ค์ ์ ํธ๋ฅผ CPU๊ฐ ๋ฐ์ผ๋ฉด CPU๊ฐ ์ฃผ๋ ์ ํธ์ ๋ง๋ ์ก์
- IVT : Interrupt ์ข ๋ฅ์ ๋ํด ๋ค ์ ๋ฆฌํด์ ๋ชจ์๋ ผ ํ ์ด๋ธ. ๋ฒกํฐํํ๋ค
- interrup ๋ฐ์์ ์ด๋ป๊ฒ ์๋๋๋?
- CPU๊ฐ ์ด๋ค Aํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ์๋ ์ํ์์ intterupt๊ฐ ๋ฐ์๋๋ฉด, IVT์ ๊ฐ์ ์ด๋ค interrupt์ธ์ง ํ์ธํ๋ค
- vector table์ด ๊ฐ์ง๊ณ ์๋ ํฌ์ธํฐ ์ ๋ณด๋ฅผ ํตํด์ ISR๋ก ์ ํํ๊ณ , interrupt handler๊ฐ ์๋น์ค ๋ฃจํด์ ์คํํ๋ค
- ์ ์ด๋ฅผ ๋ค์ CPU์ ๋๋ ค์ฃผ๋ฉด CPU๊ฐ ๋ค์ Bํ๋ก์ธ์ค๋ฅผ ์คํํ๋ค. ๋ค์ ํ๋ก์ธ์ค๊ฐ ์์ผ๋ฉด ์ง๊ธ ํ๊ณ ์๋ Aํ๋ก์ธ์ค๋ฅผ ๊ณ์ํด์ ์คํํ๋ค.
- interrupt ๋นํ๊ณณ์ ์ ์ฅํด์ผํ๋ค. interrupt ๋นํ๊ณ ๋๋๋ฉด ๋ค์ ๋์์ฌ ์ง์ ์ ์์์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
- interrupt๋ฅผ ์คํ์ค์ ๋ interrupt๋ฅผ ๋นํ๋ค๋ฉด interrupt priority๋ฅผ ์ฐธ๊ณ ํด์ interrupt๋ฅผ ์์๋๋ก ์คํํ๋ค. ์ฐ์ ์์๊ฐ ๋์ interrupt๊ฐ ๋ค์ด์๋ค๋ฉด ์ฐ์ ์์ ๋์ interrupt๋ถํฐ ์คํํ๊ณ , ์ฐ์ ์์๊ฐ ๋ฎ์ interrupt๊ฐ ๋ค์ด์๋ค๋ฉด ์ผ๋จ ์ง๊ธ ํ๊ณ ์๋ interrupt๋ถํฐ ์ฒ๋ฆฌํ๊ณ , ์ค๊ฐ์ ๋ค์ด์๋ interrupt๋ ๋์ค์ ์ฒ๋ฆฌํ๋ค.
- interrupt priority : interrupt ์ฐ์ ์์
- trap : ์ํํธ์จ์ด๊ฐ ๋์ฐ๋ interrupt (์ : Exception Handling, system call)
- ์ด์์ฒด์ ๋ interrupt๋ฅผ ํตํด ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค
728x90
'CS ๐ป > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด์์ฒด์ ๊ฐ์ (1) | 2024.04.26 |
---|---|
i-node์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ (3) | 2023.07.27 |
ํ์ผ ์์คํ ๊ณผ ์ ์ฅ์ฅ์น ๊ด๋ฆฌ (0) | 2023.07.22 |
์ด์์ฒด์ ์๊ฐ (0) | 2023.07.22 |