์ปดํจํฐ ์์คํ ๊ตฌ์กฐ

memory : CPU์ ์์ ๊ณต๊ฐ

local buffer : device ์ ์์ ๊ณต๊ฐ
CPU register : memory๋ณด๋ค ๋น ๋ฅด๊ฒ ์ ๋ณด๋ฅผ ์ ์ฅํ ์ ์๋ ์์ ๊ณต๊ฐ
CPU mode bit : CPU์์ ์คํ๋๋ ๊ฒ์ด ์ด์์ฒด์ ์ธ์ง ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ธ์ง ๊ตฌ๋ถํด์ค
CPU Interrupt line : CPU๋ ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์๋ instruction๋ง ์คํ. ๋ค๋ฅธ I/O์ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌํ ๋ ์ ๊ทผํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋.. ์ง์ ์ ๊ทผ ํ์ง ์์. memory์๋ง ์ํต. I/O ์์ ๋ฌด์ธ๊ฐ ๋ถ๋ฌ์๋ผ ํ๋ ์์ฒญ โ device controller์ ๋ถํ. controller์์ ์ผ ์ฒ๋ฆฌ, buffer์ ์ ์ฅ. CPU๋ ๋ญ ์ํค๊ณ ๋ memeory๋ ์ํต
timer : ํ๋์ ํ๋ก๊ทธ๋จ์ด CPU๋ฅผ ๋ ์ ํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํจ. ํ ๋น๋ ์๊ฐ๋งํผ๋ง ์ฌ์ฉ
dma controller : Direct Memory Access controller . Memory์ ์ ๊ทผํ ์ ์๋ controller. I/O์์ ๋ค์ด์ค๋ interrupt๊ฐ ๋๋ฌด ๋ง์์ CPU๊ฐ ๋ฐฉํด๋ฐ์. DMA๊ฐ ํ๋ฒ์ ๋ชจ์์ CPU์ ์ ๋ฌ โ CPU๊ฐ ๋ฐฉํด๋ฐ๋ ํ์๊ฐ ์ค์ด๋ฌ
Mode bit
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์๋ชป๋ ์ํ์ผ๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ๋ฐ ์ด์์ฒด์ ์ ํผํด๊ฐ ๊ฐ์ง ์๋๋ก ํ๊ธฐ ์ํ ๋ณดํธ ์ฅ์น ํ์
Mode bit์ ํตํด ํ๋์จ์ด์ ์ผ๋ก ๋๊ฐ์ง ๋ชจ๋์ operation ์ง์
1 ์ฌ์ฉ์ ๋ชจ๋ : ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ ์ํ
0 ๋ชจ๋ํฐ ๋ชจ๋ : OS ์ฝ๋ ์ํ
- ๋ณด์์ ํด์น ์ ์๋ ์ค์ํ ๋ช ๋ น์ด๋ ๋ชจ๋ํฐ ๋ชจ๋์์๋ง ์ํ ๊ฐ๋ฅํ โํน๊ถ๋ช ๋ นโ์ผ๋ก ๊ท์
- Interrupt๋ Exception ๋ฐ์์ ํ๋์จ์ด๊ฐ mode bit์ 0์ผ๋ก ๋ฐ๊ฟ
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ๋๊ธฐ๊ธฐ ์ ์ mode bit์ 1๋ก ์ ํ

