๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Personal_Study/CS

CS ๋ฉด์ ‘ ์งˆ๋ฌธ ์ •๋ฆฌ - ์šด์˜์ฒด์ œ 2

by ํฌ์ŠคํŠธ์‰์ดํฌ 2023. 3. 3.

์šด์˜์ฒด์ œ

6. Virtual Memory (Paging / Segmentation)

7. Memory Fragmentation(๋‹จํŽธํ™”), Page Fault(ํŽ˜์ด์ง€ ๋ถ€์žฌ), Thrashing(์Šค๋ ˆ์‹ฑ)

8. Paging Algorithm (Fixed Allocation)

9. Caching (์บ์‹ฑ)

10. ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ

11. Disk Scheduling (๋””์Šคํฌ ์Šค์ผ€์ค„๋ง)

12. RAID

6. Virtual Memory (Paging / Segmentation)

Virtual Memory

โœ” ๊ธฐ์กด์—๋Š” ํ”„๋กœ์„ธ์Šค ์ „์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•ด์•ผ ํ–ˆ์Œ

  • ๋น„ํšจ์œจ์ 
  • ๋ฌผ๋ฆฌ์  ํ•œ๊ณ„(๋น„์šฉ ↑)

โœ” ๊ธฐ์กด ๋ฐฉ์‹์˜ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ!

โœ” ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์‹œ ์ „์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ ํ•„์š”ํ•œ block ์ ์žฌ ์‹œํ‚ค๊ณ  ๋‚˜๋จธ์ง€๋Š” swap device (๋””์Šคํฌ)์— ์ €์žฅ

โœ” ํ”„๋กœ์„ธ์Šค block์„ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆŒ ๊ฒƒ์ธ๊ฐ€ -> Paging / Segmentation

Paging System

โœ” ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ block์œผ๋กœ ๋ถ„ํ• (page) / ๋ฉ”๋ชจ๋ฆฌ๋ฅผ block size๋กœ ๋ฏธ๋ฆฌ ๋ถ„ํ• (page frame)

  • ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ ์—†์Œ (๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ฐœ์ƒ ๊ฐ€๋Šฅ)
  • ๋ฉ”๋ชจ๋ฆฌ ํ†ตํ•ฉ / ์••์ถ• ๋ถˆํ•„์š”
  • ํ”„๋กœ๊ทธ๋žจ์˜ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ ๊ณ ๋ ค x (page sharing/protection ๋ณต์žก)

โœ” ํ•„์š”ํ•œ page๋งŒ page frame์— ์ ์žฌํ•˜์—ฌ ์‚ฌ์šฉ

  • ๋ฉ”๋ชจ๋ฆฌ์˜ ํšจ์œจ์  ํ™œ์šฉ

โœ” Page mapping overhead

  • ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋ฐ ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํ•„์š” -> TLB(์บ์‹œ) / ์ „์šฉ HW ํ™œ์šฉ

TLB (Translation Lookaside Buffer)

โœ” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์บ์‹œ

  • ์ตœ๊ทผ์— ์ผ์–ด๋‚œ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ์˜ ๋ณ€ํ™˜ ํ…Œ์ด๋ธ”์„ ์ €์žฅ

Segmentation System

โœ” ํ”„๋กœ๊ทธ๋žจ์„ ๋…ผ๋ฆฌ ๋‹จ์œ„๋กœ ๋ถ„ํ• (segment) / ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์ ์œผ๋กœ ๋ถ„ํ• 

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™” x
  • sharing/protection ์šฉ์ด
  • paging system ๋Œ€๋น„ ๊ด€๋ฆฌ overhead ํผ

7. Memory Fragmentation(๋‹จํŽธํ™”), Page Fault(ํŽ˜์ด์ง€ ๋ถ€์žฌ), Thrashing(์Šค๋ ˆ์‹ฑ)

