λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ
πŸ’» Computer Science/- Operating System

[운영체제] 10. 병행 ν”„λ‘œμ„ΈμŠ€

by Wonit 2019. 12. 9.

병행 ν”„λ‘œμ„ΈμŠ€

 

병행 ν”„λ‘œμ„ΈμŠ€μ˜ κ°œλ…

 

병행 ν”„λ‘œμ„ΈμŠ€ : ν”„λ‘œμ„ΈμŠ€λŠ” ν•œ λ²ˆμ— ν•œ 가지 일만 μˆ˜ν–‰ν•  수 μžˆμ§€λ§Œ _운영체제_κ°€ ν”„λ‘œμ„Έμ„œλ₯Ό λΉ λ₯΄κ²Œ μ „ν™˜ν•˜μ—¬ ν”„λ‘œμ„Έμ„œμ˜ μ‹œκ°„μ„ λ‚˜λˆ μ„œ 마치 μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ™μ‹œμ— μ‹€ν–‰ν•˜λŠ” κ²ƒμ²˜λŸΌ 보이게 ν•˜λŠ” 것++을 λœ»ν•œλ‹€.

 

병행 ν”„λ‘œμ„ΈμŠ€λŠ” 단일 μ²˜λ¦¬μ—μ–΄ μ„œλ‘œ λ…λ¦½μ μœΌλ‘œ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 독립 ν”„λ‘œμ„ΈμŠ€, 그리고 λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ ν˜‘λ ₯ν•˜μ—¬ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” ν˜‘λ ₯ ν”„λ‘œμ„ΈμŠ€λ‘œ λ‚˜λ‰˜κ²Œ λœλ‹€.

 

독립 ν”„λ‘œμ„ΈμŠ€

 

단일 처리 μ‹œμŠ€ν…œμ—μ„œ μˆ˜ν–‰ν•˜λŠ” 병행 ν”„λ‘œμ„ΈμŠ€ λ°©μ‹μœΌλ‘œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ—λŠ” 영ν–₯을 μ£Όκ³  받지 μ•ŠμœΌλ©΄μ„œ λ…λ¦½μ μœΌλ‘œ μ‹€ν–‰λœλ‹€.

 

  • 단일 ν”„λ‘œκ·Έλž˜λ°
  • 닀쀑 ν”„λ‘œκ·Έλž˜λ°
  • 닀쀑 처리

 

ν˜‘λ ₯ ν”„λ‘œμ„ΈμŠ€

 

ν˜‘λ ₯ ν”„λ‘œμ„ΈμŠ€λŠ” λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ™€ 영ν–₯을 μ£Όκ³  λ°›μœΌλ©° μƒν˜Έμž‘μš©μœΌλ‘œ νŠΉμ • κΈ°λŠ₯을 μˆ˜ν–‰ν•˜λŠ” 비동기적 ν”„λ‘œμ„ΈμŠ€ 이닀.

 

μ œν•œλœ μ»΄ν“¨ν„°μ˜ μžμ›μ˜ νš¨μœ¨μ„±μ„ κ·ΉλŒ€ν™” μ‹œν‚€λ©°, 계산 속도λ₯Ό ν–₯μƒμ‹œν‚€κ³ , λͺ¨λ“ˆμ  ꡬ성을 κ°•ν™”ν•˜λ©°, κ°œλ³„ μ‚¬μš©μžκ°€ μ—¬λŸ¬ μž‘μ—…μ„ λ™μ‹œμ— μˆ˜ν–‰ν•  수 μžˆλŠ” νŽΈμ˜μ„±μ„ μ œκ³΅ν•œλ‹€.

 

