λ…ΈνŠΈ/운영체제

[운영체제] 10. λΆ„μ‚° 운영체제

Broken-Bot 2022. 6. 14. 15:35

1. λΆ„μ‚° 운영체제 κ°œμš”

1. λΆ„μ‚° μ‹œμŠ€ν…œ

λΆ„μ‚° μ‹œμŠ€ν…œμ΄λž€, 톡신 λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ„œλ‘œ μ•½ν•˜κ²Œ κ²°ν•©λœ ν”„λ‘œμ„Έμ„œλ“€μ˜ 집합이닀. 각 ν”„λ‘œμ„Έμ„œλŠ” λ©”λͺ¨λ¦¬μ™€ ν΄λŸ­μ„ κ³΅μœ ν•˜μ§€ μ•ŠλŠ”λ‹€. λ˜ν•œ 각 ν”„λ‘œμ„Έμ„œλŠ” μžμ‹ μ˜ 둜컬 λ©”λͺ¨λ¦¬λ₯Ό 가지며 LAN λ˜λŠ” WANκ³Ό 같은 λ„€νŠΈμ›Œν¬λ₯Ό 톡해 ν†΅μ‹ ν•œλ‹€. λΆ„μ‚° μ‹œμŠ€ν…œ 내에 ν•˜λ‚˜μ˜ ν”„λ‘œμ„Έμ„œμ˜ κ΄€μ μ—μ„œ μžμ‹ μ΄ 가지고 μžˆλŠ” μžμ›μ„ 둜컬이라고 ν•˜κ³ , κ·Έ ν”„λ‘œμ„Έμ„œ μ™Έμ˜ λ‚˜λ¨Έμ§€ ν”„λ‘œμ„Έμ„œλ“€κ³Ό κ·Έλ“€μ˜ μžμ›μ„ 원격이라고 ν•œλ‹€.

 

λΆ„μ‚° μ‹œμŠ€ν…œ λ‚΄μ˜ ν”„λ‘œμ„Έμ„œλ“€μ€ μ‹œμŠ€ν…œ ν™˜κ²½μ— 따라 μ‚¬μ΄νŠΈ, λ…Έλ“œ, 컴퓨터, 기계, 호슀트 λ“± μ—¬λŸ¬ μš©μ–΄λ‘œ λΆˆλ¦°λ‹€. ν”„λ‘œμ„Έμ„œμ˜ μœ„μΉ˜λ₯Ό κ°•μ‘°ν•˜κΈ° μœ„ν•΄ μ‚¬μ΄νŠΈ λΌλŠ” μš©μ–΄λ₯Ό μ‚¬μš©ν•˜λ©°, μ‚¬μ΄νŠΈμ— μžˆλŠ” νŠΉμ • μ‹œμŠ€ν…œμ„ λ‚˜νƒ€λ‚΄κΈ° μœ„ν•΄ 호슀트 λΌλŠ” μš©μ–΄λ₯Ό μ‚¬μš©ν•œλ‹€. λ˜ν•œ ν•œ μ‚¬μ΄νŠΈμ˜ 호슀트 μžμ›μ„ λ‹€λ₯Έ μ‚¬μ΄νŠΈκ°€ μ‚¬μš©ν•œλ‹€κ³  ν•  λ•Œ μžμ›μ„ 가진μͺ½μ„ μ„œλ²„λΌκ³  ν•˜λ©°, κ·Έ μžμ›μ„ μ΄μš©ν•˜λŠ” μͺ½μ„ ν΄λΌμ΄μ–ΈνŠΈ, ν˜Ήμ€ μ‚¬μš©μž 라고 ν•œλ‹€.

 

λΆ„μ‚° μ‹œμŠ€ν…œμ˜ κ°œκ΄„μ  ꡬ좕 λͺ¨λΈ

λΆ„μ‚° μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λŠ” λͺ©μ μ€ 일반적으둜 λ‹€μŒκ³Ό κ°™λ‹€.

  1. μžμ› 곡유
  2. 연산속도 ν–₯상
  3. μ‹ λ’°μ„± ν–₯상
  4. ν†΅μ‹ μ˜ μš©μ΄μ„±

