자료구조, 운영체제, 네트워크, 시스템설계/NCS

운영체제 기술면접 준비10: 분산 운영체제 시스템 (현대의 운영체제 시스템)

개발자 aloe 2022. 10. 11. 19:20
728x90

오늘은 분산 운영체제 시스템에 대하여 알아보자

그게 뭐냐구?

 

괜찮다 천천히 읽어보면 분명 이해할 수 있을 것이다.

 

우리 같이 데... 아니 공부 해보자

 

 

 

분산 운영체제 시스템  

 

 

우리가 흔히 사용하는 운영체시 시스템은 분산 운영체제 시스템이다.

ex 클라이언트 / 서버 

그래서 오늘은 클라이언트 / 서버 모델을 운영체제 관점에서 바라본

즉 분산 운영체제 시스템에 대하여 알아보자  

 

개념

  • 네트워크를 지원하는 컴퓨터에서 동작 
  • 원격에 있는 자원을 마치 지역 자원인 것처럼 활용

 

목적 

  • 자원 공유 
  • 연산 속도 향상
  • 신뢰성 향상 
  • 컴퓨터 통신

 

장점

  • CPU의 처리 능력 한계를 극복 : 원격 이용하기 때
  • 단일 CPU의 경우 한 단계 높이기 위해 제곱만큼 비용 증가  => 분산 시스템으로 해결 
  • 병목 현상 제거를 위한 필요한 자원의 추가 용이 => 확장성 높음 : 네트워크 추가만 하면되서 
  • 부하 균등 배분 가능(Load Balancing) 
  • 다수 사용자가 데이터 공유 가능 
  • 통신이 용이

 

단점 

  • 보안에 취약 
  • 소프트웨어 개발이 어려움
  • 하나의 CPU를 사용할 때보다 적응성이 떨어짐 
  • 에러 발생 시 원인 파악이 어려움

 


분산 시스템의 결함(Failure) 

 

링크 결함

• 사이트(컴퓨터, 노드, 교환기) 간 잘못된 연결로 발생

 

 

사이트 결함

• 사이트 자체에서 발생할 수 있는 결함 

 

메시지의 분실

• 통신회선 상에서 발생된 전송 오류에 따른 메시지 손실

• 사이트 간 전송되는 메시지의 분실

 

 

데이터 결함이 발생하지 않는 이유 :

분산 시스템은 신뢰성을 위해 TCP / IP를 통해 돌아감 만약 데이터 결함이 있으면 그냥 버려버림

 

네트워크 내 모든 업무가 동일 하면 하나의 사이트로 간주 하나다는 것은 : 네이버 생각 여러 페이지 == 사이트가 

하나의 네이버 사이트임 


 

분산 운영체제의 구조 

 

구조(=위상, Topology)  :  어떠한 형태로 네트워크 연결이 되는지

 

  • 성형 연결(Star Connected) 구조 
  • 환형 연결(Ring Connected) 구조 
  • 다중 접근 버스 연결(Multi-access Bus Connection) 구조 
  • 완전 연결(Fully Connected) 구조 
  • 부분 연결(Partially Connected) 구조 
  • 계층 연결(Hierarchy Connected) 구조

 

성형 연결(Star Connected) 구조 

  • 각 노드가 1:1(Point – To - Point) 형태로 중앙 컴퓨터(노드) 에 연결 
  • 중앙 컴퓨터를 통해 중재(mediate) 및 제어(control)를 받음
    • • 제어가 집중
    • • 모든 동작이 중앙 컴퓨터에 의해 관리 
  • 중앙 컴퓨터의 과부하는 전체적의 성능에 영향을 줌 
  • 중앙 컴퓨터의 고장은 전체적의 시스템을 마비 : 제어 받지 못해서 
  • 터미널의 증가에 따라 통신 회선 수도 증가 

 

환형 연결(Ring Connected) 구조 

  • 각 노드는 이웃하는 다른 두 노드와 물리적으로 연결 
  • 정보 전달은 단방향 또는 양방향 방식이 있음
  • 기본 비용은 사이트 수에 비례 
  • 메시지가 링을 순환할 경우 통신 비용 증가  ex 바로 옆에 없을때 건더 건너 가야하니까 
  • 근거리 네트워크 구조로 많이 사용 ex (lan)

 

 

