CS 곡뢀

λ©€ν‹° νƒœμŠ€ν‚Ή, λ©€ν‹° ν”„λ‘œκ·Έλž˜λ°, λ©€ν‹° ν”„λ‘œμ„Έμ‹±, λ©€ν‹° μ½”μ–΄, λ©€ν‹° ν”„λ‘œμ„ΈμŠ€, λ©€ν‹° μŠ€λ ˆλ“œ

은진 2021. 12. 9. 21:25

λ©€ν‹° νƒœμŠ€ν‚Ή (닀쀑 μž‘μ—… 운영체제)

λ™μ‹œμ— 2개 μ΄μƒμ˜ ν”„λ‘œκ·Έλž¨μ„ μˆ˜ν–‰ν•˜λŠ” 닀쀑 μž‘μ—… 운영체제λ₯Ό λ§ν•œλ‹€. OS μŠ€μΌ€μ€„λ§κ³Ό CPU μ‹œλΆ„ν• μ„ 톡해 λ‹€μˆ˜μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ „ν™˜ν•˜λŠ” λ©€ν‹° ν”„λ‘œκ·Έλž˜λ°μ„ 톡해 λ©€ν‹° νƒœμŠ€ν‚Ήμ„ κ΅¬ν˜„ν–ˆλ‹€.

 

 

λ©€ν‹° ν”„λ‘œκ·Έλž˜λ° (닀쀑 ν”„λ‘œκ·Έλž˜λ° μ‹œμŠ€ν…œ)

ν”„λ‘œμ„Έμ„œλž€?

  • ν”„λ‘œμ„ΈμŠ€κ°€ λ™μž‘ν•˜λ„λ‘ ν•˜λŠ” ν•˜λ“œμ›¨μ–΄(= CPU)

ν”„λ‘œκ·Έλž¨μ΄λž€?

  • μ–΄λ–€ μž‘μ—…μ„ μœ„ν•΄ 운영체제 μœ„μ—μ„œ μ‹€ν–‰ν•  수 μžˆλŠ” 파일

ν”„λ‘œμ„ΈμŠ€λž€?

  • 운영체제 μœ„μ—μ„œ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨

 

ν•˜λ‚˜μ˜ CPUκ°€ 2개 μ΄μƒμ˜ ν”„λ‘œκ·Έλž¨μ„ μ „ν™˜ν•œλ‹€. CPUκ°€ 유휴 μƒνƒœμΌ λ•Œ μ‹€ν–‰ 쀑인 λ‘˜ μ΄μƒμ˜ ν”„λ‘œμ„ΈμŠ€κ°€ CPUλ₯Ό μ „ν™˜ν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ„λ‘ λ™μž‘ν•œλ‹€. (Context switching) 즉, μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ„ λ©”λͺ¨λ¦¬μ— μ μž¬ν•œ ν›„ ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ CPUλ₯Ό μ‚¬μš©ν•˜λ‹€κ°€, μž…μΆœλ ₯ λ™μž‘ 등을 ν•˜μ—¬ CPUλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 유휴 μ‹œκ°„λ™μ•ˆ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€κ°€ CPUλ₯Ό μ‚¬μš©ν•˜λ„λ‘ ν•˜λŠ” μ‹œμŠ€ν…œμ΄λ‹€. CPUκ°€ μ‰¬μ§€μ•Šκ²Œ ν•¨μœΌλ‘œμ¨ CPU μ‚¬μš©μ„ κ·ΉλŒ€ν™”ν•œλ‹€.

 

 

 

 

 


λ©€ν‹° ν”„λ‘œμ„Έμ‹± (닀쀑 처리 μ‹œμŠ€ν…œ)

ν”„λ‘œμ„Έμ„œλž€?

  • ν”„λ‘œμ„ΈμŠ€κ°€ λ™μž‘ν•˜λ„λ‘ ν•˜λŠ” ν•˜λ“œμ›¨μ–΄(= CPU)

 

λ©€ν‹° ν”„λ‘œμ„Έμ‹±μ€ λ‹€μˆ˜μ˜ ν”„λ‘œμ„Έμ„œκ°€ μ„œλ‘œ ν˜‘λ ₯적으둜 일을 μ²˜λ¦¬ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€. μ»΄ν“¨ν„°λŠ” 1λŒ€μΈλ° ν”„λ‘œμ„Έμ„œλŠ” 2개 이상이닀. 닀쀑 처리 μ‹œμŠ€ν…œμ€ μ—¬λŸ¬ ν”„λ‘œμ„Έμ„œμ™€ μ‹œμŠ€ν…œ λ²„μŠ€, 클둝, λ©”λͺ¨λ¦¬μ™€ μ£Όλ³€μž₯치 등을 κ³΅μœ ν•œλ‹€. 일단 ν”„λ‘œμ„Έμ„œκ°€ λ‘˜ μ΄μƒμ΄λ―€λ‘œ λΉ λ₯΄κ³ , ν”„λ‘œμ„Έμ„œ ν•˜λ‚˜κ°€ κ³ μž₯이 λ‚˜λ„ λ‹€λ₯Έ ν”„λ‘œμ„Έμ„œλ₯Ό μ‚¬μš©ν•˜μ—¬ μž‘μ—…μ„ 계속할 수 μžˆμ–΄ 신뒰성이 λ†’λ‹€.

 

 

 

 

λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œ

