๐ ์ด ๊ธ์ CS ์คํฐ๋๋ฅผ ์งํํ๋ฉฐ ๊ฐ์ธ์ ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
ํ๋ฆฐ ๋ถ๋ถ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค.๐โ๏ธ๐
๐์ด์์ฒด์
๐งฉ ์ด์์ฒด์ ๋ ?
์ด์์ฒด์ (OS, Operating System)๋ ํ๋์จ์ด ์์ ์ค์น๋์ด ํ๋์จ์ด ๊ณ์ธต๊ณผ ๋ค๋ฅธ ์ํํธ์จ์ด ๊ณ์ธต์ ์ฐ๊ฒฐํ๋ ์ํํธ์จ์ด ๊ณ์ธต์ด๋ค.
์ปดํจํฐ ์์คํ ์ ์์์ ๊ด๋ฆฌํ๊ณ , ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ค.
๐งฉ ์ด์์ฒด์ ์ ๋ชฉ์
OS๋ ํ์ ๋ ์ปดํจํฐ ์์์ ๊ด๋ฆฌํ๋ ์์คํ ์ด๋ค. ์ด๋ฌํ ์ญํ ์ ๊ธฐ๋ฐํด OS๋ 4๊ฐ์ง ์ญํ ์ด ์๋ค.
์ฒ๋ฆฌ ๋ฅ๋ ฅ(throughput) ํฅ์
- OS๋ ์์ ๊ด๋ฆฌ๋ฅผ ํตํด ์ผ์ ์๊ฐ ๋ด์ ์์คํ ์ด ์ฒ๋ฆฌํ๋ ์ผ์ ์์ ํฅ์์ํจ๋ค.
๋ฐํ ์๊ฐ(turnaround time) ๋จ์ถ
- OS๋ ์ฌ์ฉ์๊ฐ ์์คํ ์ ์์ฒญํ ์์ ์ ์๋ฃํ ๋๊น์ง ์์๋๋ ์๊ฐ์ ๋จ์ถ์ํจ๋ค.
์ฌ์ฉ ๊ฐ๋ฅ๋(availability) ํฅ์
- ์ฌ์ฉ ๊ฐ๋ฅ๋๋ ์์คํ ์์์ ์ผ๋ง๋ ๋นจ๋ฆฌ ์ ๊ณตํ ์ ์๋๊ฐ๋ฅผ ์๋ฏธํ๋ค. OS๋ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํด์ผ ํ ๋ ์์์ ์ฆ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ค.
์ ๋ขฐ๋(reliability) ํฅ์
- ์ ๋ขฐ๋๋ ์์คํ ์ด ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ์ ํํ๊ฒ ํธ๋์ง๋ฅผ ์๋ฏธํ๋ค. OS๋ ์ ๋ ฅ ๊ฐ์ ๋ํ ์ ํํ ๊ฒฐ๊ณผ ๊ฐ์ ์ค ์ ์๋๋ก ์ ๋ขฐ๋๋ฅผ ํฅ์ํด์ผ ํ๋ค.
๐งฉ CPU์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ
CPU(Central Processing Unit, ์ค์ ์ฒ๋ฆฌ ์ฅ์น)๋ ์ปดํจํฐ์ ๋ ์ญํ ์ ํ๋ฉฐ, ์ปดํจํฐ์์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๊ณ ์ํํ๋ค.
๋ค๋ฅธ ๋ง๋ก, ํ๋ก์ธ์(processor)๋ผ๊ณ ํ๋ค.
๋ฉ๋ชจ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ธฐ์ต์ฅ์น์ด๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ธ ์ฃผ ๊ธฐ์ต์ฅ์น์ ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ์ธ ๋ณด์กฐ ๊ธฐ์ต์ฅ์น๊ฐ ์๋ค.
์ฃผ ๊ธฐ์ต์ฅ์น - ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ
- RAM
๋ณด์กฐ ๊ธฐ์ต ์ฅ์น
- SSD(Solid State Drive)
- HDD(Hard Disk Drive)
๐พ ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ธต ๊ตฌ์กฐ
๋ฉ๋ชจ๋ฆฌ๋ CPU์์ ๋นจ๋ฆฌ ์ ๊ทผํ ์ ์๋๋ก ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋๋๋ค.
๋ ์ง์คํฐ(register)
- CPU๊ฐ ์ฌ์ฉ์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์๋ก ์ ์ฅํ๋ ๊ธฐ์ต์ฅ์น๋ค.
- CPU ๋ด๋ถ์ ์กด์ฌํ๋ฉฐ ์ ๊ทผ ์๋๊ฐ ๋น ๋ฅด๋ค.
์บ์ ๋ฉ๋ชจ๋ฆฌ(cache memory)
- CPU์ RAM ์ฌ์ด์ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ์ต์ฅ์น๋ค.
- CPU ๋ด๋ถ์ ์์นํ๋ฉฐ ์ ๊ทผ ์๋๊ฐ ๋ ์ง์คํฐ ๋ค์์ผ๋ก ๋น ๋ฅด๋ค.
RAM(Random Access Memory)
- ์ปดํจํฐ์์ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ค.
- CPU์์ ์ ๊ทผ ์๋๊ฐ ํ๋ ๋์คํฌ๋ณด๋ค ๋น ๋ฅด๊ณ , ํ๋ฐ์ฑ ๊ธฐ์ต์ฅ์น๋ค.
ํ๋ ๋์คํฌ(hard disk)
- ์ฌ์ฉ์๊ฐ ํ์ํ ๋ฐ์ดํฐ์ ํ๋ก๊ทธ๋จ์ ์ ์ฅํ๊ณ , ๋นํ๋ฐ์ฑ ๊ธฐ์ต์ฅ์น๋ค.
ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด OS๊ฐ ๋์คํฌ์ ์๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋(load)ํ๋ค. ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ ํ๋ก๊ทธ๋จ์ ํ๋ก์ธ์ค(process)๋ผ๊ณ ํ๋ฉฐ, CPU๊ฐ ์ฒ๋ฆฌํ๋ค.
CPU๋ ํ๋์ ํ๋ก์ธ์ค๋ง ์ฒ๋ฆฌํ ์ ์์ด์ ๋ฉํฐ ํ๋ก์ธ์ค ํ๊ฒฝ์์๋ OS๊ฐ ์ค์ผ์ค๋ง์ ํตํด CPU์ ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ๋ค.
๐งฉ ์ปค๋๊ณผ ์์คํ ์ฝ
์ปค๋(Kernel)์ด๋ OS์ ํต์ฌ ์์๋ก, ์ปดํจํฐ ํ๋์จ์ด์ ํ๋ก์ธ์ค์ ๋ณด์, ์์ ๊ด๋ฆฌ, ํ๋์จ์ด ์ถ์ํ ๊ฐ์ ์ค์ํ ์ญํ ์ ์ํํ๋ค. ํนํ ์์ ๊ด๋ฆฌ๋ฅผ ์ํด CPU ์ค์ผ์ค๋ง, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ์ ์ถ๋ ฅ ๊ด๋ฆฌ, ํ์ผ ์์คํ ๊ด๋ฆฌ ๋ฑ์ ๋ด๋นํ๋ค.
์ด์์ฒด์ ๋ ์ปค๋์์ ๊ด๋ฆฌํ๋ ์ค์ ์์์ ์ฌ์ฉ์๊ฐ ์ฝ๊ฒ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ์ปค๋ ๋ชจ๋(Kernel mode)์ ์ฌ์ฉ์ ๋ชจ๋(user mode)๋ก ๋๋๋ค.
์ปค๋ ๋ชจ๋
- ํ๋์จ์ด์ ์ง์ ์ ๊ทผํด ๋ฉ๋ชจ๋ฆฌ, CPU์ ๊ฐ์ ์์์ ์ฌ์ฉํ ์ ์๋ค.
์ฌ์ฉ์ ๋ชจ๋
- ์ปค๋ ๋ชจ๋์ ์์์ ์ ๊ทผํ ์ ์๋๋ก ์ ํ์ ๋๋ค.
์ฌ์ฉ์ ๋ชจ๋์์ ์คํ๋ ํ๋ก์ธ์ค๊ฐ ์์์ ์ ๊ทผํ๋ ค๋ฉด ์์คํ ์ฝ์ ํธ์ถํด ์ปค๋์ ์์ฒญํด์ผ ํ๋ค.
์์คํ ์ฝ(System call)์ด๋ ์ฌ์ฉ์ ๋ชจ๋์์ ์ปค๋ ๋ชจ๋์ ์ ๊ทผํด ํ์ํ ๊ธฐ๋ฅ์ ์ํํ ์ ์๊ฒ ํ๋ ์์คํ ํจ์๋ค.
์ปค๋์ ์์คํ ์ฝ๋ก ๋ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ ํ ๋ค์ ์์คํ ์ฝ๋ก ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐํํ๋ค.
์์คํ ์ฝ์ ์ฌ์ฉํด ํ๋ก์ธ์ค ์ ์ด, ํ์ผ ์กฐ์, ์ฅ์น ๊ด๋ฆฌ, ๋ฐ์ดํฐ์ ์ ์ง ๋ณด์, ํต์ , ๋ณดํธ๋ฅผ ํ ์ ์๋ค.
๐ reference
'Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ด์์ฒด์ ] ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ต, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ (0) | 2025.04.13 |
---|---|
[Spring] JPA์ Spring Data JPA ์ฐจ์ด (0) | 2025.03.24 |
Java (0) | 2024.08.30 |
Spring & Spring Boot (0) | 2024.08.15 |