โœ” ์™„์ „ํžˆ ์—ฐ๊ด€๋œ ๊ฐœ๋…๋“ค์€ ์•„๋‹ˆ์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ / ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ จ ๋‚ด์šฉ์— ๋“ฑ์žฅํ•˜๋Š” ์ฃผ์š” ๊ฐœ๋…๋“ค!

Memory Fragmentation(๋‹จํŽธํ™”)

โœ” ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์ด ์ž‘์€ ์กฐ๊ฐ๋“ค๋กœ ๋ถ„ํ• ๋˜์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€๋งŒ ํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ๋‚ญ๋น„๋˜๋Š” ํ˜„์ƒ

โœ” Internal Fragmentation (๋‚ด๋ถ€ ๋‹จํŽธํ™”): Partition ํฌ๊ธฐ > Process ํฌ๊ธฐ

โœ” External fragmentation (์™ธ๋ถ€ ๋‹จํŽธํ™”): (๋‚จ์€ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ > Process ํฌ๊ธฐ)์ง€๋งŒ, ์—ฐ์†๋œ ๊ณต๊ฐ„์ด ์•„๋‹˜

Page Fault (ํŽ˜์ด์ง€ ๋ถ€์žฌ)

โœ” ํ•„์š”๋กœ ํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ

โœ” Context switching (Disk I/O) ๋ฐœ์ƒ -> Overhead

โœ” ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์™€ ์ ์žฌํ•œ๋‹ค (page replacement)

Thrashing (์Šค๋ ˆ์‹ฑ)

โœ” ๊ณผ๋„ํ•œ Page Fault๋กœ ์ธํ•ด ํ”„๋กœ์„ธ์Šค ์ˆ˜ํ–‰์‹œ๊ฐ„๋ณด๋‹ค ํŽ˜์ด์ง€ ๊ต์ฒด ์‹œ๊ฐ„์ด ๋งŽ์€ ์ƒํƒœ

โœ” ์ ์ ˆํ•œ Multi Programming Degree ์กฐ์ ˆ์ด ํ•„์š”ํ•˜๋‹ค!

โœ” Memory Allocation -> WS algorithm, PFF Algorithm

8. Paging Algorithm (Fixed Allocation)

Min Algorithm (OPT algorithm)

โœ” ์•ž์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์„ page ๊ต์ฒด

โœ” ์‹คํ˜„ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ฒ• (๋ฏธ๋ž˜์˜ ํŽ˜์ด์ง€ ์ฐธ์กฐ๋ฅผ ์˜ˆ์ƒํ•ด์•ผ๋จ)

  • ์„ฑ๋Šฅ ํ‰๊ฐ€์˜ ์ง€ํ‘œ๋กœ ํ™œ์šฉ

FIFO (First In First Out) Algorithm

โœ” ๊ฐ€์žฅ ์˜ค๋ž˜๋œ page๋ฅผ ๊ต์ฒด

โœ” ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” page๊ฐ€ ๊ต์ฒด ๋œ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ

  • Locality์— ๋Œ€ํ•œ ๊ณ ๋ ค x

LRU (Least Recently Used) Algorithm

โœ” ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ page ๊ต์ฒด

โœ” Locality์— ๊ธฐ๋ฐ˜์„ ๋‘” ๊ต์ฒด ๊ธฐ๋ฒ•

โœ” Page ์ฐธ์กฐ ์‹œ๋งˆ๋‹ค ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•ด์•ผ ํ•จ (Overhead ๋ฐœ์ƒ)

โœ” ์‹ค์ œ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ๊ธฐ๋ฒ•

LFU(Least Frequently Used) Algorithm

โœ” ๊ฐ€์žฅ ์ฐธ์กฐ ํšŸ์ˆ˜๊ฐ€ ์ ์€ page ๊ต์ฒด

โœ” page ์ฐธ์กฐ ์‹œ๋งˆ๋‹ค, ์ฐธ์กฐ ํšŸ์ˆ˜๋ฅผ ๋ˆ„์  ์‹œ์ผœ์•ผํ•จ