ν”„λ‘œμ„ΈμŠ€κ°€ μƒν˜Έμž‘μš© ν•˜λŠ” 방식 μ„Έ 가지

  • μžμ› 경쟁

    ν”„λ‘œμ„ΈμŠ€λŠ” μ„œλ‘œ μΈμ‹ν•˜μ§€ λͺ»ν•˜λŠ” 경쟁 관계λ₯Ό μœ μ§€ν•œλ‹€.

  • ν˜‘λ ₯

    ν”„λ‘œμ„ΈμŠ€λŠ” μž…μΆœλ ₯ λ²„μŠ€λ₯Ό λΉ„λ‘―ν•œ 개체λ₯Ό κ³΅μœ ν•˜λŠ” λ‹¨κ³„μ—μ„œ κ°„μ ‘μ μœΌλ‘œ μ„œλ‘œμ˜ 관계λ₯Ό μΈμ‹ν•˜κ³  개체 κ³΅μœ μ— λ”°λ₯Έ ν˜‘λ ₯을 ν•œλ‹€.

  • 톡신

    ν”„λ‘œμ„ΈμŠ€λŠ” μ„œλ‘œλ₯Ό μΈμ‹ν•˜κ³  ν”„λ‘œμ„ΈμŠ€λΌλ¦¬ 톡신할 수 μžˆλŠ” κΈ°λ³Έ ν•¨μˆ˜κ°€ μžˆλ‹€.

 

병행 ν”„λ‘œμ„ΈμŠ€μ˜ ν•΄κ²° 과제

 

병행성: μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ΄μš©ν•˜μ—¬ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 것을 말 ν•˜λ©°, μ‹œμŠ€ν…œ 신뒰도λ₯Ό 높이고 처리 속도λ₯Ό κ°œμ„ ν•œλ‹€.

 

병행 ν”„λ‘œμ„ΈμŠ€μ˜ 문제

병행성은 μ—¬λŸ¬ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ΄μš©ν•˜μ—¬ μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” κ²ƒμœΌλ‘œ, 닀쀑 처리 μ‹œμŠ€ν…œ, λΆ„μ‚° 처리 μ‹œμŠ€ν…œ 뿐만 μ•„λ‹ˆλΌ 단일 ν”„λ‘œμ„Έμ„œλ‘œ μš΄μ˜ν•˜λŠ” 닀쀑 ν”„λ‘œκ·Έλž˜λ° μ‹œμŠ€ν…œμ—μ„œλ„ 맀우 μ€‘μš”ν•˜λ‹€. 이처럼 병행성은 μ‹œμŠ€ν…œμ˜ 신뒰도λ₯Ό 높이고 처리 속도λ₯Ό κ°œμ„ ν•˜μ—¬ 처리λŠ₯λ ₯을 λ†’μ΄λŠ”λ° μ€‘μš”ν•˜λ‹€.

 

병생 ν”„λ‘œμ„ΈμŠ€μ˜ ν•΄κ²° 과제

  • 곡유 μžμ›μ„ μƒν˜Έ λ°°νƒ€μ μœΌλ‘œ μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.
  • 병행 ν”„λ‘œμ„ΈμŠ€κ°„μ—λŠ” ν˜‘λ ₯μ΄λ‚˜ 동기화가 λ˜μ–΄μ•Ό ν•œλ‹€.
  • 두 ν”„λ‘œμ„ΈμŠ€ μ‚¬μ΄μ—μ„œλŠ” 데이터λ₯Ό κ΅ν™˜ν•  수 μžˆλ„λ‘ 톡신이 λ˜μ–΄μ•Ό ν•œλ‹€.
  • ν”„λ‘œμ„ΈμŠ€λŠ” λ™μ‹œμ— μˆ˜ν–‰ν•˜λŠ” λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ˜ μ‹€ν–‰ 속도와 관계없이 항상 μΌμ •ν•œ κ²°κ³Όλ₯Ό 보μž₯ν•΄μ•Ό ν•œλ‹€.
  • ꡐ착 μƒνƒœλ₯Ό ν•΄κ²°ν•˜κ³  병행 ν”„λ‘œμ„ΈμŠ€λ“€μ˜ 병렬 처리 λŠ₯λ ₯을 κ·ΉλŒ€ν™” ν•΄μ•Όν•œλ‹€.
  • μ‹€ν–‰ 검증 문제λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•œλ‹€.

λŒ“κΈ€