다중 접근 버스 연결(Multi-access Bus Connection) 구조 

 

  • 한 시점에 단지 하나의 전송만이 가능  :  한놈 전송중이면 모두 stop 길이 하나임 ㅠㅠ
  • 물리적 구조가 단순 => 증설이 단순 
  • 버스의 사용을 위한 경쟁 발생 
  • 성능 저하 발생
  • 버스의 이상은 전체 시스템을 마비
  • 한 사이트의 고장은 나머지 사이트들 간 통신에 영향을 주지 않음 
  • 버스의 대역폭에 제한을 받음 ex 쉽게 02년식 마을버스/ 2022년식 전기 버스

 

완전 연결(Fully Connected) 구조

  • 네트워크 내의 모든 사이트들이 서로 직접 연결(Direct Link) 된 구조
  • 기본 비용이 높음 : 하나 추가하면 다연결 해줘야함 
  • 사이트 간 메시지는 매우 빠름 : 각각 다 연결 되어 있어서 
  • 하나의 링크가 고장 나더라도 우회가 가능 =>  고 신뢰성

 

부분 연결(Partially Connected) 구조 

 

  • 네트워크 내 사이트 간 부분적으로 연결 
  • 증설 비용이 완전 연결보다 낮음
  • 메시지가 경유 되는 경우 메시지 전달이 늦어 짐 
  • 완전 연결 대비 신뢰성이 낮음 
  • 환형 연결(Ring Connected)도 부분 연결 구조 중 하나 (안에 다 지우고 선 하나만 연결하면)

 

 

계층 연결(Hierarchy Connected) 구조 

 

  • 사이트들을 트리(Tree) 형태로 구성 
  • 루트(root)와 서브(sub) 사이트 관계로 존재 
  • 노드는 하나의 부모와 여러 개의 자식 사이트를 가짐 
  • 비용은 부분 연결보다 낮음 
  • 특정 사이트의 고장은 자식 사이트의 중단을 초래  : 사진 빨간색 선 보면 중간이 죽으면 아래 자식 노드들 다 죽어버림 

 


분산 운영체제 설계 시 고려사항 

 

설계 시 고려사항 

  • 투명성(Transparency) : 자원 위치를 알 필요가 없음 
    • 내 컴퓨터에 있는거 처럼 쓰면됨 네트워크 공유 되어 있기 때문에 가능  ex 서버 자원 
  • 자원 공유 때문
    • • 위치 투명성 : 위치에 관계없이 사용을 보장
    • • 이주 투명성 : 자원들의 이동을 사용자는 알 필요가 없음
      • 이동 되는 자원은 크게 : 프로세스, 데이터, 연산을 말함 
    • • 복제 투명성 : 사용자 통보없이 자율적 복사 가능
    • • 병행 투명성 : 자동 공유
    • • 병렬 투명성 : 다수 처리기 사용제한 없음 ex CPU 몇개를 사용하던 
  • 융통성
  • 신뢰성(Reliability) : 특정 사이트의 고장 후 작업 이관을 통한 해결
  • 결함 내성(Fault Tolerance) : 고장 시 사용자의 요청 손실을 최소화 
  • 성능: 처리 속도가 느려지지 않도록 설계 
  • 확장성(Scalability) : 여러 형태의 기술을 확대할 수 있도록 설계

 


추가 개념

 

클라이언트/ 서버 시스템 이전의 시스템은 어떤 모습??

 

중앙 집중 시스템

  • C/S(Client/Server) 시스템 이전의 시스템 
  • 호스트(Main-Frame) 컴퓨터와 더미(dummy) 단 말기의 관계로 네트워크를 구성 
  • 더미 단말의 증가는 호스트의 부담을 가중 
  • 호스트가 다운되면 전체가 중단

 

호스트만 CPU가 있음 더미 단말기는 CPU 없이 입력하고, 결과만 출력해주는 바보임

  

 

분산 처리를 위한 파일시스템 대표적 3가지

 

NFS(Network File System) 

  • 썬 마이크로시스템즈(Sun Microsystems, 1984)가 개발
  • 원격지의 컴퓨터에 있는 파일을 마치 자신의 컴퓨터에 있는 것처럼 사용 
  • NFS 서버가 데몬(Daemon)으로 동작
  • 원격 파일을 접근하기 위해서는 NFS 클라이언트 필요 
  • 대부분의 UNIX 계열의 운영체제에서 지원되고 있음

 

LoCUS 분산 파일 시스템 

  • Los Angeles의 캘리포니아 대학(UCLA)에서 개발 
  • 분산 운영체제를 구축하기 위한 파일 시스템

 

Andrew 분산 파일 시스템

  • AFS : Andrew File System
  • Carnegi-Mellon 대학(CMU)에서 개발
  • 분산 컴퓨팅 환경을 위한 파일 시스템
728x90