โœ” Locality ํ™œ์šฉ

  • LRU ๋Œ€๋น„ ์ ์€ overhead

โœ” ์ตœ๊ทผ ์ ์žฌ๋œ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ page๊ฐ€ ๊ต์ฒด๋  ๊ฐ€๋Šฅ์„ฑ

NUR(Not Used Recently) Algorithm

โœ” LRU approximation shceme

  • LRU๋ณด๋‹ค ์ ์€ overhead๋กœ ๋น„์Šทํ•œ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ ๋ชฉ์ 

โœ” Bit vector ์‚ฌ์šฉ

  • Reference bit vector(r), Updated bit vector(m)
  • reference bit๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ดˆ๊ธฐํ™” ๋˜๋Š” ํŠน์„ฑ ์ด์šฉ

โœ” ๊ต์ฒด ์ˆœ์„œ

  1. (r, m) = (0, 0)
  2. (r, m) = (0, 1)
  3. (r, m) = (1, 0)
  4. (r, m) = (1, 1)

Clock Algorithm

โœ” referece bit ์ฃผ๊ธฐ์  ์ดˆ๊ธฐํ™” x

โœ” Page frame๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ€๋ฆฌํ‚ค๋Š” pointer(์‹œ๊ณ„๋ฐ”๋Š˜)์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ต์ฒด๋  page ๊ฒฐ์ •

  • ํ˜„์žฌ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” page์˜ reference bit(r) ํ™•์ธ
  • r = 0 ์ธ ๊ฒฝ์šฐ, ๊ต์ฒด page๋กœ ๊ฒฐ์ •
  • r = 1์ธ ๊ฒฝ์šฐ, reference bit ์ดˆ๊ธฐํ™” ํ›„ pointer ์ด๋™

Second Chance Algorithm

โœ” Clock algorithm ๊ณผ ์œ ์‚ฌ

โœ” Update bit(m)๋„ ํ•จ๊ป˜ ๊ณ ๋ คํ•จ

  • ํ˜„์žฌ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” page์˜ (r, m) ํ™•์ธ
  • (0, 0): ๊ต์ฒด page๋กœ ๊ฒฐ์ •
  • (0, 1): -> (0, 0), write-back (cleaning) list์— ์ถ”๊ฐ€ ํ›„ ์ด๋™
  • (1, 0): -> (0, 0)ํ›„ ์ด๋™
  • (1, 1): -> (0, 1)ํ›„ ์ด๋™

9. Caching (์บ์‹ฑ)

Cache (์ €์žฅ ์žฅ์น˜)

โœ” ํ”„๋กœ์„ธ์„œ ๋‚ด๋ถ€์— ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ(L1, L2 ์บ์‹œ ๋“ฑ)

โœ” ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ž…์ถœ๋ ฅ ๋ณ‘๋ชฉ ํ˜„์ƒ ํ•ด์†Œ (ํ”„๋กœ์„ธ์„œ ์—ฐ์‚ฐ ์†๋„ > ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ ์ž…์ถœ๋ ฅ ์†๋„)

โœ” ์ง€์—ญ์„ฑ(Locality)์„ ํ™œ์šฉํ•ด ์ž์ฃผ ์ ‘๊ทผํ•˜๋Š” ๋ฐ์ดํ„ฐ ์บ์‹œ์— ์ €์žฅ

  • ์šฉ๋Ÿ‰์ด ์ž‘๊ณ  ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค

โœ” ์บ์‹œ ํžˆํŠธ(Cache hit)

  • ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์ด ์บ์‹œ ์กด์žฌ

โœ” ์บ์‹œ ๋ฏธ์Šค(Cache miss)

  • ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ๋ธ”๋ก์ด ์—†๋Š” ๊ฒฝ์šฐ

Locality

