๊ณต๋ฃก์ฑ 1์ฅ์์ 2์ฅ๊น์ง์ ๋ด์ฉ์ด๋ค. ํฌ๊ฒ ์ค์ํ ๋ด์ฉ์ ์์ง๋ง ์ปดํจํฐ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ ๋ํ ํต์ฌ์ ๋ด์ฉ์ ๋ด๊ณ ์๋ค.
์ด์์ฒด์ ๋?
- ์ด์์ฒด์ : ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด
- ์ด์์ฒด์ ์ ์ญํ : application program๊ณผ ์ปดํจํฐ ์ฌ์ฉ์, ํ๋์จ์ด ์ฌ์ด์์์ ๋งค๊ฒ์ฒด ์ญํ

์๋์๋ถํฐ ํ๋์จ์ด, OS(์ถ์์ ์ธ layer), ์์คํ ๊ณผ ์ฑ, ์ฌ์ฉ์
- OS์ ํต์ฌ ๋ถ๋ถ์ kernel(์ปค๋)์ด๋ผ๊ณ ๋ ๋ถ๋ฆผ
- ์ปค๋์์ ์์คํ ํ๋ก๊ทธ๋จ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํด์ค
- CPU๊ฐ bus๋ฅผ ํตํด์ RAM๊ณผ ์ฐ๊ฒฐ๋์ด ์๊ณ disk controller๋ฅผ ํตํด์ ๋์คํฌ์ ์ฐ๊ฒฐ, USB controller๋ฅผ ํตํด์ ๋ง์ฐ์ค, ํค๋ณด๋ ๋ฑ๊ณผ ์ฐ๊ฒฐ ๋ฑ์ ๋ฐฉ์
์ปดํจํฐ ์์คํ ์กฐ์ง
(1) bootstrap program
- ์ ์์ ๋๋ ์ ๋ CPU๊ฐ ๊ฐ์ฅ ์ฒ์์ ๋ก๋ฉํด์ผ ๋ ๋ด์ฉ์ ROM์ ์์
- ์ด์์ฒด์ (ํนํ ์ปค๋)๋ฅผ ๋ก๋ฉํ๋ ์ผ์ ํ๋ ์ด ํ๋ก๊ทธ๋จ์ bootstrap program์ด๋ผ๊ณ ํจ
(2) Interrupts
- hardware๊ฐ ์ธ์ ๋ ์ง interrupt๋ฅผ triggerํ ์ ์์. ์์คํ bus๋ฅผ ํตํด CPU์ ์ ํธ๋ฅผ ๋ณด๋.

von Neumann architecture
- ๋ช ๋ น-์คํ ์ฌ์ดํด
- ๋ช ๋ น์ด ์งํฉ์์ ์ผ๋ถ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ธ์จ ๋ค ๋ฉ๋ชจ๋ฆฌ์ ์๋ ๋ช ๋ น์ด๋ฅผ CPU์ fetch ํด์ executeํ๋ ์ฌ์ดํด
- instruction register์ add, mov ๊ฐ์ ๋ช ๋ น์ด๊ฐ ๋ค์ด์์. ์ด๊ฑธ ๋ณด๊ณ ๋ ์ง์คํฐ์ ์๋ ๊ฐ๋ค์ ALU์์ ๊ณ์ฐ
Storage System
- ๋ฉ๋ชจ๋ฆฌ๋ RAM(ํ๋ฐ์ฑ), ๋นํ๋ฐ์ฑ๋ ํ์
- ๋ฉ๋ชจ๋ฆฌ ์๋ ์์(์๊ณ): register>cache>RAM(main memory)…>disk
- ๋น ๋ฅผ์๋ก ๋น์ธ๊ธด ํจ
Symmetric multiprocessing(SMP)
ํ๋์ ๋ฉ๋ชจ๋ฆฌ์ ๋ํด ์ฌ๋ฌ ๊ฐ์ CPU๊ฐ ๊ฐ๊ฐ register๋ค๊ณผ cache๋ฅผ ๊ฐ์ง๊ณ ์กด์ฌํจ
Multi-core design
๊ฐ์ ํ๋ก์ธ์ ์นฉ ํ๋์ 2๊ฐ ์ด์์ core CPU๊ฐ ์กด์ฌํ๋ ๊ฒ
Multiprogramming

- ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ๋์์ ์ฌ๋ ค๋๋ ๊ฒ.
- ํ ๋ฒ์ ํ ๊ฐ ์ด์์ ํ๋ก๊ทธ๋จ์ด run
- CPU ์ฌ์ฉ ํจ์จ์ ๋์ผ ์ ์์
- Multitasking์ด ๊ฐ๋ฅ. (time-sharing: ์๊ฐ๋ถํ )
- ์์ฃผ CPU์์ job์ ๋ฐ๊ฟ์ค.
- CPU scheduling์ด ํ์: ๋์์ ์ฌ๋ฌ process ์ด์ํ ๋ ๋ค์์ ์ด๋ค process๋ฅผ ์คํ์ํฌ์ง ๊ฒฐ์ ํด์ผ ํจ.

- ๋ ๊ฐ์ opertaion mode: user mode์ kernel mode
- user process๊ฐ ์คํ→ system call(os์๊ฒ ์๋น์ค ์์ฒญ) ํจ → call ๋๋ฉด kernel mode๋ก ๋ณ๊ฒฝ๋จ → system call ์คํ → ๋ค์ user mode๋ก ๋๋์๊ฐ
- kernel mode๊ฐ ์๋๋ฉด ์ง์ ์ ์ผ๋ก H/W ์ ์ด๋ฅผ ๋ชป ํ๊ฒ ํจ
Vertualization(๊ฐ์ํ)
ํ๋์ ์ปดํจํฐ์์ ์ฌ๋ฌ process๋ฅผ ์ด์ํ ์ ์์ผ๋ฉด ํ๋์ ์ปดํจํฐ์์ ์ฌ๋ฌ ์ด์ ์ฒด์ ๋ฅผ ์ด์ํ ์๋ ์์ง ์์๊น?
→ ๊ฐ๋ฅํจ: VMN(Virtual Machine Manager) ์ด์ฉ, VMware, XEN, WSL ๋ฑ

cf) ์ฌ๋ฌ computing ํ๊ฒฝ์์์ OS
Traditional Computing, Mobile Computing, Client-Server Computing, Peer-to-Peer Computing, Cloud Computing, Real-Time Embedded Systems

์ ์ ์ ๋ฆฌ
cf) OS์ interface ์ํ ์ธ ๊ฐ์ง ๋ฐฉ๋ฒ
- CLI: command line interface or command interpreter, shell์ด๋ผ ๋ถ๋ฆผ. (๋ช ๋ น์ด ๊ธฐ๋ฐ)
- GUI: graphical user interface: ์๋์ฐ, ๋งฅ ๋ฑ
- Touch-Screen Interface: ์๋๋ก์ด๋, ์์ดํฐ
System Call
- OS๊ฐ ์ ๊ณตํด์ฃผ๋ ์๋น์ค๋ค์ ์์คํ ์ฝ์ ํตํด ์ ๊ณต, ๋ํ์ ์ผ๋ก fork(), exit(), wait()๋ฑ ํ๋ก์ธ์ค๋ฅผ ์ปจํธ๋กค ํ๋ system call๋ค์ด ์์.
- ๋งค๋ฒ open, close ๊ฐ์ system call์ ์ฐ๊ธฐ ํ๋ค๊ธฐ ๋๋ฌธ์ The standard C library ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉ(printf ๋ฑ)