Timer
ํ์ด๋จธ
- ์ ํด์ง ์๊ฐ์ด ํ๋ฅธ ๋ค ์ด์์ฒด์ ์๊ฒ ์ ์ด๊ถ์ด ๋์ด๊ฐ๋๋ก ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํด
- ํ์ด๋จธ๋ ๋งค ํด๋ญ ํฑ ๋๋ง๋ค 1์ฉ ๊ฐ์
- ํ์ด๋จธ ๊ฐ์ด 0์ด ๋๋ฉด ํ์ด๋จธ ์ธํฐ๋ฝํธ ๋ฐ์
- CPU๋ฅผ ํน์ ํ๋ก๊ทธ๋จ์ด ๋ ์ ํ๋ ๊ฒ์ผ๋ก๋ถํฐ ๋ณดํธ
ํ์ด๋จธ๋ time sharing์ ๊ตฌํํ๊ธฐ ์ํด ๋๋ฆฌ ์ด์ฉ๋จ
ํ์ด๋จธ๋ ํ์ฌ ์๊ฐ์ ๊ณ์ฐํ๊ธฐ ์ํด์๋ ์ฌ์ฉ
Device Controller
I/O device controller
- ํด๋น I/O ์ฅ์น ์ ํ์ ๊ด๋ฆฌํ๋ ์ผ์ข ์ ์์ CPU
- ์ ์ด ์ ๋ณด๋ฅผ ์ํด control register, status register๋ฅผ ๊ฐ์ง
- local buffer๋ฅผ ๊ฐ์ง (์ผ์ข ์ data register)
I/O๋ ์ค์ device์ local buffer ์ฌ์ด์์ ์ผ์ด๋จ
Device controller๋ I/O๊ฐ ๋๋ฌ์ ๊ฒฝ์ฐ interrupt๋ก CPU์ ๊ทธ ์ฌ์ค์ ์๋ฆผ
device driver (์ฅ์น ๊ตฌ๋๊ธฐ)
: OS ์ฝ๋ ์ค ์ฅ์น๋ณ ์ฒ๋ฆฌ ๋ฃจํด โ software
device controller (์ฅ์น ์ ์ด๊ธฐ)
: ๊ฐ ์ฅ์น๋ฅผ ํต์ ํ๋ ์ผ์ข ์ ์์ CPU โ hardware
์ ์ถ๋ ฅ (I/O)์ ์ํ
๋ชจ๋ ์ ์ถ๋ ฅ ๋ช ๋ น์ ํน๊ถ ๋ช ๋ น
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ด๋ป๊ฒ I/O๋ฅผ ํ๋๊ฐ?
- ์์คํ
์ฝ (system call)
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ด์์ฒด์ ์๊ฒ I/O ์์ฒญ
- trap์ ์ฌ์ฉํ์ฌ ์ธํฐ๋ฝํธ ๋ฒกํฐ์ ํน์ ์์น๋ก ์ด๋
- ์ ์ด๊ถ์ด ์ธํฐ๋ฝํธ ๋ฒกํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด์ผ๋ก ์ด๋
- ์ฌ๋ฐ๋ฅธ I/O ์์ฒญ์ธ์ง ํ์ธ ํ I/O ์ํ
- I/O ์๋ฃ ์ ์ ์ด๊ถ์ ์์คํ ์ฝ ๋ค์ ๋ช ๋ น์ผ๋ก ์ฎ๊น
์ธํฐ๋ฝํธ (Interrupt)
์ธํฐ๋ฝํธ
- ์ธํฐ๋ฝํธ ๋นํ ์์ ์ ๋ ์ง์คํฐ์ program counter๋ฅผ save ํ ํ CPU์ ์ ์ด๋ฅผ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ ๋๊ธด๋ค
Interrupt (๋์ ์๋ฏธ)
- Interrupt (ํ๋์จ์ด ์ธํฐ๋ฝํธ) : ํ๋์จ์ด๊ฐ ๋ฐ์์ํจ ์ธํฐ๋ฝํธ
- Trap (์ํํธ์จ์ด ์ธํฐ๋ฝํธ)
- Exception : ํ๋ก๊ทธ๋จ์ด ์ค๋ฅ๋ฅผ ๋ฒํ ๊ฒฝ์ฐ
- System call : ํ๋ก๊ทธ๋จ์ด ์ปค๋ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒฝ์ฐ
์ธํฐ๋ฝํธ ๊ด๋ จ ์ฉ์ด
- ์ธํฐ๋ฝํธ ๋ฒกํฐ
- ํด๋น ์ธํฐ๋ฝํธ์ ์ฒ๋ฆฌ ๋ฃจํด ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์
- ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด (=Interrupt Service Routine, ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ)
- ํด๋น ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ๋ ์ปค๋ ํจ์
ํ๋์ ์ด์์ฒด์ ๋ ์ธํฐ๋ฝํธ์ ์ํด ๊ตฌ๋๋จ
์์คํ ์ฝ
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ์๋น์ค๋ฅผ ๋ฐ๊ธฐ ์ํด ์ปค๋ ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ
๋๊ธฐ์ ์ ์ถ๋ ฅ๊ณผ ๋น๋๊ธฐ์ ์ ์ถ๋ ฅ