โœ” ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ (Spatial locality)
์ฐธ์กฐํ•œ ์ฃผ์†Œ์™€ ์ธ์ ‘ํ•œ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ํŠน์„ฑ (ex: ์ˆœ์ฐจ์  ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰)

โœ” ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ (Temporal locality)

  • ํ•œ ๋ฒˆ ์ฐธ์กฐํ•œ ์ฃผ์†Œ๋ฅผ ๊ณง ๋‹ค์‹œ ์ฐธ์กฐํ•˜๋Š” ํŠน์„ฑ (ex: for๋ฌธ ๋“ฑ์˜ ์ˆœํ™˜๋ฌธ)

โœ” ์ง€์—ญ์„ฑ์€ ์บ์‹œ ์ ์ค‘๋ฅ (cache hit ration)์™€ ๋ฐ€์ ‘!

Caching (์บ์‹ฑ)

โœ” ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์›๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐ’์„ ๋ฏธ๋ฆฌ ๋ณต์‚ฌํ•ด ์ €์žฅํ•ด๋‘๋Š” ๊ฒƒ

โœ” TLB(VM), Redis...

10. ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ

โœ” ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ๊ฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น ๋ฐ›๋Š”๋‹ค

Code

โœ” ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ

Data

โœ” ํ”„๋กœ๊ทธ๋žจ์˜ ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ •์ (Static)๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ

Heap

โœ” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌ(ํ• ๋‹น ๋ฐ ํ•ด์ œ)ํ•˜๋Š” ์˜์—ญ

โœ” Java

  • Object ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ (String, Integer, ArrayList...)
  • new ์—ฐ์‚ฐ์„ ํ†ตํ•ด ์ƒ์„ฑํ•œ ๊ฐ์ฒด ์ €์žฅ
  • GC๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌ (Unreachable object ์‚ญ์ œ)

Stack

โœ” ์ง€์—ญ ๋ณ€์ˆ˜ ๋ฐ ๋งค๊ฐœ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅ๋˜๋Š” ์˜์—ญ

โœ” ๊ฐ๊ฐ์˜ ์Šค๋ ˆ๋“œ๋งˆ๋‹ค ํ• ๋‹น

โœ” Java

  • ์›์‹œ(Primitive) ํƒ€์ž… ๋ฐ์ดํ„ฐ ์ €์žฅ
  • ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐ(reference)ํ•˜๋Š” ๋ณ€์ˆ˜ ์ €์žฅ

11. Disk Scheduling (๋””์Šคํฌ ์Šค์ผ€์ค„๋ง)

โœ” Disk Access ์š”์ฒญ๋“ค์˜ ์ฒ˜๋ฆฌ ์ˆœ์„œ ๊ฒฐ์ •

โœ” Optimizing Seek Time (๋””์Šคํฌ head๋ฅผ ํ•„์š”ํ•œ cylinder๋กœ ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„)

  • Rotational Delay๋ฅผ ์ค„์ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • SLTF (Shortest Latency Time First)
    • SPTF (Shortest Positioning TIme First)

FCFS (First Come First Service)

โœ” ์š”์ฒญ์ด ๋„์ฐฉ์‚ฐ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ

โœ” Simple, but ์ตœ์  ์„ฑ๋Šฅ ๋‹ฌ์„ฑ์— ๋Œ€ํ•œ ๊ณ ๋ ค x

โœ” Disk access ๋ถ€ํ•˜๊ฐ€ ์ ์€ ๊ฒฝ์šฐ์— ์ ํ•ฉ

SSTF (Shortest Seek Time First)

โœ” ํ˜„์žฌ head ์œ„์น˜์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์š”์ฒญ ๋จผ์ € ์ฒ˜๋ฆฌ

โœ” ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„ ↓

โœ” ์˜ˆ์ธก ๋ถˆ๊ฐ€, starvation ํ˜„์ƒ ๋ฐœ์ƒ

โœ” ์ผ๊ด„์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์— ์ ํ•ฉ (์ฒ˜๋ฆฌ ์‹œ๊ฐ„ > ์ˆœ์„œ)