λΆ„μ‚° μ‹œμŠ€ν…œμ˜ λ„€νŠΈμ›Œν¬ ꡬ성은 물리적 ν˜•νƒœμ— 따라 λ‹€μ–‘ν•œ μ—°κ²° 방법이 μ‘΄μž¬ν•œλ‹€. λ˜ν•œ 각 λ…Έλ“œλΌλ¦¬ κ°„μ„ μ˜ ꡬ성 ν˜•νƒœμ— 따라 κ΅¬μΆ•λΉ„μš©, ν†΅μ‹ λΉ„μš©, κ°€μš©μ„±μ΄ 각각 달라진닀. κ΅¬μΆ•λΉ„μš©μ€ 말 κ·ΈλŒ€λ‘œ μ‚¬μ΄νŠΈλ“€μ΄ μ–Όλ§ˆλ‚˜ 물리적으둜 λ°€λ„μžˆκ²Œ μ—°κ²°λ˜μ–΄ μžˆλŠ”μ§€μ— 따라 달라진닀. ν†΅μ‹ λΉ„μš©μ€ μ‚¬μ΄νŠΈ 별 데이트λ₯Ό ν†΅μ‹ ν•˜λŠ”λ° μ–Όλ§ˆλ‚˜ λ§Žμ€ λ…Έλ“œλ₯Ό κ±°μ³μ•Όν•˜λŠ”μ§€λ‘œ 정해진닀. κ°€μš©μ„±μ€ λ§ν¬λ‚˜ μ‚¬μ΄νŠΈκ°€ κ³ μž₯λ‚˜λ„ 데이터에 μ ‘κ·Όν•  수 μžˆλŠ”μ§€μ˜ 여뢀에 따라 달라진닀.

 

λΆ„μ‚° μ‹œμŠ€ν…œμ˜ λ„€νŠΈμ›Œν¬ ꡬ성

 

λ„€νŠΈμ›Œν¬μ—λŠ” 기본적으둜 근거리 톡신망(Local-Area Network, LAN) κ³Ό 원거리 톡신망(Wide-Area Network, WAN) 두 가지 ν˜•νƒœκ°€ 있으며, 주된 차이점은 지리적인 λΆ„μ‚° ν˜•νƒœμ΄λ‹€. LAN은 ν•˜λ‚˜μ˜ λΉŒλ”© λ˜λŠ” μΈμ ‘ν•œ λΉŒλ”© λ“±κ³Ό 같이 쒁은 지역에 λΆ„μ‚°λœ ν”„λ‘œμ„Έμ„œλ“€λ‘œ κ΅¬μ„±λœλ‹€. 반면 WAN은 λ„μ‹œλ‚˜ κ΅­κ°€ λ“± 넓은 지역에 λΆ„ν¬λœ ν”„λ‘œμ„Έμ„œλ“€λ‘œ κ΅¬μ„±λœλ‹€.

2. λΆ„μ‚° 운영체제

λΆ„μ‚° μš΄μ˜μ²΄μ œμ—μ„œ μ‚¬μš©μžλŠ” 둜컬 μžμ›μ„ μ‚¬μš©ν•˜λŠ” 것과 λ™μΌν•˜κ²Œ 원격 μžμ›μ„ μ‚¬μš©ν•  수 μžˆλ‹€. 이λ₯Ό μœ„ν•΄ μš΄μ˜μ²΄μ œμ— μ μš©ν•  수 μžˆλŠ” 기본적인 방법듀은 λ‹€μŒκ³Ό 같은 것듀이 μžˆλ‹€.

  1. 데이터 이주
  2. 계산 이주 (원격 ν”„λ‘œμ‹œμ € 호좜 RPC)
  3. ν”„λ‘œμ„ΈμŠ€ 이주

2. λΆ„μ‚° 파일 μ‹œμŠ€ν…œ

λΆ„μ‚° 파일 μ‹œμŠ€ν…œ(Distributed File System, DFS)은 ν΄λΌμ΄μ–ΈνŠΈκ°€ μ„œλ²„μ— μ €μž₯된 νŒŒμΌμ„ 마치 둜컬 파일처럼 μ‚¬μš©ν•  수 μžˆλŠ” ν΄λΌμ΄μ–ΈνŠΈ/μ„œλ²„ 기반 파일 μ‹œμŠ€ν…œμ΄λ‹€.

