๐ฅ๏ธ ์คํผ๋ ์ดํ ์์คํ (Operating Systems)
์ดํ์ฌ๋ โ๋ฐํจ๊ฒฝโ๊ต์๋์ Operating Systems๊ฐ์ ์ค, โ2. Introduction to Operating Systemsโ๊ฐ์๋ฅผ ์๊ฐํ๊ณ ํ์ตํฉ๋๋ค.
1. ์ด์์ฒด์ ๋?
์ปดํจํฐ ํ๋์จ์ด ๋ฐ๋ก ์์ ์ค์น๋์ด, ์ฌ์ฉ์ ๋ฐ ๊ฐ์ข ์ํํธ์จ์ด์ ํ๋์จ์ด๋ฅผ ์ฐ๊ฒฐํ๋ ์ํํธ์จ์ด ๊ณ์ธต์ ๋๋ค.
โ ๊ฐ๋จํ๊ฒ, ์ปดํจํฐ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํด์ฃผ๋ ๊ฒ ์ ๋๋ค.
2. ์ด์์ฒด์ ์ ๋ชฉ์
์ด์ ์ฒด์ ์ ๋ชฉ์ ์ ๋ ๊ฐ์ง๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค.
์์ ๊ด๋ฆฌ: CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ๋คํธ์ํฌ ๋ฑ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์์์ ๊ณตํํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
ํ๋ก์ธ์ค ๊ด๋ฆฌ: ์ฌ๋ฌ ํ๋ก๊ทธ๋จ(ํ๋ก์ธ์ค)์ด ๋์์ ์คํ๋ ์ ์๋๋ก ๊ด๋ฆฌํ๋ฉฐ, ํ๋ก์ธ์ค ๊ฐ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ , ํจ์จ์ ์ธ ์คํ์ ๋ณด์ฅํฉ๋๋ค.
์ ์ถ๋ ฅ ๊ด๋ฆฌ: ํค๋ณด๋, ๋ง์ฐ์ค, ๋์คํฌ, ๋คํธ์ํฌ ์ฅ์น ๋ฑ ๋ค์ํ ์ ์ถ๋ ฅ ์ฅ์น์ ์ปดํจํฐ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ณผ์ ์ ๊ด๋ฆฌํฉ๋๋ค.
ํ์ผ ์์คํ ๊ด๋ฆฌ: ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๋ ํ์ผ ์์คํ ์ ์ ๊ณตํ๋ฉฐ, ๋ฐ์ดํฐ์ ์ ์ฅ, ๊ฒ์, ๋ณดํธ, ์ ๊ทผ ๊ถํ ๋ฑ์ ๊ด๋ฆฌํฉ๋๋ค.
3. ์ด์์ฒด์ ์ ๋ถ๋ฅ
์ฒ๋ฆฌ๋ฐฉ์
1. ์๋ถํ (Time Sharing)
- ์ ์: ์ฌ๋ฌ ์์ ์ ์ํํ ๋ ์ปดํจํฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ์ผ์ ํ ์๊ฐ ๋จ์๋ก ๋ถํ ํ์ฌ ์ฌ์ฉํฉ๋๋ค.
- ํน์ง:
- ์ผ๊ด ์ฒ๋ฆฌ ์์คํ ์ ๋นํด ์งง์ ์๋ต ์๊ฐ์ ๊ฐ์ง๋๋ค.
- ์ ํํ ์๊ฐ์ ๋ณด์ฅํ๋ ๊ฒ์ ์๋๋ฉฐ, ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ฌ์ฉํ์ฌ ์์ ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
- ์์: ์๋ถํ ์์คํ ์์๋ ํ๋ก๊ทธ๋จ ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์คํํ ์ ์์ง๋ง, ์์์ ๋๋์ด ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์์์ ๋ง์ด ์๋ชจํ๋ ์์ ์ ๋์์ ์คํํ๋ฉด ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
2. ์ค์๊ฐ ์ด์์ฒด์ (Realtime OS)
- ์ ์: ์ ํด์ง ์๊ฐ ์์ ์ด๋ ํ ์์ ์ด ๋ฐ๋์ ์๋ฃ๋๋๋ก ๋ณด์ฅํ๋ ์ด์์ฒด์ ์ ๋๋ค.
- ์์ฉ ๋ถ์ผ:
- ์์๋ก ์ ์ด
- ๊ณต์ฅ ์ ์ด
- ๋ฏธ์ฌ์ผ ์ ์ด
- ๋ฐ๋์ฒด ์ฅ๋น ๋ฐ ๋ก๋ด ์ ์ด
- ์ค์๊ฐ ์์คํ
์ ์ ํ:
- Hard Realtime System: ์๊ฐ ์ค์๊ฐ ๋งค์ฐ ์ค์ํ๋ฉฐ, ๋ฐ๋๋ผ์ธ์ ์ด๊ธธ ์ ์์ต๋๋ค.
- Soft Realtime System: ์๊ฐ์ด ์ค์ํ ์์์ด์ง๋ง, ๋ฐ๋์ ๋ฐ๋๋ผ์ธ์ ์งํค์ง ์์๋ ๋ฉ๋๋ค.
- ์คํด์ ์ค๋ช
:
- ์๋ถํ ๊ณผ์ ์ฐจ์ด: ์๋ถํ ์์คํ ์ ์๊ฐ์ ๋๋์ด ์ฌ๋ฌ ์์ ์ ์ฒ๋ฆฌํ์ง๋ง, ๋ฐ๋๋ผ์ธ ์ค์๋ ๋ณด์ฅํ์ง ์์ต๋๋ค. ๋ฐ๋ฉด, ์ค์๊ฐ ์ด์์ฒด์ ๋ ๋ฐ๋๋ผ์ธ์ ์๊ฒฉํ ์ค์ํด์ผ ํฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ์ผ๋ฐ์ ์ธ ์ปดํจํฐ์์ ์ํ๋ฅผ ๋ณผ ๋๋ ์ค์๊ฐ์ฑ์ด ์๊ตฌ๋์ง ์์ผ๋ฉฐ, ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ์คํ ์ค์ด๋ผ๋ฉด ์ํ๊ฐ ๋๊ธธ ์ ์์ต๋๋ค. ์ด๋ ์๋ถํ ์์คํ ์ ํน์ฑ ๋๋ฌธ์ ๋๋ค.
3. ์ผ๊ด ์ฒ๋ฆฌ (Batch Processing)
- ์ ์: ์์ ์์ฒญ์ ์ผ์ ๋ ๋ชจ์์ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋๋ค.
- ํน์ง:
- ์์ ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค.
- ์ฃผ๋ก ์ด๊ธฐ ์ปดํจํฐ ์์คํ ์์ ์ฌ์ฉ๋์์ต๋๋ค.
- ์์: ์ด๊ธฐ ํ์น ์นด๋ ์ฒ๋ฆฌ ์์คํ ์ ์์ ์ ๋ชจ์ ํ ๋ฒ์ ์ฒ๋ฆฌํ๋ ์ผ๊ด ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ํ์ ์ธ ์์ ๋๋ค.
4. ์ด์ ์ฒด์ ์ ๋ถ๋ฅ
์ด์ ์ฒด์ ๋ ๋์ ์์ ์ ๊ฐ๋ฅ ์ฌ๋ถ, ์ฌ์ฉ์์ ์, ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ฐ๋ผ ๋ถ๋ฅ๋ ์ ์์ต๋๋ค.
5. ์ฉ์ด ์ ๋ฆฌ
- ๋ฉํฐํ์คํน: ํ๋์ CPU๊ฐ ์ฌ๋ฌ ์์ ์ ๋ง์น ๋์์ ์คํํ๋ ๊ฒ์ฒ๋ผ ์๋ถํ ๋ฐฉ์์ผ๋ก ์งํํ๋ ๊ฒ.
- ๋ฉํฐํ๋ก๊ทธ๋๋ฐ: ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์๋ ์ํ. ๋ฉ๋ชจ๋ฆฌ ์ธก๋ฉด์ ๊ฐ์กฐํ ์ฉ์ด์ ๋๋ค.
- ํ์ ์์ด๋ง: CPU ์๊ฐ์ ๋๋์ด ์ฌ์ฉํ๋ ๋ฐฉ์. CPU ์ฌ์ฉ์ ๊ฐ์กฐํ ํํ์ ๋๋ค.
- ๋ฉํฐํ๋ก์ธ์ฑ: ์ฌ๋ฌ ๊ฐ์ CPU๋ฅผ ์ฌ์ฉํ์ฌ ๋์์ ์ฌ๋ฌ ์์ ์ ์ฒ๋ฆฌํ๋ ๊ฒ.
- ๋ฉํฐํ๋ก์ธ์: ํ๋์ ์ปดํจํฐ์ ์ฌ๋ฌ CPU๊ฐ ์๋ ์ํ๋ฅผ ์๋ฏธํฉ๋๋ค.
๐ ๏ธ ์ด์ ์ฒด์ ์ ์
1. Unix
- ํน์ง:
- ๋ํ ์ปดํจํฐ๋ฅผ ์ํด ์ค๊ณ๋ ์ด์์ฒด์ ์ ๋๋ค.
- ์ฝ๋ ๋๋ถ๋ถ์ด C์ธ์ด๋ก ์์ฑ๋์์ต๋๋ค.
- ์์ค ์ฝ๋๊ฐ ๊ณต๊ฐ๋์ด ์์ผ๋ฉฐ, ๋ค์ํ ๋ฒ์ ์ด ์กด์ฌํฉ๋๋ค.
- ๋์ ์ด์์ฑ์ ๊ฐ์ง๊ณ ์์ด, ๋ค์ํ ํ๋์จ์ด์์ ์คํ์ด ๊ฐ๋ฅํฉ๋๋ค.
- ๋ค์ํ ์ ๋์ค ๊ณ์ด ์ด์์ฒด์ : Linux, Solaris, SunOS ๋ฑ.
- ์ญ์ฌ์ ์ค์์ฑ: ์ ๋์ค๋ C์ธ์ด๋ก ์์ฑ๋์ด ์์ด, ์ด์ ๋ธ๋ฆฌ์ด๋ณด๋ค ์ด์์ฑ๊ณผ ์ ์ง๋ณด์์ฑ์ด ๋ฐ์ด๋ฉ๋๋ค.
2. DOS (Disk Operating System)
- ํน์ง:
- MS์ฌ์์ 1981๋ IBM-PC๋ฅผ ์ํด ๊ฐ๋ฐํ ์ด์์ฒด์ ์ ๋๋ค.
- ๋จ์ผ ์ฌ์ฉ์์ฉ ์ด์์ฒด์ ๋ก, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฅ๋ ฅ์ ํ๊ณ๊ฐ ์์ต๋๋ค (์ฃผ๊ธฐ์ต์ฅ์น: 640KB).
3. MS Windows
- ํน์ง:
- MS์ฌ์ ๋ค์ค ์์ ์ฉ GUI ๊ธฐ๋ฐ ์ด์ ์ฒด์ ์ ๋๋ค.
- Plug and Play, ๋คํธ์ํฌ ํ๊ฒฝ ๊ฐํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- DOS์ฉ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ์ ํธํ์ฑ์ ์ ๊ณตํฉ๋๋ค.
- ์ด๊ธฐ ๋ฒ์ ์์๋ ์์ ์ฑ์ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
๐ ๏ธ ์ด์ ์ฒด์ ์ ๊ตฌ์กฐ
1. CPU ์ค์ผ์ค๋ง
- ์ ์: CPU ์์์ ํจ์จ์ ์ผ๋ก ๋ถ๋ฐฐํ๊ธฐ ์ํด ํ๋ก์ธ์ค์ ์คํ ์์๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๊ธฐ๋ฒ:
- FCFS (First-Come, First-Served): ๋จผ์ ์จ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์. ๊ทธ๋ฌ๋ CPU๊ฐ ๊ธด ์์ ์ ์ฐจ๋จ๋๋ฉด ๋นํจ์จ์ ์ผ ์ ์์ต๋๋ค.
- SJF (Shortest Job First): ์งง์ ์์ ์ ์ฐ์ ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ํจ์จ์ฑ์ ๋์ด๋ ค๋ ๋ฐฉ์์ ๋๋ค.
2. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ๊ณผ๊ฑฐ์ ๋ง์ด ์ฌ์ฉ๋ ๋ฐ์ดํฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๋ก๋๊ณ , ์ค๋ซ๋์ ์ฌ์ฉ๋์ง ์์ ๋ฐ์ดํฐ๋ ์ซ์๋ด๋ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
3. I/O Device ๊ด๋ฆฌ
- ์ ์: ๊ฐ๊ธฐ ๋ค๋ฅธ ์ ์ถ๋ ฅ ์ฅ์น์ ์ปดํจํฐ ๊ฐ์ ์ ๋ณด ์ ๋ฌ์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- ๊ธฐ์ : ์ฃผ๋ก ์ธํฐ๋ฝํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.