๐ ์ด์์ฒด์ - OS
2023-03-09. 14:53
U-SS, โOS, ์ด์ ์ฒด์ ๊ณผ๋ชฉโ ๊ธ ๊ณ์น
๐ซ ๊ธธ๋ผ์ก์ด
- ๋ฐฐ์ฐ๋ ๊ฒ
- ์ปดํจํฐ ์๋ ๋ฐฉ์๊ณผ ๊ธฐ๋ณธ์ ๊ตฌ์ฑ
- ์ข์ ํ๋ก๊ทธ๋๋ฐ์ ์ํ ์ฑ๋ฅ ๋ถ์ ๋ฐฉ๋ฒ
- ์ต์ ํ๋ก์ธ์ (์บ์, ํ์ดํ๋ผ์ธ)์ ์ํฅ์ ๋ฏธ์น๋ ๋ฌธ์
- ๋ฐฐ์ฐ๋ ์ด์
- ์ปดํจํฐ ๊ณผํ์
- ์ฑ๋ฅ ์ข์ SW
- HW ๊ตฌ๋งค ๊ฒฐ์ , ์ ๋ฌธ์๋ก์ ์กฐ์ธ ์ ๊ณต
- ๊ต๊ณผ ๋ด์ฉ
- ์ปดํจํฐ ์์คํ ์ ์ ๋ฐ์ ๊ฐ๋
- ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ์ ์คํ
- ์์คํ ์์ ํ๋ก๊ทธ๋จ ์คํ ์๋ฆฌ
- ํ๋ก๊ทธ๋จ์ ์ํธ์์ฉ ๋ฐ ํต์
์ฃผ ๊ต์ฌ : ์ด์์ฒด์ ์ด๋ก ๊ณผ ์ค์ - ์ดํ๋ด
์ 1์ฅ ์ด์์ฒด์ ์ ๊ฐ๋
๋ฐ ๋ฐ์ ๊ณผ์
์ 2์ฅ ์ด์์ฒด์ ๋ฅผ ์ํ ๋ฐฐ๊ฒฝ ์ง์
์ 3์ฅ ์
ยท์ถ๋ ฅ ๊ด๋ฆฌ
์ 4์ฅ ํ๋ก์ธ์ค ๋ฐ ์ค๋ ๋ ๊ด๋ฆฌ
์ 5์ฅ ํ๋ก์ธ์(CPU) ๊ด๋ฆฌ
์ 6์ฅ ํ๋ก์ธ์ค ๋๊ธฐํ
์ 7์ฅ ๊ต์ฐฉ ์ํ ๊ด๋ฆฌ
์ 8์ฅ ๋ฉ๋ชจ๋ฆฌ(์ฃผ๊ธฐ์ต ์ฅ์น) ๊ด๋ฆฌ
์ 9์ฅ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
์ 10์ฅ ํ์ผ ์์คํ
๊ด๋ฆฌ
์ 11์ฅ ๋์คํฌ ์ค์ผ์ค๋ง
์ 12์ฅ ํ๋์ ๋ฉ๋ชจ๋ฆฌ
OS ์์คํ
์ ์ข
๋ฅ
์ปดํจํฐ ์์คํ
์ฃผ์ ๊ตฌ์ฑ ์์
๋ช
๋ น์ด ์ฌ์ดํด
Storage ๋ ์ง์คํฐ
Addressing-Mode
Interrupt
CPU ์คํ๋ชจ๋
IO ์
์ถ๋ ฅ ์ฅ์น
Process, Processor
CPU Scheduling
Race Condition - ๊ต์ฐฉ์ํ
Memory ๊ด๋ฆฌ
File
HDD
๐ซ OS
์ปดํจํฐ๋ฅผ ์ด์ํ๊ธฐ ์ํ ์๋ฒ๊ณผ ์ ์ฐจ๋ฅผ ๋ชจ์ ์ํํธ์จ์ด ์ฒด๊ณ
์ปดํจํฐ๋ฅผ ์กฐ์ ์ด์ ํ๋ ์ํํธ์จ์ด
- ํ์์ฑ
- ์ปดํจํฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฒ๋ฆฌ ๊ณผ์ ๊ณ ์ฐฐ
- IPO Input-Process-Output
- ๋ง์ฝ ๋ง์ฐ์ค,ํค๋ณด๋,๋ชจ๋ํฐ,ํ๋ฆฐํฐ ๋ฑ ๊ธฐ๋ณธ์ ์ธ ์ ์ถ๋ ฅ ๋ฐฉ๋ฒ์ ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ์ง ์๋๋ค๋ฉด
- ํค๋ณด๋ ๋ง์ฐ์ค๋ฅผ ์ฌ์ฉํ๋ GUI vs ์ฝ์
- ์ปดํจํฐ์ ๊ธฐ๋ณธ์ ์ธ ์ฒ๋ฆฌ ๊ณผ์ ๊ณ ์ฐฐ
- ์ฃผ์ ๋ชฉ์ ๊ธฐ๋ฅ
- ํธ๋ฆฌ์ฑ ์ถ๊ตฌ
- ์ฌ์ฉ์์ ํ๋์จ์ด ์ฌ์ด์ ์ค๊ณ/๊ธฐ๊ต/์ธํฐํ์ด์ค ์ญํ
- ์ฌ์ฉ์๋ค์ด ์ปดํจํฐ๋ฅผ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ ์ค (์ฌ์ฉ์ ํ๋ฉด)
- ํจ์จ์ฑ ์ถ๊ตฌ
- CPU, ๋ฉ๋ชจ๋ฆฌ๋ฑ์ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๊ด๋ฆฌํ๋ ์์ ๊ด๋ฆฌ ์ญํ
- @ ์์ ๊ด๋ฆฌ์ ์ด์ด๋ณด๋ฉด ์๋ฐฑ๊ฐ์ ํ๋ก๊ทธ๋จ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค
- ๊ฐ๋น์ผ ์ปดํจํฐ์ ์ฒ๋ฆฌ๋์ ํฅ์์ํด์ผ๋ก์จ ํฌ์ ํจ์จ ์ฆ๋ (์์คํ ์ธก๋ฉด)
- CPU, ๋ฉ๋ชจ๋ฆฌ๋ฑ์ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๊ด๋ฆฌํ๋ ์์ ๊ด๋ฆฌ ์ญํ
- ๋ณด์์ฑ ์ถ๊ตฌ
- ์ปดํจํฐ์ ๋ด๋ถ ์์(HW)์ ์ฌ์ฉ์ ์ ๋ณด(Data)๋ฅผ ๋ณดํธํ๋ ์ญํ ๋ด๋น
- ์ปดํจํฐ์ ์ฌ์ฉ์๋ฅผ ๋ณดํธํจ์ผ๋ก์จ ์ง์์ ์ด์ฉ ์ ์ง(์ฌ์ฉ์, ์ปดํจํฐ ๋์ ๋ง์กฑ)
- ํธ๋ฆฌ์ฑ ์ถ๊ตฌ
- ์ค์ฒด ๋ฐ ํ๋
- ํ๋์ ๊ฑฐ๋ํ ํ๋ก๊ทธ๋จ
- ์ฌ์ฉ์์๊ฒ ์๋น์ค(ํ๋ก๊ทธ๋จ ์ ์ฌ-์คํ(์ ๋ ฅ/๊ณ์ฐ/์ถ๋ ฅ)-ํ๋ก๊ทธ๋จ ์ ๊ฑฐ)๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผ
- ๋ถํธ ๊ณผ์ ์ ๊ฑฐ์ณ ๋ฉ๋ชจ๋ฆฌ์ ์ค์น๋จ
- ์ด์์ฒด์ ์ ์ด
- ์ฌ์ฉ์๋ค์ ์์คํ ์ฝ System Call ์ด๋ผ ๋ถ๋ฅด๋ ์๋น์ค ์์ฒญ ์ ์ ์ฐฝ๊ตฌ๋ฅผ ํตํด ์๋น์ค๋ฅผ ์์ฒญํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋๋๋ ค ๋ฐ์ (Operating System Interface)
- ์์คํ ์ฝ์ ํจ์ (๋ผ์ด๋ธ๋ฌ๋ฆฌ) ํํ๋ก ์ ๊ณต๋๊ณ , ์ฌ์ฉ์๋ ํ๋ก๊ทธ๋จ์์ ํธ์ถํ์ฌ ์ฌ์ฉ
- @ printf, mkdir โ ํ๋ก๊ทธ๋จ์ด ๋ชจ๋ํฐ์ ๋์ฐ๋ ๊ฒ/๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ ์๋๋ผ, ์ด๋ฅผ ์ด์์ฒด์ ์ ์์ฒญ/๋ถํํ๊ณ = ์์คํ ์ฝ System Call, ์ด์์ฒด์ ๊ฐ ๋ชจ๋ํฐ์ ๋์/๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ฌ โ ๋ค์ ํธ์ถ๋ ๊ณณ์ผ๋ก ๋ณต๊ท
- @ ์ด ์ธ์๋ ๋์ ๋์ง ์๋ ์ด์์ฒด์ ์ฒ๋ฆฌ ๋ค์ด ๋ง์
- @ atoi๋ ๊ทธ๋ฅ ํจ์, ๊ทผ๋ฐ printf์ ์ด์์ฒด์ ๋ก, ์๊ธด ๊ฒ ๋๊ฐ์ ๋ฐ ์ฒ๋ฆฌ ๊ณผ์ ์ ๋ค๋ฅผ ์ ์๋ค
- @ Win32API - C, MFC - CPP, ์์คํ ํ๋ก๊ทธ๋๋จธ
- ํ๋์ ๊ฑฐ๋ํ ํ๋ก๊ทธ๋จ
- (์์คํ ) ๋ช ๋ น์ด
- ์์คํ
๋ช
๋ น์ด๋ ๊ฒฐ๊ตญ ํ๋ก๊ทธ๋จ์ด๋ค = ์ด์์ฒด์ ์๊ฒ ๋ถํํ๋ ํ๋ก๊ทธ๋จ์ด๋ค
- ์์ฃผ ์ฌ์ฉ๋๋ ์์คํ
์ฝ์ ๋งค๋ฒ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ ์๋น์ค๋ฅผ ๋ฐ์์ผ ํ๋ค๋ฉด ๋ถํธ
- ์) ๋๋ ํ ๋ฆฌ ์์ฑ์ญ์ , ํ์ผ ์์ฑ์ญ์
- ์์ ๊ฐ์ด ์์ฃผ ์ฌ์ฉ๋๋ ์์คํ ์ฝ์ ์ํด ๋ฏธ๋ฆฌ ์์ฑ๋์ด ์๋ ํ๋ก๊ทธ๋จ(์คํํ์ผ)์ ์์คํ ๋ช ๋ น์ด๋ผ ํจ
- ์ ๋์ค/๋ฆฌ๋ ์ค์ mkdir, rmdir, rm, vi
- ์๋์ฐ ๋์ค์ฐฝ์ del, ren, mkdir, rmdir
- ์์ฃผ ์ฌ์ฉ๋๋ ์์คํ
์ฝ์ ๋งค๋ฒ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ฌ ์๋น์ค๋ฅผ ๋ฐ์์ผ ํ๋ค๋ฉด ๋ถํธ
๐ซง ๊ณ์ธต๊ตฌ์กฐ, ์ถ์ํ
์ปดํจํฐ์์คํ ๊ณ์ธต ๊ตฌ์กฐ
OS ์ถ์ํ
- Processes (Processor)
- Virtual Memory (Main Memory)
- Files (I/O Devices)
- Virtual Memory (Main Memory)
๐ซง TODO
Process ํ๋ก์ธ์ค
- Thread
- Multi Thread : ๋จ์ผ ํ๋ก์ธ์์์ ๋ ๊ฐ์ ์คํ ์ฐ๋ ๋๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค
- Thread : ์คํ ๋จ์
Virtual Memory
File
- OS is a resource manager
- Sharing
- Protection
- Fairness
- Performance
- OS provides the progrma execution envionment
- Hides the messy details which must be performed
- Presents users with a virtual machine, easier to use
๐ซ OS ์ข ๋ฅ
โ
๐ซง Linux
Unix์ ์ ์ฌํ OS
time-sharing, multi-task, multi-user OS
- ๊ตฌ์ฑ
- ์์ฉ
- ์ - ๋ช ๋ น ํด์๊ธฐ (bash, csh ๋ฑ)
- ์ปค๋ - ์๊ฒฉํ ์๋ฏธ์ ๋ฆฌ๋ ์ค
- ํ๋์จ์ด
๐ซ OS ์์คํ ์ ์ข ๋ฅ
๋จ์ผ ํ๋ก๊ทธ๋๋ฐ ์ผ๊ด์ฒ๋ฆฌ ์์คํ
๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ผ๊ด์ฒ๋ฆฌ ์์คํ
์๋ถํ ์์คํ
๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ
๋ถ์ฐ Distributed ์ฒ๋ฆฌ ์์คํ
- ๋จ์ผ ํ๋ก๊ทธ๋๋ฐ ์ผ๊ด์ฒ๋ฆฌ ์์คํ
, Single-stream(์ค๊ธฐ๊ฐ ํ๋) Batch(๋ฐ๊ตฌ๋, ๋ญํฑ์ด ํ ๋ฒ์) Processing Systems
- ์ค์ง ํ๋์ ํ๋ก๊ทธ๋จ๋ง์ ์ ์ฌํ์ฌ ์คํ
- @ ๊ณต์ฅ์ฒ๋ผ ํ๋ ์ฒ๋ฆฌ ํ ๋ค๋ฆ
- @ HDD๊ฐ ์์๊ธฐ์ ํ์น์นด๋ ๋ค๋ฐ์ ํตํด ํ๋ก๊ทธ๋จ ์์ฒด๋ฅผ ์ฌ๋ฆผ
- @ ํ์น์นด๋ ํ ์ฅ = ํ ๋ฌธ์ฅ
- ์ฒ๋ฆฌ ์ค์ธ ํ๋ก๊ทธ๋จ์ด ์
์ถ๋ ฅ ์๋น์ค๋ฅผ ์์ฒญํ๋ค๋ฉด?
- @ ๋ค๋ฅธ ์ผ์ ์ฒ๋ฆฌํ์ง ๋ชปํ๊ณ ๊ณ์ํด์ ๋๊ธฐํด์ผ ํจ => CPU ํจ์จ, Utilization ์ด์ฉ๋ฅ , Through-put ๋จ์ ์๊ฐ ๋น ์ฒ๋ฆฌ๋
- ์ค์ง ํ๋์ ํ๋ก๊ทธ๋จ๋ง์ ์ ์ฌํ์ฌ ์คํ
ํ์น์นด๋ ๋ค๋ฐ (ํ๋ก๊ทธ๋จ)
|
์นด๋ ๋ฆฌ๋๊ธฐ
|
Main Memory
{
User Program
โ
Operating System
}
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ผ๊ด์ฒ๋ฆฌ ์์คํ
Multiprogramming Batch Processing Systems
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์กฐ๊ฐํ์ฌ, ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ฌ ์คํ
- @ ๋ฉํฐ ์คํธ๋ฆผ, ๊ทผ๋ฐ ๋์ ๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๋ ์ฉ์ด๋ฅผ ์ด๋ค
- ์ฒ๋ฆฌ ์ค์ด๋ ํ๋์ ํ๋ก๊ทธ๋จ์ด ์
์ถ๋ ฅ ์๋น์ค๋ฅผ ์์ฒญํ๋ค๋ฉด?
- @ ๊ธฐ๋ณธ์ ์ผ๋ก๋ ์ฒ๋ฆฌ ๋๋๊ฑฐ๋, ์ ์ถ๋ ฅ์ ์์ํ ๋๊น์ง ํ๋์ ํ๋ก๊ทธ๋จ ์ฒ๋ฆฌ
- ์๊ธฐ ํ๋ก๊ทธ๋จ์ด ์ธ์ ๋๋ ์ง ์์ธก ๋ถ๊ฐ
- ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ๋ ๋๋ฆฌ๋ค๋ฉด ๊ทธ๋งํผ ๋ ๋๋ฆฌ๊ฒ
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์กฐ๊ฐํ์ฌ, ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ฌ ์คํ
ํ์น์นด๋ ๋ค๋ฐ (ํ๋ก๊ทธ๋จ)
| | |
์นด๋ ๋ฆฌ๋๊ธฐ
| | |
Main Memory
{
User Program 2
User Program 1
User Program 0
โ
Operating System
}
- ์๋ถํ ์์คํ
Time-Sharing Systems
- ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ฌ ์คํํ๋
- ์งง์ ์๊ฐ ๋์์ ์ฃผ๊ธฐ๋ก ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ๊ณจ๊ณ ๋ฃจ ์กฐ๊ธ์ฉ ์ฒ๋ฆฌ
- ํ ๋ฒ์ ์ฃผ์ด์ง๋ ์ต๋ ์ฒ๋ฆฌ ์๊ฐ์ ํ์ ํํ Time Quantom ํน์ ํ์ ์ฌ๋ผ์ด์ค Time Slice
- ๋ค์ค ์ฌ์ฉ์๋ค์ ๋ํ์ ์ฒ๋ฆฌ Interactive Processing ํ๊ฒฝ์ ์ ํฉ
- ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ฌ ์คํํ๋
- ๋ณ๋ ฌ ์ฒ๋ฆฌ Parallel Processing System
- ๋ค์ค์ฒ๋ฆฌ๊ธฐ ์์คํ
Multi Processor System
- ์ฒ๋ฆฌ๊ธฐ CPU ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฅ์ฐฉํ ์์คํ
- @ ์ CPU๊ฐ ์๋๋ผ Processor
- @ Processor - CPU FPU GPU ์ผ๋ฐํ
- @ ์ฌ๊ธฐ์ CPU๋ฅผ ์๋ฏธ
- ์ฒ๋ฆฌ๊ธฐ ์ ๋งํผ์ ํ๋ก๊ทธ๋จ๋ค์ด ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌ๋ ์ ์์
- ์ฒ๋ฆฌ๊ธฐ ์ผ๋ถ๊ฐ ๊ณ ์ฅ๋๋๋ผ๋ ๋๋จธ์ง ์ฒ๋ฆฌ๊ธฐ๋ค๋ก ๊ธฐ๋ฅ์ ์ง ๊ฐ๋ฅ
- ๊ฒฐํจ ํ์ฉ ์ปดํจํฐ Fault Tolerant Computer
- ์ฑ๋ฅ Throughput ๊ณผ ์ ๋ขฐ์ฑ Reliability ํฅ์
- @ ์ฑ๋ฅ - CPU๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฅ์ฐฉํ๋ ์ฃผ๋ ์ด์
- ๋ณ๋ ฌ ์ฒ๋ฆฌ Parallel Processing ์ ๋ณํ ์ฒ๋ฆฌ Concurrent Processing
- ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ ์ด๋ค ์๊ฐ์ ๊ธฐ์ค์์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ
- ๋ณํ ์ฒ๋ฆฌ๋ ์ด๋ค ์๊ฐ์ ๊ธฐ์ค์์ ์ค์ง ํ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌํ๋, ๋ฒ๊ฐ์ ์ฒ๋ฆฌํจ์ผ๋ก์จ ์ ์ฒด์ (๊ฑฐ์์ )์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌํ๋ ํจ๊ณผ๋ฅผ ์ป์
- ๋์ ์๋ฏธ์์ ๋ถ์ฐ Distributed ์ฒ๋ฆฌ ์์คํ
์ ์ผ์ข
- ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ๋ ๋ฆฝ๋ ์์คํ ์ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ
- ์์คํ ํ๋์ ์ฒ๋ฆฌํ๋ ๋์ ์ฌ๋ฌ ๊ฐ ๋๋ : ๊ฐ๊ฒฐํ ์์คํ : ๋ฒ์ค๋ก ์ฐ๊ฒฐ, Tightly-Coupled
- ์์คํ ์ ๋ ๋ฆฝ์์ผ๋๊ณ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐํ์ฌ ๋ถ๋จ ์ฒ๋ฆฌ : ์ฝ๊ฒฐํฉ ์์คํ Loosely Coupled
- ๋ค์ค์ฒ๋ฆฌ๊ธฐ ์์คํ
Multi Processor System
- ๋ณ๋ ฌ ์ฒ๋ฆฌ
- ๋์นญํ๊ณผ ๋น๋์นญํ ๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ
- ๋์นญํ ๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ
SMP Symmetric Multi-Processor System
- ์ฒ๋ฆฌ๊ธฐ๋ค์ ์ญํ ๋ฒ์๊ฐ ๋๋ฑ, ์ฆ ๋ง์คํฐ-์ฌ๋ ์ด๋ธ ๊ฐ๋ ์์
- ์ด๋ ์ฒ๋ฆฌ๊ธฐ๋ ์ฌ์ฉ์ ์์ญ๊ณผ ์์คํ
์์ญ ์คํ ๊ฐ๋ฅ
- ์ด์์ฒด์ ์ ๋ถ๋ด
- ๋์์ ์์คํ ์์ญ์ ์ฌ์ฉํ๋ฉด ๊ฒฝ์ ์ํ ๋ฐ์ ๊ฐ๋ฅ
- ์ฒ๋ฆฌ๊ธฐ ํ๋๊ฐ ๊ณ ์ฅ๋๋ ์๋
- ๋น๋์นญํ ๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ
ANP Asymmetric
- ๋ง์คํฐ ์ฒ๋ฆฌ๊ธฐ์ ์ฌ๋ ์ด๋ธ ์ฒ๋ฆฌ๊ธฐ ์ง์
- ์์คํ ์์ญ์ ๋ง์คํฐ ์ฒ๋ฆฌ๊ธฐ๋ง ์คํ ๊ฐ๋ฅ
- ๋ง์คํฐ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๊ณ ์ฅ๋๋ฉด ์์คํ ์ ์ฒด ์คํฑ
- ์ด์์ฒด์ ๋ถ๋ด, ๊ตฌํ ๋์ด๋ ๊ฐ์
- ๋ง์คํฐ ๊ณ ์ฅ๋๋ฉด ๋์ฑ ์ด ์๋ค
- ๋์นญํ ๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ
SMP Symmetric Multi-Processor System
- ๋์นญํ๊ณผ ๋น๋์นญํ ๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ
Bus , ์ฒ๋ฆฌ๊ธฐ๋ค ๊ฐ ๋ฒ์ค ์ฐ๊ฒฐ ๋ฐฉ์ (๊ฐ๊ฒฐํฉ ์์คํ )
- ๋ถ์ฐ ์ฒ๋ฆฌ (์ฝ๊ฒฐํฉ) ์์คํ
- ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ๋ ์์คํ ์ ๋คํธ์ํฌ๋ก ์ฐ๊ฒฐ
- ์ฃผ์ด์ง ์ผ์ ๋ถ๋ดํ์ฌ ๋ณ๋ ฌ ์ฒ๋ฆฌ
- ๋ค์ค ์ฒ๋ฆฌ๊ธฐ ์์คํ ๋ ๋์ ์๋ฏธ์์ ๋ถ์ฐ์ฒ๋ฆฌ ์์คํ โ ๊ฐ๊ฒฐํฉ ์์คใ กํ
- ๋ณดํต์ ์ฝ๊ฒฐํฉ ์์คํ ํน์ ํด๋ฌ์คํฐ๋ผ๊ณ ํจ
- ๋ถ์ฐ ์ฒ๋ฆฌ ์์คํ
์ ๋ชฉ์
- ์ฒ๋ฆฌ๋ ํฅ์, ์์ ํ์ฉ๋ ํฅ์, ์์คํ ์ ๋ขฐ๋ ํฅ์, ์ ์ง์ ์์คํ ํ์ฅ
- ๋ถ์ฐ ์ฒ๋ฆฌ ์์คํ
์ ์ ๊ณต ๊ธฐ๋ฅ
- ์์น ํฌ๋ช ์ฑ(๋ถ๋ฆฌ ๋ ๊ฒ์ด ์๋๋ผ ์ฐ๋ฆฌ, ํ๋๋ก ๋ณด์ด๊ฒ), ๊ณ ์ฅ ํฌ๋ช ์ฑ(๊ณ ์ฅ๋๋ ๋ชจ๋ฅด๊ณ ), ์ ๊ทผ ํฌ๋ช ์ฑ(์ฐจ์ด๊ฐ ์์ด์๋ ์๋๋ค), ์ค๋ณต ๋ฐ ์ด๋ ํฌ๋ช ์ฑ(์ค๋ณต์ด์ด๋, ์์คํ A์์ B๋ก ์ฎ๊ฒจ์ง๋๋ผ๋ ์ฌ์ฉ์๊ฐ ๋ชจ๋ฅด๊ณ ์ธ ์ ์๊ฒ)
- ๋ถ์ฐ ์ฒ๋ฆฌ ์์คํ
์ ์ฐ๊ฒฐ ๋ฐฉ์
- ํ์ดํผํ๋ธ Hyper Cube
- ํ์ดํผ ํ๋ธ ์ฐ๊ฒฐ๋ฐฉ์์ด ๋ํ์
- 8 ๋ ธ๋ (์์คํ )์ธ ๊ฒฝ์ฐ ๊ฐ ๋ ธ๋๋ 3๊ฐ์ ์ธ์ ๋ ธ๋๋ฅผ ๊ฐ์ง
- 16๋ ธ๋์ธ ๊ฒฝ์ฐ ๊ฐ ๋ ธ๋๋ 4๊ฐ์ ์ธ์ ๋ ธ๋๋ฅผ ๊ฐ์ง
- ์์ ์ฐ๊ฒฐ Fully Connected
- ์ด๊ธฐ ์ค์น ๋น์ฉ์ด ํผ
- ์ฌ์ดํธ ํ์ฅ ๋น์ฉ์ด ํผ
- ์ฌ์ดํธ ๊ฐ ํต์ ์๋๊ฐ ๋น ๋ฆ
- ์ ๋ก ๊ณ ์ฅ์ ๋ฐ๋ฅธ ์ ๋ขฐ๋๊ฐ ๋์
- ์ฑํ Star
- ์ด๊ธฐ ์ค์น ๋น์ฉ ์ ์
- ๊ฐ์ด๋ฐ ์ค๊ณ ์์คํ ์ ๋ถํ ๊ณผ๋
- ์ค๊ณ ์์คํ ์ ๊ณ ์ฅ์ ๋ฐ๋ฅธ ์ ๋ขฐ๋ ์ ํ
- ์ฌ์ดํธ ์ถ๊ฐ ๋น์ฉ์ด ์ ์
- ๋งํ Ring
- ์์ ์ฐ๊ฒฐ๊ณผ ์ฑํ์ ์ ์ถฉ
- ์ด๊ธฐ ์ค์น์ ์ฌ์ดํธ ํ์ฅ ๋น์ฉ์ด ๋น๊ต์ ์ ๋ ด
- ๋ ๊ฐ ์ด์์ ์ฌ์ดํธ ๊ณ ์ฅ์ ๋คํธ์ํฌ ์๋ถ
- ํ์ดํผํ๋ธ Hyper Cube
- NOS
- ์ค์๊ฐ ์์คํ
RealTime Systems
- ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ ๋ง๊ฐ ์ํ์ ๋ณด์ฅํ๋ ์์คํ
(์ค์๊ฐ ์ฒ๋ฆฌ ํ๊ฒฝ)
- ์ด๋ค ์ฌ๊ฑด Event์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก๊ทธ๋จ์๊ฒ, ์ฌ๊ฑด ๋ฐ์ ์๊ฐ๋ถํฐ ์ฒ๋ฆฌ ์๋ฃ ์๊น์ง์ ์ต๋ ์์์๊ฐ ํ๊ณ๋ฅผ ๋ณด์ฅ
- โ ์ฌ๊ฑด์ด ๋ฐ์ํ๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ ํด๋น ํ๋ก๊ทธ๋จ์ ์คํ์ด ์ค๋๋๋ก ์ง์ฐ๋๋ค๋ฉด?
- ์ด๋ค ์ฌ๊ฑด Event์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก๊ทธ๋จ์๊ฒ, ์ฌ๊ฑด ๋ฐ์ ์๊ฐ๋ถํฐ ์ฒ๋ฆฌ ์๋ฃ ์๊น์ง์ ์ต๋ ์์์๊ฐ ํ๊ณ๋ฅผ ๋ณด์ฅ
- ๊ฒฝ์ฑ ์ค์๊ฐ ์์คํ
Hard Real-Time Systems
- ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ ๋ง๊ฐ ์ํ์ ์๋์ ๊ฐ๋ ๋๋ก ์๊ฒฉํ๊ฒ ๋ณด์ฅ
- ์ฐ์ฑ ์ค์๊ฐ ์์คํ
Soft Real-Time Systems
- ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ ๋ง๊ฐ ์ํ์ ์๋์ ๊ฐ๋ ๋๋ก ์๊ฒฉํ๊ฒ ๋ณด์ฅํ์ง๋ ๋ชปํ์ง๋ง, ํด๋น ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ ์ง์ฐ์ ์ต์ํ ์ํฌ ์ ์์.
- ๋ฒ์ฉ ์ด์์ฒด์ ์ธ ์ ๋์ค, ๋ฆฌ๋ ์ค, ์๋์ฐ ๋ฑ์์ ์ค์๊ฐ์ฑ ํ๋ก๊ทธ๋จ์ ๋ถ๋ฅํ์ฌ ๊ด๋ฆฌ
- ํ๋ก๊ทธ๋จ์ ์ฒ๋ฆฌ ๋ง๊ฐ ์ํ์ ๋ณด์ฅํ๋ ์์คํ
(์ค์๊ฐ ์ฒ๋ฆฌ ํ๊ฒฝ)
๐ซ ์ด์ค ๋ชจ๋ - Dual Mode Operation
CPU์ ๋ ๊ฐ์ง ์คํ๋ชจ๋, ์์คํ
๋ชจ๋์ ์ฌ์ฉ์ ๋ชจ๋
CPU๊ฐ ์ฌ์ฉ์ ์์ญ๊ณผ ์์คํ
์์ญ์ ๋๋๋๋ ๊ฒ
์์คํ ๋ชจ๋ - System Mode (ํน๊ถ Privileged Mode, ์ํผ๋ฐ์ด์ Supervisor Mode) โ CPU๊ฐ ์ด์์ฒด์ ๋ถ๋ถ์ ์คํํ ๋ ์ค์ ๋๋ ๋ชจ๋
์ฌ์ฉ์ ๋ชจ๋ - User Mode (ํ๋ก๊ทธ๋จ Program Mode)
โ CPU๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ์ค์ ๋๋ ๋ชจ๋
- ํน๊ถ ๋ช
๋ น์ด Privileged Instruction
- ์์คํ ๋ชจ๋์์๋ง ์คํ ๊ฐ๋ฅํ ๊ธฐ๊ณ ๋ช ๋ น์ด
- ์ฌ์ฉ์๋ชจ๋์์ ์คํ๋ ๊ฒฝ์ฐ ์์ธ ๋ฐ์
- ์ ์ถ๋ ฅ ๋ช ๋ น์ด ๋ฑ ์์คํ ๋ณดํธ ๋ฐ ์ ์ง๋ฅผ ์ํด ํ์
- ๋ชจ๋๊ฐ ์ด๋
- ์์คํ ๋ชจ๋์์ ์์(๋ถํ ๊ณผ์ )
- ์์คํ
๋ชจ๋ โ ์ฌ์ฉ์ ๋ชจ๋
- ์ด์์ฒด์ ๊ฐ ์ฌ์ฉ์ ๋ชจ๋๋ก ๋ณ๊ฒฝํ๊ณ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ผ๋ก ์ ํ
- ์ฌ์ฉ์ ๋ชจ๋ โ ์์คํ
๋ชจ๋
- ์๊ฐ ์ด๊ณผ ๋ฑ์ ์ธํฐ๋ฝํธ์ ์ํด ์ด์์ฒด์ ๋ด ISR ๋ก ์ ํํ๋ฉด์ ์ค์