์ด์์ฒด์ ์ ๋ํ ์ ๋ฐ์ ์ธ ์๊ฐ๋ฅผ ์งํํ๊ฒ ์ต๋๋ค.
๋์์, ์ปดํจํฐ ์์คํ
์ ๊ตฌ์กฐ์ ๋ํด์ ๋งํ๋ฉฐ ์ด์์ฒด์ ๊ฐ ์ปดํจํฐ ์์คํ
์์ ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํด์ ์์๋ณด๊ธฐ ์ํ ๊ธฐ๋ณธ์ ๋ํด์ ์์๋ณด๋๋ก ํฉ์๋ค~
๊ทธ๋ ๋ค๋ฉด ๊ฐ์ฅ ๋จผ์ OS๊ฐ ๋ฌด์์ธ์ง, ์ด๋ค์ผ์ ํ๋์ง ์์๋ณด๋๋ก ํ์!
OS๋ ? ์ฌ์ฉ์๊ฐ Computer hardware๋ฅผ ์ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค์ด์ฃผ๋ interface์ด๋ค.
์ด์์ฒด์ ๊ฐ ๋ฌด์์ธ์ง๋ ์ด์์ฒด์ ์ ์ญํ ์ ์ดํดํ๋ฉด ์ ์ ์๋ค.
ํฌ๊ฒ ๋๊ฐ์ง ์ญํ ๋ก ๊ตฌ๋ถ์ด ๊ฐ๋ฅํ๋ค.
์์ํ ๋น์ (Resource Allocator)
๋ชจ๋ ์์์ ๊ด๋ฆฌํด์ฃผ๋ ์ญํ ์ ํ๋ค.
๋ชจ๋ ๋๋ฐ์ด์ค๋ค์ด ๊ณตํํ๊ณ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋๋ก ํด์ค๋ค.
ํ๋ก๊ทธ๋จ ์ ์ด (Control Program)
์๋ฌ๋ฅผ ์๋ฐฉํ๊ณ ๋ถ์ ์ ํ ์ฌ์ฉ์ ์ ์ดํ๋ ์ญํ ์ ํ๋ค.
์ด์์ฒด์ ๋ ์ด๋๊น์ง๋ผ๊ณ ํ ์ ์์๊น?
OS๊ฐ ์ด๋ฌํ ์ญํ ์ ์ํํ๋ ๋ชฉํ๊ฐ ๋ฌด์์ผ๊น?
์ด์์ฒด์ ๋ Computer System์ ํจ์จ์ ์ผ๋ก ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก User์๊ฒ ์ ๊ณตํ๋ ์ญํ ์ ํ๋ค๊ณ ํ๋๋ฐ ๊ทธ๋ ๋ค๋ฉด Computer System์ด ๋ฌด์์ธ์ง ์์์ผํ ๊ฒ์ด๋ค.
Computer System์ด ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํด์ ์์๋ณด๋ฉด OS์ ๋ํด์ ์ดํดํ๊ฒ ๋ ๊ฒ์ด๋ค.
ํด๋น ์ฑํฐ์์๋ ์ด์์ฒด์ ๋ฅผ ์์๋ณด๊ธฐ ์ ์ ์ด์์ฒด์ ๊ฐ ์ ์ฉ๋ Computer System์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ๋ค
4๊ฐ์ component๋ก ๊ตฌ๋ถํ ์ ์๋ค.
์์ ๋ฒํธ๋ถํฐ ์ฐจ๋ก๋๋ก computer system์ ํ๋จ์์ ๋ถํฐ ๊ตฌ์ฑํ๊ณ ์๋ค.
bootstrap ์ ์ํด์ ๋ถํ
๋๋ค.
ROM or EEPROM ๋ฑ์ firmware์์ ๋ค์ด์๋ bootstrap์ด ์ปดํจํฐ ์ ์์ด ์ผ์ง๋ฉด์ ๊ฐ์ฅ ์ฒ์์ผ๋ก ์คํ๋๊ณ ์ด๊ธฐํ๊ฐ ์งํ๋๋ค.
kernel์ด(OS๊ฐ) ~~๊ฐ ~~์ ์๋ค๋ ๊ฒ์ ์๊ณ (์ด๋ฏธ ์๊ณ ์์) ๋ก๋ฉํด์ฃผ๋ ์ญํ ์ ์งํํ๋ค.
CPU๋ ๊ณต์ memory๋ฅผ ์ฃผ์๊ฐ์ ํตํด์ ์ ๊ทผํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค.
์ด๋, ๋ฐ์ดํฐ๋ device๋ค์ I/O์์
์ด ์งํ๋๋ฉฐ ๊ฐ๊ฐ์ Controller์ ์ํด์ shared BUS๋ฅผ ํ๊ณ ๋ค์ด์ค๊ฒ ๋๋ค.
ํน์ง
1. concurrently : CPU์ ์์
๊ณผ I/O ์์
์ ๋์์ ์คํ๋ ์ ์๋ค.
2. buffer : ๊ฐ ๋๋ฐ์ด์ค๋ค์ Controller๋ local buffer๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์ผ๋จ์ buffer์ ์ ์ฅํ๋ฉฐ I/O๋ฅผ ์ํํ๋ค.
- Disk out : write์์
์ผ๋ก disk controller์ buffer์์ disk๋ก disk์ ์๋์ ๋ง์ถฐ์ ๋ฐ์ผ๋ก ์ถ๋ ฅ์ ์ํํ๋ค.
- Disk in : read์์
์ผ๋ก disk controller์ local buffer์ ์ ์ฅํ๋ ์์
์ ์ํํ๋ค.
3. DMA Controller : buffer์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ shared Bus๋ฅผ ํตํด์ memory์ ์ ์ฅํ ๋ block๋จ์๋ก ์ํํ๋ค.
4. Interrupt : DMA Controller์ ๋์์ ๋ฐ์์ disk buffer์ data๊ฐ memory์ ์ฐ์ฌ์ง๋ CPU์๊ฒ i/o ์์
์ด ๋๋ฌ์์ ์๋ ค์ฃผ๊ณ memory์ ๋ค ์ฐ์ฌ์ก์์ ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.
๊ฒฐ๊ตญ์ I/O ์์
์ด ๋๋๊ณ CPU์ Control์ Interrupt์ ์ํด์ ๋ฐ์ํ๋ค.
I/O์์
๊ณผ CPU ์ฌ์ด์ Interrupt์ ๋ํด์๋ ์กฐ๊ธ ๋ ์์ธํ ์์๋ณด์!!
Interrupt์ ์ํด์ CPU ์์ ์ด ์คํ๋๊ฒ ๋๋ค. Interrupt์ ๋ํด์ ์์ธํ ์์๋ณด์!
Interrupt๋ ์ฌ๋ฌ์ข ๋ฅ๊ฐ ์์ ์ ์๋๋ฐ ๊ฐ๊ฐ์ Interrupt๋ง๋ค ์ฒ๋ฆฌํด์ฃผ๋ ๋ฃจํด์ด ๋ค ๋ค๋ฅผ ๊ฒ์ด๋ค. ์ด๋, "Interrupt Vector"๋ ๊ฐ Interrupt๋ง๋ค ์ด๋์ ์ด๋ค ์์ ์ ์ํํด ์ค ๊ฒ์ธ์ง์ ๋ํ ์ ๋ณด๊ฐ ์๋์ง์๊ฐ ๋ด๊ฒจ์ ธ์๋ค.
Interrupt๋ฅผ ์ฒ๋ฆฌ์ค์ธ๋ฐ ๋ค๋ฅธ Interrupt๊ฐ ๋ฐ์ํ์ ๋
์ฐ์ ์์๋ฅผ ๋น๊ตํด์ ์ฐ์ ์์๊ฐ ๋์ ๊ฒ์ ๋จผ์ ์ฒ๋ฆฌํด์ค๋ค.
๋ค๋ฅธ Interrupt๋ฅผ ์คํํ ๋๋ ์ด๋ฏธ ๋์์ค์ด๋ CPU ๋์์ save ํด์ฃผ๊ณ ๋ค์ ์คํํ ๋๋ ํด๋น ์์ ์ดํ ๊ณผ์ ๋ง ์คํํ๋ฉด ๋๋ค.
SOFTWARE์ ์ธ interrupt : TRAP
error๊ฐ ๋ฐ์ํ๋ฉด ์ ํธ๋ฅผ ์ค์ ์ฒ๋ฆฌํ ์ ์๋๋ก software์ ์ธ ์๋ฌ(ex. 3/0)๋ฅผ ๊ฑธ์ด์ฃผ๋๋ฐ trap์ด๋ผ๊ณ ํ๋ค.
์ฌ์ฉ์์ ์์ฒญ์ ์ํด์ interrupt๊ฐ ๋ฐ์ํ ์ ์๋ค.
Interrupt Driven
OS๋ ๋ชจ๋ interrupt์ ์ํด์ ๋์์ด ์งํ๋๋๋ฐ ์ฐ๋ฆฌ๊ฐ ํด๋๋ฅผ ํด๋ฆญํ๊ณ ๊ธ์ ์์ฑํ๊ณ ํ๋ ๋ฑ์ ๋ชจ๋ ํ์๊ฐ interrupt๊ฐ ๋๋ค.
Interrupt Handling(Interrupt Cycle)
๊ทธ๋ ๋ค๋ฉด 2๋ฒ์์ interrupt๋ Service๊ฐ ์ด๋์ ์๋์ง ํ์ ํ๋ ๋ฐฉ๋ฒ์ด ๊ถ๊ธํด์ง ๊ฒ์ด๋ค.
Which type of interrupt has occurred
Interrupt Driven์ ๋ํด์ ์์๋ดค๋๋ฐ ๋ฐ์์๋ I/O์์ ์ ๋ํด์ ๋ํ ์ผํ๊ฒ ์์๋ณด์!
์ง๊ธ๊น์ง Computer System์ด ์ด๋ป๊ฒ ๋์ํ๋์ง์ ๋ํด์ ์์๋ณด๋ฉฐ OS๊ฐ ์ด๋ป๊ฒ hardware(device)๋ฅผ ์ปจํธ๋กคํ๊ฒ ๋๋์ง CPU์์ ๊ด๊ณ์ ์ํด์ ์์๋ณผ ์ ์์๋ค. ํฐํ์ ์ดํดํ๋ค๋ฉด ๊ทธ๋ ๋ค๋ฉด ์ด์ ๋ hardware์ Storage์ ๋ํด์ ์์๋ณด๋ฉฐ OS์ ๋์์ ๋ํด์ ์ดํดํด๋ณด์!!
๊ณ์ธต์ ์ธ ๊ตฌ์กฐ์ ์ ์ฅ๋งค์ฒด๊ฐ ์กด์ฌํ๋ค.
speed, cost, valatility
์๋ก ๊ฐ์๋ก ๋นจ๋ผ์ง๊ณ ์๋๋ก ๊ฐ์๋ก ์ธ์ง๋ค. main memeory ์์ชฝ์ผ๋ก๋ ์ ๊ธฐ๊ฐ ๋๊ธฐ๋ฉด ๋ ๋ผ๊ฐ๋ค. ๊ทธ ์๋๋ ์ ๊ธฐ๊ฐ ๋๊ฒจ๋ ๊ณ์ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋๋ค.
caching
์์ ๊ณ์ธต์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ ค๋๋ ๊ฒ์ ์บ์ฑ๊ธฐ๋ฅ์ด๋ผ๊ณ ํ๊ณ ์๋๊ฐ ๋ ๋น ๋ฅธ ๊ณ์ธต์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ฒจ๋๋ ๊ณผ์ ์ ์๋ฏธํ๋ค.
(cache๋ register์๋์ ์๋ ์ ์ฅ๋งค์ฒด๋ฅผ ์๋ฏธํ๋ค.)
Typical size
register: <1KB
cache : >16MB
main memory : >16GB
disk stroage : > 100GB
Access time(ns)
register: 0.25 - 0.5
cache : 0.5 - 25
main memory : 80-250
disk storage : 5,0000,000
=> ๊ฐ๋ฅํ main memroy์์์ cpu๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ ์ธ ์ ์๋๋ก ๊ตฌ์ฑ ๋์ด์ผํ๋ค.
Bandwidth(MB/sec)
register: 20,000 - 100,000
cache : 5000 - 10,000
main memory : 1000 - 5000
disk stroage : 20 - 150
=> ๋์ญํญ์ด disk storage๊น์ง ๋๋๋ก ๋ด๋ ค๊ฐ์ง ์๋๋ก ํด์ผํ๋ค.
=> main memory๊น์ง๋ ์ ๊ธฐ์ ์ผ๋ก ์ํ๋์ง๋ง, ์๋๋ถํฐ๋ ๊ธฐ๊ณ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋ฐ๋ ์ ๋ฐ์์๊ณ ์ด๋ก ์ธํ ์ฑ๋ฅ์ฐจ์ด๊ฐ ๋ฐ์ํ ์ ๋ฐ์ ์๋ค.
magnetic disk
disk์ ํ๋ฉด์ ๋๋ต ๋ง๊ฐ ์ด์์ track(์)์ผ๋ก ๊ตฌ์ฑ์ด ๋์ด์๊ณ ํ ํธ๋ ์์ ๊ต์ฅํ ๋ง์ ์์ sector๋ก ๊ตฌ์ฑ๋์ด์๊ณ sector๋จ์๋ก disk I/O์์
์ด ์ด๋ฃจ์ด์ง๋ค.
์ฝ๊ณ ์ฐ๊ธฐ ์์
์ ํ ๋ device์ controller์ฌ์ด์ interface์ญํ ์ disk controller๊ฐ ์งํํ๋ค.
์์ด ๋ชจ์ฌ ํ๋์ ์ํ์ ํ๋ํฐ๋ฅผ ์์ฑํ๋๋ฐ ์ด๊ฒ์ด ์์ญ, ์๋ฐฑ๊ฐ๊ฐ ๋ชจ์ฌ ๋๊ธฐํ๋ ์ํ๋ก ๊ฐ์ ์๋๋ก ์ผ์ ํ๊ฒ ๋๊ธฐ ์์ํ๋ค. ๋๋ค๊ฐ ์ํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ๋ฉด ์ฝ๊ฑฐ๋ ์ฐ๊ธฐ๋ฅผ ์งํํ๋ค. platter์ ์๋ฉด, ์๋ซ๋ฉด์ ์ฝ๊ธฐ ์ํด์ arm์ด ์, ์๋๋ก ์กด์ฌํ๋ค. ์ด๋ arm์ read-writed head๊ฐ ์กด์ฌํ๊ณ ์ด๋ก ์ธํด์ disk I/O์์
์ด ์ด๋ฃจ์ด์ง๋ค.
๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ๋ ๋ง๊ทธ๋คํฑ ํ๋๊ฐ ์์ง, ์ํ๋ฐฉํฅ์ค์ ์ด๋ค ๊ฒ์ธ์ง 1,0์ผ๋ก ๊ตฌ๋ถํด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๋๋ ๊ฒ์ด๋ค.
optical disk
์ปดํจํฐ ์์คํ ์ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๋ฎ์ level์ ์คํ ๋ฆฌ์ง์์ ๋ฐ์ดํฐ๋ฅผ ๋์ level์ ์คํ ๋ฆฌ์ง๋ก ์ฎ๊ฒจ๋๊ณ ์๋๋ฅผ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ caching์ด๋ผ๊ณ ํ๋ค.
ex)
magnetic disk๋ optical disk์ cache ์ญํ ์ ํ๋ค.
optical disk๋ magnetic tapes์ cache ์ญํ ์ ํ๋ค.
CPU๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ค์ด๋ ๊ณผ์
register์์ ์ฐพ๋ค๊ฐ ์์ผ๋ฉด cache์์ ์ฐพ๋ค๊ฐ ์์ผ๋ฉด Main memory์์ ์ฐพ๊ณ ์ด๋๋ ์์ผ๋ฉด magnetic disk์์ ์ฐพ๊ณ ์ ์ ์๋๋ก ๋ด๋ ค๊ฐ๋ฉด์ ์ฐพ๊ฒ๋๋ค.
์ด๋ magnetic disk์์ ๋ฐ๊ฒฌํ๋ค๊ณ ํ์. ๋ฐ๊ฒฌํ ๋ฐ์ดํฐ๋ฅผ main memory๋ก ์ฌ๋ฆฌ๊ณ main memory์์ cache๋ก ์ฌ๋ฆฌ๊ณ cache์์ hardware์ ์ฌ๋ ค์ค๋ค.
์ด๋, magnetic disk์ ์๋ ๋ฐ์ดํฐ์ ๋ณต์ฌ๋ณธ์ด ์์ ๊ณ์ธต์ ๋ชจ๋ ์กด์ฌํ๊ฒ๋๋๋ฐ, update๊ฐ ์งํ๋์ ๋ ์ฌ๋ฌ๊ฐ์ ๋ณต์ฌ๋ณธ์ ๋ชจ๋ ๋ณ๊ฒฝ์์ผ์ค์ผ๋ก์จ cache์ Coherency์ ๊ฐ์ ธ๊ฐ์ผํ ํ์๊ฐ ์๋ค.
์ง๊ธ๊น์ง CPU, I/O Device๋ค์ ๋์์ Computer System๊ณผ Storage๋ค์ ๋์์๋ฆฌ์ ๋ํด์ ์ดํดํ๋ฉฐ ์์๋ณด์๋ค. ๊ทธ๋ ๋ค๋ฉด ์ง๊ธ๊น์ง ์์๋ณธ ์ปดํจํฐ ์์คํ ์์ ์ด๋ป๊ฒ OS๊ฐ ๊ตฌ์ฑ๋๊ณ ์๋์ง์ ๋ํด์ ์์๋ณด๋๋กํ์!
Multiprogramming
Memory์์ ์ฌ๋ฌ๊ฐ์ job๋ค์ด ์ฌ๋ผ์์ ์ฌ๋ฌ๊ฐ์ job๋ค์ด ์์ฃผํ ์ ์๋๋กํ๊ณ CPU์ ๋์์ด ํ์ํ ๋ ์ค์ผ์ค๋งํด์ ์ฌ์ฉํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด CPU I/O ์์
์ ํจ์จ์ ์ผ๋ก ํ ์ ์๋ค.
Multitasking(TiemSharing)
multiprogramming์ฒ๋ผ ํ ์์
์ด ๋๋๋ฉด ๋ค๋ฅธ ์์
์ ์คํํด์ฃผ๋ ๋ฐฉ์์ด ์๋๋ผ, ํ๋์ ์์
์ด ์ฒ๋ฆฌ๋ ์ ์๋ ์๊ฐ์ ์ ํ์ ๋๊ณ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๋ค์ด time์ ๋๋ ์งํํ๋๋ก ํ๋ ๋ฐฉ์์ด๋ค.
ex) 1000๋ช
์ ์ง์์ด ํ๋์ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ์ ๊ทผํ์ฌ ์ฌ์ฉํ ๋, 1์ด ์ดํ์ response time์ด ๋๋๋ก ์๋ถํ ์ ํตํด์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์์
์ ์ฐ์์ ์ผ๋ก ํ๊ณ ์๋ ๊ฒ์ฒ๋ผ ๋๋ผ๊ฒ ํ ์ ์๋ค.
Swapping : process๊ฐ ๋๋จ์ ๋ฐ๋ผ์ memory ๊ณต๊ฐ์์ ๋ด๋ ค์ฃผ๊ณ ๋ค์ process๊ฐ ์ฌ์ฉ๋ ์ ์๋๋ก ์ฌ๋ ค์ฃผ๋ ๋ฐฉ์
virtual memory : ๋ฌผ๋ฆฌ์ ๊ตฌ๋ถ์ด ์๋๋ผ ๋
ผ๋ฆฌ์ ๊ตฌ๋ถ์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ์ฉ์์ ์
์ฅ์์ ๋ฌดํํ ๊ณต๊ฐ์ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ฒ๋ผ swapping ๋ฐฉ์ ๋ฑ์ ํตํด ๊ตฌํ๋๋ค.
interrupt๋ hardware์ ์ผ๋ก ๋ฐ์ํ๋ค.
trap์ software์ ์ธ๋ฐ, software error(Zero Division Error) ๋ฑ๊ณผ ๊ฐ์ ์๋ฌ์ฒ๋ฆฌ๋ฅผ ์ํด์ trap์ ๋ง๋ค์ด์ค๋ค.
๋ฌดํ๋ฃจํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ timer๋ฅผ ์ธํ
ํด์ฃผ๊ณ interrupt๊ฐ ๋ฐ์์ ์ฒ๋ฆฌํด์ค๋ค.(timer๋ฅผ setํด์ฃผ๊ณ counter๊ฐ์ ์ค์ฌ๋๊ฐ๋ฉฐ 0์ด ๋์์ ๋ interrupt๊ฐ ๋ฐ์ํ๊ณ ๋ฌดํ๋ฃจํ์ ๊ฒฝ์ฐ ์์์ ๋ชจ๋ ๋ฐํํด์ before์ํ๋ก setupํ๋ค.)
ํ๋ก์ธ์ค๋ ? ํ์ฌ ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๋ค. CPUํํ ํ ๋น๋๋ ์์ ์ ํ ๋จ์์ด์ด๋ค.
program์ ์คํ๋๋ ๊ฑฐ๋๊น ์๋์ ์ด๊ณ (passive) ํ๋ก์ธ์ค๋ก ์คํ๋๋๊น process ๋ฅ๋์ (active)์ด๋ผ๊ณ ๊ตฌ๋ถํ ์ ์๋ค.
ํ๋ก๊ทธ๋จ์ ์ค์น๋ ์ํ์์ ๊ฐ๋งํ ์๊ณ ํ๋ก์ธ์ค๊ฐ ์์
์ ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
Process์ ๊ตฌ์ฑ
CPU, MEMORY, I/O, FILES ๋ฑ์ ํ๋ก์ธ์ค๋ ํ์๋กํ๋ค.
๋ฌผ๋ก ์์
์ ํ๊ธฐ ์ํด์๋ ์ด๊ธฐ ๋ฐ์ดํฐ๋ ํ์ํ๋ค.
Reclaim(๋ฐํ)
ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋๋ค๋ฉด ์ฌ์ฉํ๋ ์์์ ๋ชจ๋ ๋ฐํํด์ผํ๋ค.
๋ฐ๋ฉํ ์์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์คํ๋ ๋ ์ฌ์ฉํ๋ค.
Thread
Process๊ฐ ์ชผ๊ฐ์ง ์์ ์ ๋จ์์ด๋ค.
PC
SingleThread : process๊ฐ thread์ด๋ค.
MultiThread : process๊ฐ ๋ ์ชผ๊ฐ์ง ์ ์๋ ๊ฒฝ์ฐ๋ก ์ชผ๊ฐ๋ ๋จ์๋ก PC(Program counter)๋ฅผ ๊ฐ์ง๋ค.
MultiThread
CPU๊ฐ ํ๋๋ผ๋ฉด ๋์์ ์ฌ๋ฌ๊ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ด๋ ํ์๊ฐ์ ํ๋๋ง ์ฒ๋ฆฌํ๊ณ ์๋ค.
๊ทธ๋ฌ๋, activeํ ์ํ๋ก ์๋ thread๋ค์ด ๋์์ ์ฌ๋ฌ๊ฐ๊ฐ ์กด์ฌํ ์ ์๋ค๋ ์ ์์ single thread์ ๋ค๋ฅด๋ค.
๋ชจ๋ instruction๋ค์ ์คํ๋๊ธฐ ์ํด์ memory์์ ์ฌ๋ผ์์์ด์ผํ๋ค.
์ด๋ OS๋ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ ํํธ๋ฅผ ๋๊ฐ ์ธ์ ์ฌ์ฉํ๋์ง ๊ด๋ฆฌํด์ฃผ๋ ์ญํ ์ ํ๋ค.
OS๋ ์ผ๊ด์ ์ด๊ณ ๋
ผ๋ฆฌ์ ์ธ ๋ทฐ๋ฅผ (ex.ํ์ผ๊ด๋ฆฌ์) ์ ๊ณตํด์ผํ๋ค.
device๋ค์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํด์ค์ผํ๋ค.(ex. sequentialํ tape drive๋ ์์ฐจ์ ์ผ๋ก๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ณ harddisk๋ randomํ๊ฒ ์ ๊ทผํด์ ์ํ๋๋๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค๋ ๊ตฌ๋ถ, ์ด๋ค ๋๋ผ์ด๋ฒ๋ speed๊ฐ ๋งค์ฐ ๋๋ฆด ๊ฒ์ด๊ณ ๋ฑ๋ฑ์ ๋ํ ๊ฐ ์์ฑ๊ฐ๋ค์ ๋ํด์ ์ ๊ณตํด์ค์ผํ๋ค)
main memory์์ ๋ค์ด๊ฐ ์ ์๋ ํฐ ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ๋ disk์ ์ ์ฅํด์ผํ๋ค.
์ด๋ ๊ฒ ์ ์ฅ๋๋ฉด ์ค๋ซ๋์ ๋ณด๊ด๋๋๋ฐ ๋์ญํญ์ด ๋จ์ด์ง๊ณ ์ ๊ทผ ์๋๊ฐ ๋งค์ฐ ๋๋ ค์ง๋ค.
๊ทธ๋์ Disk๋ฅผ ์ด๋ป๊ฒ ๊ด๋ฆฌํ๋์ ๋ฐ๋ผ์ ์ฑ๋ฅ์ ์ํฅ์ ์ฃผ๋๋ฐ OS๋ฅผ ํตํด ๊ด๋ฆฌ๋ฅผ ํด์ค๋ค.
๋น์ด์๋ ๊ณต๊ฐ์ ๊ด๋ฆฌ
Storage์ ํ ๋น์ ๊ด๋ฆฌ
Disk scheduling์ ์งํ
disk์ I/O ๋ฐฉ์์ ๊ด๋ฆฌํ๋ค.
OS์๋ hardware device๊ฐ ์ฌ์ฉ์๋ก ๋ถํฐ ์ฝ๊ฒ ์ฌ์ฉ๋ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ด ํฌํจ๋์ด์๋ค.
Controller์์ buffer๊ฐ ์กด์ฌํ๋ค.
I/O controller memory๋ฅผ ์ด์ฉํด์ ๋ค์์ ์์
๋ค์ด ์ด๋ฃจ์ด์ง๋ค.
์ด๋ค ๋๋ฐ์ด์ค๋ ๊ณตํต์ ์ผ๋ก ๊ฐ์ง๊ณ ์๋ ๊ธฐ๋ฅ๋ค์ General device-driver interface๋ฅผ ํตํด ์ ๊ณต๋๋ค.
๊ฐ ๋๋ฐ์ด์ค๋ง๋ค ๋ฐ๋ก ์ ์ฉ๋๋ Device program์ด ์กด์ฌํ๋ค.
์ฌ์ฉ์์ ID๋ฅผ ๋ถ์ฌํด์ ๋ณด์์ฑ์ ๊ฐ์ ธ์ค๊ณ ID์ ๋ฐ๋ผ์ ํ์ผ ๋ฑ์ด ์ ๊ทผ์ ์ด๊ฐ ๋๋๋ก ํ๋ค.
Groupid : set of user๋ฅผ ํ๋ฒ์ ๊ด๋ฆฌํ ๋ Group id๋ฅผ ๋ง๋ค์ด ์ ์ดํ๋ค.
Escalation : ๊ถํ์ ๋์ฌ์ฃผ๋ ๊ฒฝ์ฐ
WEB-Based Computing
ํ์ชฝ์ ํธ๋ํฝ์ด ๋ง์ด ๋ชฐ๋ฆด ์ ์๋๋ฐ load balancer๋ฅผ ํตํด์ ํธ๋ํฝ์ ์ ์ดํ๋ค.
Cloud Computing
ํ์ํ ๋ ์ด๋์๋ ๋คํธ์ํฌ ์ฐ๋์ด ๋์ด์์ผ๋ฉด ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
network๋ฅผ ํตํด์ ๊ณต์ ํ๊ณ ์๋ ์์์ ์ ๊ทผํ๊ณ ํ์ํ๋งํผ on-demandํํ๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.(Saas, Paas, Iaas)
์ฌ๊ธฐ๊น์ง, OS์ ๋ํด์ ์ ๋ฐ์ ์ผ๋ก ์์๋ณด์๋ค.
OS๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ ์ฐ์ Computer System์ ์ดํดํด์ผํ๊ธฐ ๋๋ฌธ์ ๊ทธ ๋์๋ฐฉ์์ ๋ํด์ ๋จผ์ ์ค๋ช
ํ์๋ค.
๋ค์์ผ๋ก Computer System์์์ ๋์์์ OS๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค์ ๋ํด์ ์์๋ณด๋ฉฐ OS๋ฅผ ํ์ ์ ์์๋ค.
๋ค์๋ถํฐ๋, ํ๋ํ๋์ฉ ๋ํ ์ผํ๊ฒ OS์ ๋ํด์ ๋ ๊น์ด์๋ ๋ด์ฉ์ผ๋ก ์์๋ณด์!
๋ค์๊ธ์ Operating-System์ ๊ตฌ์กฐ์ ๋ํด์ ์์ธํ ์์๋ณผ ์์ ์ด๋ค