๐ ์ปดํจํฐ ์ํคํ
์ฒ๋?
์ปดํจํฐ ์ํคํ
์ฒ๋ ์ปดํจํฐ์ ๊ตฌ์ฑ ์์์ ์ค๊ณ ์๋ฆฌ๋ฅผ ์๋ฏธํฉ๋๋ค. ํ๋์จ์ด์ ์ํํธ์จ์ด๊ฐ ์ํธ์์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ฉฐ, ์ฑ๋ฅ, ํจ์จ์ฑ, ๋น์ฉ ๋ฑ ๋ค์ํ ์์๋ฅผ ๊ณ ๋ คํฉ๋๋ค.
๐ ์ฃผ์ ๊ตฌ์ฑ ์์
-
CPU (์ค์ ์ฒ๋ฆฌ ์ฅ์น)
์ปดํจํฐ์ ๋๋ ์ญํ ์ ํ๋ฉฐ, ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
- ๊ตฌ์ฑ์์: ์ฐ์ ๋
ผ๋ฆฌ์ฅ์น(ALU), ์ ์ด์ฅ์น(CU), ๋ ์ง์คํฐ(Register)
-
๋ฉ๋ชจ๋ฆฌ(Memory)
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์
๋๋ค.
- RAM(ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ), ROM(๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ)
-
์
์ถ๋ ฅ ์ฅ์น(I/O Device)
์ฌ์ฉ์๋ ๋ค๋ฅธ ์์คํ
๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์ฅ์น์
๋๋ค.
- ํค๋ณด๋, ๋ง์ฐ์ค, ๋์คํ๋ ์ด, ์ ์ฅ์ฅ์น ๋ฑ
โ๏ธ ํฐ ๋
ธ์ด๋ง ์ํคํ
์ฒ(Von Neumann Architecture)
๋๋ถ๋ถ์ ํ๋ ์ปดํจํฐ๋ ํฐ ๋
ธ์ด๋ง ์ํคํ
์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์์ต๋๋ค.
๐ ์ฃผ์ ๊ฐ๋
- ๋ฉ๋ชจ๋ฆฌ์ ๋ช
๋ น์ด์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ ์ฅํฉ๋๋ค.
- CPU๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ช
๋ น์ด๋ฅผ ์์ฐจ์ ์ผ๋ก ๊ฐ์ ธ์์ ์ฒ๋ฆฌํฉ๋๋ค.
๐ ํ๊ณ์
- ํฐ ๋
ธ์ด๋ง ๋ณ๋ชฉํ์(Von Neumann Bottleneck): CPU์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ ๋ฐ์ดํฐ ์ ์ก ์๋์ ์ ํ์ผ๋ก ์ธํ ์ฑ๋ฅ ์ ํ ๋ฌธ์ .
๐ฅ๏ธ CPU ๋์ ์๋ฆฌ
CPU๋ ์ฃผ์ด์ง ๋ช
๋ น์ด๋ฅผ ๋ค์๊ณผ ๊ฐ์ ์ฌ์ดํด๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๐ Fetch-Decode-Execute ์ฌ์ดํด
- Fetch(๊ฐ์ ธ์ค๊ธฐ): ๋ฉ๋ชจ๋ฆฌ์์ ๋ช
๋ น์ด๋ฅผ ์ฝ์ด์ต๋๋ค.
- Decode(ํด์ํ๊ธฐ): ๊ฐ์ ธ์จ ๋ช
๋ น์ด๋ฅผ ํด์ํ์ฌ ์ํํ ์์
์ ๊ฒฐ์ ํฉ๋๋ค.
- Execute(์คํํ๊ธฐ): ์ค์ ๋ก ๋ช
๋ น์ด๋ฅผ ์คํํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค.
๐ ๋ฉ๋ชจ๋ฆฌ ๊ณ์ธต ๊ตฌ์กฐ(Memory Hierarchy)
์ฑ๋ฅ๊ณผ ๋น์ฉ์ ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํด ๋ฉ๋ชจ๋ฆฌ๋ ๊ณ์ธต ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ๋ ์ง์คํฐ(Register): CPU ๋ด๋ถ์์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ ์ํ ๋ฉ๋ชจ๋ฆฌ์
๋๋ค.
- ์บ์(Cache): CPU ๊ฐ๊น์ด์ ์์นํ๋ฉฐ ์์ฃผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ์๋๋ฅผ ๋์
๋๋ค.
- ์ฃผ๊ธฐ์ต์ฅ์น(Main Memory, RAM): ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํฉ๋๋ค.
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น(Secondary Storage): ๋์ฉ๋์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํฉ๋๋ค(HDD, SSD ๋ฑ).
๐ ์ด์์ฒด์ (OS)๋?
์ด์์ฒด์ (Operating System)๋ ์ปดํจํฐ์ ์์์ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์์๊ฒ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ํต์ฌ ์ํํธ์จ์ด์
๋๋ค.
๐ OS์ ์ฃผ์ ์ญํ
- ์์ ๊ด๋ฆฌ(CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ๋ฑ)
- ํ๋ก์ธ์ค ๊ด๋ฆฌ ๋ฐ ์ค์ผ์ค๋ง
- ํ์ผ ์์คํ
๊ด๋ฆฌ
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ ๊ณต(GUI, CLI)
โก ํ๋ก์ธ์ค์ ์ค๋ ๋(Process & Thread)
๐ ํ๋ก์ธ์ค(Process)
- ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ ์ธ์คํด์ค์
๋๋ค.
- ๋
๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ๊ณผ ์์์ ๊ฐ์ง๋๋ค.
๐ ์ค๋ ๋(Thread)
- ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ์์
๋จ์์
๋๋ค.
- ํ๋ก์ธ์ค ์์์ ๊ณต์ ํ๋ฉฐ ๋ณ๋ ฌ์ ์ผ๋ก ์์
์ ์ํํ ์ ์์ต๋๋ค.
๐ ๋ฉํฐ์ค๋ ๋ฉ(Multithreading)
- ์ฌ๋ฌ ์ค๋ ๋๋ฅผ ๋์์ ์คํํ์ฌ ์ฑ๋ฅ์ ๋์ด๋ ๊ธฐ๋ฒ์
๋๋ค.
๐๏ธ CPU ์ค์ผ์ค๋ง(CPU Scheduling)
CPU ์ค์ผ์ค๋ง์ ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์คํํ ์ง ๊ฒฐ์ ํ๋ ๋ฉ์ปค๋์ฆ์
๋๋ค.
๐ ์ฃผ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- FCFS (First Come, First Served): ๋จผ์ ๋์ฐฉํ ์์๋๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- SJF (Shortest Job First): ์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ฒ๋ฆฌํฉ๋๋ค.
- ๋ผ์ด๋ ๋ก๋น(Round Robin): ์ ํด์ง ์๊ฐ(ํ์ ์ฌ๋ผ์ด์ค) ๋์ ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ฐจ๋ก๋ก ์คํํฉ๋๋ค.
- ์ฐ์ ์์ ์ค์ผ์ค๋ง(Priority Scheduling): ์ฐ์ ์์๊ฐ ๋์ ์์
๋ถํฐ ์คํํฉ๋๋ค.
๐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ
ํจ์จ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ํด OS๋ ๋ค์ํ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํ์ฉํฉ๋๋ค.
๐ ์ฃผ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋ฐฉ๋ฒ
- ํ์ด์ง(Paging): ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ ํฌ๊ธฐ์ ํ์ด์ง๋ก ๋๋์ด ๊ด๋ฆฌํฉ๋๋ค.
- ์ธ๊ทธ๋จผํ
์ด์
(Segmentation): ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋
ผ๋ฆฌ์ ์ธ ๋จ์๋ก ๋ถํ ํ์ฌ ๊ด๋ฆฌํฉ๋๋ค.
- ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory): ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๋๋ก ์ง์ํ๋ ๊ธฐ์ ์
๋๋ค.
๐ ํ์ผ ์์คํ
(File System)
ํ์ผ ์์คํ
์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์กฐ์
๋๋ค.
๐ ์ฃผ์ ํ์ผ ์์คํ
์ ํ
- FAT32, NTFS(Windows)
- ext4(Linux)
- APFS(macOS)
๐ฆ ์ด์์ฒด์ ์ ์ข
๋ฅ์ ํน์ง
๐ ์ฃผ์ OS ์ข
๋ฅ
- Windows: ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์คํฌํ ์ด์์ฒด์ , GUI ํ๊ฒฝ ์ค์ฌ
- Linux: ์คํ ์์ค ๊ธฐ๋ฐ ์ด์์ฒด์ , ์๋ฒ ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ง์ด ์ฌ์ฉ
- macOS: Apple์ OS๋ก Unix ๊ธฐ๋ฐ์ด๋ฉฐ ์ง๊ด์ ์ธํฐํ์ด์ค ์ ๊ณต
- Android/iOS: ๋ชจ๋ฐ์ผ ์ฅ์น ์ ์ฉ OS๋ก ์ต์ ํ๋ ์ธํฐํ์ด์ค ์ ๊ณต
๐ง ๊ฐ์ํ(Virtualization)์ ์ปจํ
์ด๋(Container)
๊ฐ์ํ ๊ธฐ์ ์ ๋จ์ผ ํ๋์จ์ด์์ ์ฌ๋ฌ ์ด์์ฒด์ ๋ฅผ ์คํํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
๐ ์ฃผ์ ๊ธฐ์
- ๊ฐ์ ๋จธ์ (VM): ๋
๋ฆฝ์ ์ธ OS๋ฅผ ๊ฐ์ ํ๊ฒฝ์ ์ค์นํ์ฌ ์คํํ๋ ๊ธฐ์ ์
๋๋ค. (์: VMware, VirtualBox)
- ์ปจํ
์ด๋(Container): OS ์ปค๋์ ๊ณต์ ํ์ฌ ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ด ๊ฒฉ๋ฆฌ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. (์: Docker, Kubernetes)
โ๏ธ ๋ง๋ฌด๋ฆฌ ๋ฐ ํ์ต ๋ฐฉํฅ
์ปดํจํฐ ์ํคํ
์ฒ์ ์ด์์ฒด์ ๋ฅผ ์ดํดํ๋ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ๊ณผ ์์คํ
๊ด๋ฆฌ๋ฅผ ์ํ ํ์์ ์ธ ๊ณผ์ ์
๋๋ค. ์ด๋ฅผ ๋ฐํ์ผ๋ก ์์คํ
์ ํจ์จ์ ์ผ๋ก ์ด์ํ๊ณ , ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ง๋จํ๋ฉฐ, ๋ ๋์ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ค์ ์ฅ์์๋ ์ปดํจํฐ ๋คํธ์ํฌ์ ์ํํธ์จ์ด ๊ณตํ์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ฑํ ํ๋ก๊ทธ๋จ์ด ๋คํธ์ํฌ ํ๊ฒฝ์์ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํดํ๊ณ , ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ๊น๊ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๐ ๋ณธ ๊ธ์ ์ปดํจํฐ ์ํคํ
์ฒ์ ์ด์์ฒด์ ๋ฅผ ์ฒ์ ์ ํ๋ ๋ถ๋ค์ด ํต์ฌ ๊ฐ๋
์ ๊น์ด ์ดํดํ๊ณ , ์ค๋ฌด ํ์ฉ ๋ฅ๋ ฅ์ ๊ธฐ๋ฅผ ์ ์๋๋ก ๊ตฌ์ฑ๋์์ต๋๋ค. ๋ค์ ์ฅ์์ ๊ณ์๋ฉ๋๋ค!