๋๊ธฐ์ ์ ์ถ๋ ฅ (Synchronous I/O)
- I/O ์์ฒญ ํ ์ ์ถ๋ ฅ ์์ ์ด ์๋ฃ๋ ํ์์ผ ์ ์ด๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ๋์ด๊ฐ
- ๊ตฌํ๋ฐฉ๋ฒ1
- I/O๊ฐ ๋๋ ๋๊น์ง CPU๋ฅผ ๋ญ๋น์ํด
- ๋งค์์ ํ๋์ I/O๋ง ์ผ์ด๋ ์ ์์
- ๊ตฌํ๋ฐฉ๋ฒ2
- I/O๊ฐ ์๋ฃ๋ ๋๊น์ง ํด๋น ํ๋ก๊ทธ๋จ์๊ฒ์ CPU๋ฅผ ๋นผ์์
- I/O ์ฒ๋ฆฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์ค์ ๊ทธ ํ๋ก๊ทธ๋จ์ ์ค ์ธ์
- ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ์ค
๋น๋๊ธฐ์ ์ ์ถ๋ ฅ (Asychronous I/O)
- I/O๊ฐ ์์๋ ํ ์ ์ถ๋ ฅ ์์ ์ด ๋๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ ์ด๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ฆ์ ๋์ด๊ฐ
๋ ๊ฒฝ์ฐ๋ ๋ชจ๋ I/O์ ์๋ฃ๋ ์ธํฐ๋ฝํธ๋ก ์๋ ค์ค
DMA (Direct Memory Access)
- ๋น ๋ฅธ ์ ์ถ๋ ฅ ์ฅ์น๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ๊น์ด ์๋๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ
- CPU์ ์ค์ฌ ์์ด device controller๊ฐ device์ buffer dtorage์ ๋ด์ฉ์ ๋ฉ๋ชจ๋ฆฌ์ block๋จ์๋ก ์ง์ ์ ์ก
- ๋ฐ์ดํธ ๋จ์๊ฐ ์๋๋ผ block๋จ์๋ก ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํด
์๋ก ๋ค๋ฅธ ์ ์ถ๋ ฅ ๋ช ๋ น์ด
- I/O๋ฅผ ์ํํ๋ special instruction์ ์ํด
- Memory Mapped I/O์ ์ํด โ I/O ์ฅ์น๋ memory ์ฃผ์์ ์ฐ์ฅ์ ์ผ๋ก ์ฃผ์๋ฅผ ๋ถ์ฌ์ ์ฌ์ฉ

์ ์ฅ ์ฅ์น ๊ณ์ธต ๊ตฌ์กฐ

์๋ก๊ฐ์๋ก ์๋๊ฐ ๋น ๋ฅด๊ณ ๊ฐ๊ฒฉ์ด ๋น์ธ๊ณ ์ฉ๋์ด ์ ์.
primary โ ํ๋ฐ์ฑ ๋งค์ฒด๋ก ๊ตฌ์ฑ. secondary โ ๋นํ๋ฐ์ฑ ๋งค์ฒด๋ก ๊ตฌ์ฑ
Chaching : copying information into faster storage system
ํ๋ก๊ทธ๋จ์ ์คํ (๋ฉ๋ชจ๋ฆฌ load)


virtual memory : ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น
โ address translation ์ ํตํด ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ ์ฃผ์๋ก ๋ณํ
swap area : ๋ฉ๋ชจ๋ฆฌ ์ฐ์ฅ์ ์ผ๋ก ์ฌ์ฉ - ํ๋ฐ์ฑ
file system : ๋นํ๋ฐ์ฑ
์ปค๋ ์ฃผ์ ๊ณต๊ฐ์ ๋ด์ฉ

PCB : ์ปค๋์ ๋ง๋ค์ด์ง๋ ๊ฐ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ.
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ํจ์
ํจ์(functions)
- ์ฌ์ฉ์ ์ ์ ํจ์
- ์์ ์ ํ๋ก๊ทธ๋จ์์ ์ ์ํ ํจ์
- ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์
- ์์ ์ ํ๋ก๊ทธ๋จ์์ ์ ์ํ์ง ์๊ณ ๊ฐ๋ค ์ด ํจ์
- ์์ ์ ํ๋ก๊ทธ๋จ์ ์คํ ํ์ผ์ ํฌํจ๋์ด ์๋ค
- ์ปค๋ ํจ์
- ์ด์์ฒด์ ํ๋ก๊ทธ๋จ์ ํจ์
- ์ปค๋ ํจ์์ ํธ์ถ = ์์คํ ์ฝ
์ฌ์ฉ์ ์ ์ ํจ์, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํจ์ : ํ๋ก์ธ์ค A์ Address space
์ปค๋ ํจ์ : Kernel Address space โ ์์คํ ์ฝ ์ฌ์ฉ
ํ๋ก๊ทธ๋จ์ ์คํ

ํ๋ก๊ทธ๋จ์ user mode์ kernel mode๋ฅผ ๋ฐ๋ณตํจ
์ถ์ : kocw ์ด์์ฒด์ - ๋ฐํจ๊ฒฝ ๊ต์๋ (์ดํ์ฌ์๋ํ๊ต)
http://www.kocw.net/home/search/kemView.do?kemId=1046323
์ด์์ฒด์
์ด์์ฒด์ ๋ ์ปดํจํฐ ํ๋์จ์ด ๋ฐ๋ก ์์ ์ค์น๋๋ ์ํํธ์จ์ด ๊ณ์ธต์ผ๋ก์ ๋ชจ๋ ์ปดํจํฐ ์์คํ ์ ํ์์ ์ธ ๋ถ๋ถ์ด๋ค. ๋ณธ ๊ฐ์ข์์๋ ์ด์ ๊ฐ์ ์ด์์ฒด์ ์ ๊ฐ๋ ๊ณผ ์ญํ , ์ด์์ฒด์ ๋ฅผ ๊ตฌ์ฑํ๋ ๊ฐ
www.kocw.net
'๐น STUDY > Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] 1. Introduction to Operating Systems (4) | 2022.10.22 |
---|