μ½”μ–΄λž€?

  • 쀑앙 처리 μž₯치 μ€‘μ—μ„œ κ°€μž₯ 핡심이 λ˜λŠ” λΆ€ν’ˆμœΌλ‘œ, κΈ°λ³Έ μ—°μ‚°κ³Ό 계산 μž‘μ—…μ„ μˆ˜ν–‰ν•œλ‹€.

 

λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œλŠ” λ‹€μˆ˜μ˜ μž‘μ—…μ„ 보닀 효율적으둜 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ 2개 μ΄μƒμ˜ μ½”μ–΄κ°€ λΆ™μ–΄μžˆλŠ” μ§‘μ νšŒλ‘œλ₯Ό λ§ν•œλ‹€. 두 개 μ΄μƒμ˜ 독립 μ½”μ–΄λ₯Ό 단일 집적 회둜둜 이루어진 ν•˜λ‚˜μ˜ νŒ¨ν‚€μ§€λ‘œ ν†΅ν•©ν•œ 것이닀. 코어라고 λΆˆλ¦¬λŠ” 두 개 μ΄μƒμ˜ λ…λ¦½λœ 처리μž₯치λ₯Ό 가진 단일 μ»΄ν“¨νŒ… μ»΄ν¬λ„ŒνŠΈμ΄λ‹€.

 

μ™Όμͺ½μ€ λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œ(λ“€μ–Όμ½”μ–΄ CPU 2개)κ°€ λ©€ν‹° ν”„λ‘œμ„Έμ‹±μœΌλ‘œ λ‹€μˆ˜μ˜ ν”„λ‘œμ„Έμ„œκ°€ μ„œλ‘œ ν˜‘λ ₯ν•˜μ—¬ 일을 μˆ˜ν–‰ν•œλ‹€. 였λ₯Έμͺ½μ€ λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œκ°€ 각자 독립적인 λ°©μ‹μœΌλ‘œ 일을 μˆ˜ν–‰ν•œλ‹€.

 

μ™Όμͺ½μ€ λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œ(λ“€μ–Όμ½”μ–΄ CPU 2개)κ°€ λ©€ν‹° ν”„λ‘œμ„Έμ‹±μœΌλ‘œ λ‹€μˆ˜μ˜ ν”„λ‘œμ„Έμ„œκ°€ μ„œλ‘œ ν˜‘λ ₯ν•˜μ—¬ 일을 μˆ˜ν–‰ν•œλ‹€. 였λ₯Έμͺ½μ€ λ©€ν‹° μ½”μ–΄ ν”„λ‘œμ„Έμ„œκ°€ 각자 독립적인 λ°©μ‹μœΌλ‘œ 일을 μˆ˜ν–‰ν•œλ‹€.

 

 

λ“€μ–Ό μ½”μ–΄(dual-core) ν”„λ‘œμ„Έμ„œλŠ” 두 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  있으며, νŠΈλ¦¬ν”Œ μ½”μ–΄(triple-core) ν”„λ‘œμ„Έμ„œλŠ” μ„Έ 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  있고, μΏΌλ“œ μ½”μ–΄(quad-core)λŠ” λ„€ 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  있고, ν—₯사 μ½”μ–΄(hexa-core) ν”„λ‘œμ„Έμ„œλŠ” μ—¬μ„― 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€. μ˜₯타 μ½”μ–΄(octa-core) ν”„λ‘œμ„Έμ„œλŠ” μ—¬λŸ 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€. λ°μΉ΄μ½”μ–΄(deca-core) ν”„λ‘œμ„Έμ„œλŠ” μ—΄ 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€. λ„데카 μ½”μ–΄(dodeca-core) ν”„λ‘œμ„Έμ„œλŠ” 열두 개의 μ½”μ–΄λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€.

 

 


 

λ©€ν‹° ν”„λ‘œμ„ΈμŠ€

ν”„λ‘œμ„ΈμŠ€λž€?

  • 운영체제 μœ„μ—μ„œ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨
  • ν•˜λ‚˜μ˜ μŠ€λ ˆλ“œλ§Œ 가지고 μžˆλŠ” 단일 μŠ€λ ˆλ“œ ν”„λ‘œμ„ΈμŠ€

 

  • λΆ€λͺ¨ ν”„λ‘œμ„ΈμŠ€κ°€ fork()λ₯Ό ν•˜μ—¬ μžμ‹ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ—¬λŸ¬ 개 λ§Œλ“€μ–΄ μž‘μ—…μ„ μ²˜λ¦¬ν•œλ‹€.
  • μžμ‹ ν”„λ‘œμ„ΈμŠ€λŠ” λΆ€λͺ¨μ™€ λ³„κ°œμ˜ 독립적인 λ©”λͺ¨λ¦¬ μ˜μ—­μ„ ν™•λ³΄ν•œλ‹€.

 

 

λ©€ν‹° μŠ€λ ˆλ“œ

μŠ€λ ˆλ“œλž€?

  • ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ ꡬ뢄지어진 μ‹€ν–‰ λ‹¨μœ„μ΄λ‹€.

 

  • ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ λΆ„λ¦¬ν•΄μ„œ μ—¬λŸ¬ μŠ€λ ˆλ“œλ‘œ μ‹€ν–‰λ‹¨μœ„κ°€ λ‚˜λˆ„μ–΄μ§„ 경우λ₯Ό λ§ν•œλ‹€.

 

 

 

λ©€ν‹° ν”„λ‘œμ„ΈμŠ€ vs λ©€ν‹° μŠ€λ ˆλ“œ