Scan Scheduling

โœ” ํ˜„์žฌ head์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์—์„œ, head์™€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์š”์ฒญ ๋จผ์ € ์ฒ˜๋ฆฌ

โœ” (์ง„ํ–‰๋ฐฉํ–ฅ ๊ธฐ์ค€)๋งˆ์ง€๋ง‰ cylinder ๋„์ฐฉ ํ›„, ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰

C-Scan (Circular Scan) Scheduling

โœ” Scan๊ณผ ์œ ์‚ฌ

โœ” Head๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™

  • ๋งˆ์ง€๋ง‰ cylinder ๋„์ฐฉ ํ›„, ์‹œ์ž‘ cylinder๋กœ ์ด๋™ ํ›„ ์žฌ์‹œ์ž‘

โœ” Scan ๋Œ€๋น„ ๊ท ๋“ฑํ•œ ๊ธฐํšŒ ์ œ๊ณต

Look Scheduling

โœ” Elevator Algorithm

โœ” Scan(C-scan)์—์„œ ํ˜„์žฌ ์ง„ํ–‰ ๋ฐฉํ–ฅ์— ์š”์ฒญ์ด ์—†์œผ๋ฉด ๋ฐฉํ–ฅ ์ „ํ™˜

12. RAID

โœ” Redundant Array of Inexpensive DIsks(RAID)

โœ” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌผ๋ฆฌ disk๋ฅผ ํ•˜๋‚˜์˜ ๋…ผ๋ฆฌ disk๋กœ ์‚ฌ์šฉ

RAID 0

โœ” Disk striping

  • ๋…ผ๋ฆฌ์ ์ธ ํ•œ block์„ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜์šฐ์–ด ๊ฐ disk์— ๋‚˜๋ˆ„์–ด ์ €์žฅ

โœ” ๋ชจ๋“  disk์— ์ž…์ถœ๋ ฅ ๋ถ€ํ•˜ ๊ท ๋“ฑ ๋ถ„๋ฐฐ

RAID 1

โœ” Disk mirroring

  • ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ mirroring disk์— ์ค‘๋ณต ์ €์žฅ

โœ” ํ•œ disk์— ์žฅ์• ๊ฐ€ ์ƒ๊ฒจ๋„ ๋ฐ์ดํ„ฐ ์†์‹ค x

RAID 3

โœ” RAID 0 + parity disk

  • Byte ๋‹จ์œ„ ๋ถ„ํ•  ์ €์žฅ
  • ๋ชจ๋“  disk์— ์ž…์ถœ๋ ฅ ๋ถ€ํ•˜ ๊ท ๋“ฑ ๋ถ„๋ฐฐ

โœ” ํ•œ disk์— ์žฅ์•  ๋ฐœ์ƒ ์‹œ, parity ์ •๋ณด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ณต๊ตฌ

RAID 4

โœ” RAID 3๊ณผ ์œ ์‚ฌ, ๋‹จ block ๋‹จ์œ„๋กœ ๋ถ„์‚ฐ ์ €์žฅ

  • ๋…๋ฆฝ๋œ access ๋ฐฉ๋ฒ•
  • Disk๊ฐ„ ๊ท ๋“ฑ ๋ถ„๋ฐฐ๊ฐ€ ์•ˆ๋  ์ˆ˜ ์žˆ์Œ

RAID 5

โœ” RAID 4์™€ ์œ ์‚ฌ

  • ๋…๋ฆฝ๋œ access ๋ฐฉ๋ฒ•

โœ” Parity ์ •๋ณด๋ฅผ ๊ฐ disk๋“ค์— ๋ถ„์‚ฐ ์ €์žฅ

  • ๋ณ‘๋ชฉ ํ˜„์ƒ ํ•ด์†Œ

โœ” ํ˜„์žฌ ๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” RAID level ์ค‘ ํ•˜๋‚˜

๋Œ“๊ธ€