3. λΆ„μ‚° λ©”λͺ¨λ¦¬

1. 원격 λ©”λͺ¨λ¦¬

  • μ „μ—­ μ£Όμ†Œκ³΅κ°„μ— λ§€ν•‘λœ 둜컬 μ£Όμ†Œκ³΅κ°„μ˜ 이름을 톡해 원격 λ©”λͺ¨λ¦¬λ₯Ό μ°Έμ‘°ν•œλ‹€.
  • 데이터 일관성은 ν”„λ‘œκ·Έλž˜λ¨Έμ˜ μ±…μž„μ΄λ‹€.

2. λΆ„μ‚° 곡유 λ©”λͺ¨λ¦¬

  • 가상 λ©”λͺ¨λ¦¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ΄μš©ν•˜μ—¬ λ„€νŠΈμ›Œν¬ λ©”λͺ¨λ¦¬λ₯Ό κ΅¬ν˜„ν•œλ‹€.
  • 데이터 일관성은 운영체제의 μ±…μž„μ΄λ‹€.

4. 원격 ν”„λ‘œμ‹œμ € 호좜

원격 ν”„λ‘œμ‹œμ € 호좜(Remote Procedure Call, RPC)은 ν•œ μ»΄ν“¨ν„°μ—μ„œ μž‘λ™ν•˜κ³  μžˆλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λ‹€λ₯Έ 컴퓨터에 μžˆλŠ” ν”„λ‘œμ‹œμ €λ₯Ό ν˜ΈμΆœν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ λ§€μ»€λ‹ˆμ¦˜μ΄λ‹€.

 

RPCλ₯Ό μ‚¬μš©ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈλŠ” 둜컬 ν”„λ‘œμ‹œμ €λ₯Ό ν˜ΈμΆœν•œλ‹€. 이λ₯Ό μŠ€ν…(stub) 루틴이라고 ν•œλ‹€. 이λ₯Ό RPC ν”„λ‘œμ‹œμ €κ°€ κ°€λ‘œμ±„μ–΄ 원격지 μ»΄ν“¨ν„°λ‘œ μ „λ‹¬ν•œλ‹€. κ·Έ ν›„ ν΄λΌμ΄μ–ΈνŠΈ 츑의 μŠ€ν… 루틴은 싀행을 μ€‘λ‹¨ν•œ 채 μ°¨λ‹¨λœλ‹€. μ„œλ²„λŠ” μ „λ‹¬λœ 메세지λ₯Ό 보고 μ μ ˆν•œ ν”„λ‘œμ‹œμ €λ₯Ό ν˜ΈμΆœν•œ λ’€ κ²°κ³Όλ₯Ό λ‹€μ‹œ λ©”μ‹œμ§€λ‘œ λ§Œλ“€μ–΄μ„œ ν΄λΌμ΄μ–ΈνŠΈμ˜ μŠ€ν… λ£¨ν‹΄μ—κ²Œ λ°˜ν™˜ν•œλ‹€. κ·Έ ν›„ μŠ€ν…λ£¨ν‹΄μ˜ μˆ˜ν–‰μ΄ μž¬κ°œλ˜μ–΄ RPC의 κ²°κ³Όλ©”μ‹œμ§€λ₯Ό ν˜ΈμΆœμžμ—κ²Œ λŒλ €μ€€λ‹€.

 

원격 ν”„λ‘œμ„Έμ„œ ν˜ΈμΆœμ€ λΆ„μ‚°μ²˜λ¦¬μ—λŠ” μœ μš©ν•˜μ§€λ§Œ 병렬 μ²˜λ¦¬μ—λŠ” μœ μš©ν•˜μ§€ λͺ»ν•˜λ‹€. ν˜ΈμΆœμžκ°€ 원격 ν”„λ‘œμ‹œμ €λ₯Ό ν˜ΈμΆœν–ˆμ„ λ•Œ, ν˜ΈμΆœμžλŠ” ν•΄λ‹Ή ν”„λ‘œμ‹œμ €κ°€ μ‹€ν–‰λ˜λŠ” λ™μ•ˆ μΌμ‹œμ •μ§€ ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€.