DevGang

[OS-19] 분산 운영체제 본문

정보처리/OS

[OS-19] 분산 운영체제

별천랑 2021. 2. 7. 19:03

1. 다중 처리기(Multi-processor)

  • 각 프로세서는 자체 계산 능력을 가짐
  • 여러 프로세서는 하나의 공통된 기억 장소나 각각의 독립된 기억 장소를 가짐
  • 여러 프로세서들은 프로세서나 주변장치 등을 공동으로 사용
  • 여러 작업을 동시에 처리하여 실행 시간이 감소되고 전체 효율을 향상할 수 있음

2. 프로세서 연결 방식

- 공유 버스

  • 장치 연결이 단순
  • 장치 추가가 용이
  • 한 시점에 하나의 전송만이 가능
  • 버스에 이상이 발생하면 전체 시스템이 중단
  • 시스템의 전체 전송량이 버스의 전송률에 의해 제한됨

- 크로스바 교환 행렬

  • 각 기억장치마다 다른 경로를 사용할 수 있음
  • 두 개의 서로 다른 기억 장치를 동시에 참조 가능
  • 하드웨어가 복잡해짐

- 하이퍼 큐브

  • 다수의 프로세서를 연결할 수 있으며 확장성이 좋음
  • 많은 프로세서가 연결될 경우 비용이 급속도로 증가
  • 하나의 프로세서에 연결되는 다른 프로세서의 수가 n개일 경우 프로세서는 총 2n개가 필요
  • 128개의 프로세서로 구성될 경우 7개의 프로세서가 필요

- 다중 포트 기억장치

  • 많은 수의 프로세서를 쉽게 연결

3. 다중 처리기의 운영체제 구조

- 주/종(Master/Slave) 처리기

  • 하나의 프로세서를 Master로 지정하고, 나머지들은 Slave로 지정하는 구조
  • 주 프로세서가 고장 나면 전체 시스템이 중단
  • 주 프로세서만 입/출력을 수행하므로 비대칭 구조를 가짐

- 주 프로세서의 역할

  • 입/출력과 연산을 담당
  • 운영체제를 수행

- 종 프로세서의 역할

  • 연산만 담당
  • 입/출력 발생 시 주 프로세서에게 서비스를 요청

- 분리 수행 처리기

  • 주/종 처리기의 비대칭성을 보안하여 각 프로세서가 독자적인 운영체제를 가진 구조
  • 독자적인 운영체제를 가지므로 한 프로세서가 고장 나더라도 전체 시스템은 수행
  • 프로세서별 자신만의 파일 및 입출력 장치를 제어
  • 프로세서별 인터럽트는 독립적으로 수행

- 대칭적 처리기

  • 여러 프로세서들이 완전한 기능을 갖춘 하나의 운영체제를 공유하여 수행하는 구조
  • 가장 복잡한 구조를 가지고 있으나 가장 강력한 시스템
  • 여러 개의 프로세서가 동시에 수행
  • 시스템의 전반적인 정보를 통일적이고 일관성 있게 운영
  • 프로세서의 수를 늘려도 시스템의 효율은 향상되지 않음

4. 프로세서의 결합도

- 약 결합 시스템(Loosely Coupled System)

  • 각 프로세서마다 독립된 메모리를 가진 시스템으로 분산 처리 시스템이라 함
  • 둘 이상의 독립된 컴퓨터 시스템을 통신망을 통하여 연결한 시스템
  • 각 시스템마다 독자적인 운영체제가 존재
  • 프로세서 간의 통신은 메시지 전달이나 원격 프로시저 호출을 통하여 이루어짐
  • 각 시스템마다 독자적인 운영이 가능하여 프로세서간의 결합력이 약함

- 강 결합 시스템(Tightly Coupled System)

  • 동일 운영체제 하에서 여러 개의 프로세서가 하나의 메모리를 공유하여 사용하는 시스템으로 다중 처리 시스템이라 함
  • 하나의 운영체제가 모든 프로세서와 시스템을 제어
  • 프로세서 간의 통신은 공유 메모리를 통하여 이루어짐
  • 하나의 메모리를 사용하므로 프로세서 간의 결합력이 강함
  • 공유 메모리를 차지하려는 프로세서 간의 경쟁을 최소화해야 함

5. Flynn의 분류

  • SISD(Single Instruction Single Data) - 단일 명령 흐름에 대한 단일 데이터 흐름
  • SIMD(Single Instruction Multiple Data) - 단일 명령 흐름에 대한 다중 데이터 흐름, 벡터 처리기 혹은 배열 컴퓨터
  • MISD(Multiple Instruction Single Data) - 다중 명령 흐름에 대한 단일 데이터 흐름, 이론적일 뿐 실질적인 처리 방식으로 사용되지 않는 구조
  • MIMD(Multiple Instruction Multiple Data) - 다중 명령 흐름에 대한 다중 데이터 흐름, 진정한 의미의 병렬 처리 구조

6. 분산 시스템 설계 목적

  • 자원 공유 - 각 시스템이 통신망을 통해 연결되어 있으므로 유용한 자원을 공유하여 사용
  • 연산 속도 향상 - 하나의 일을 여러 시스템에 분산시켜 처리함으로써 연산 속도가 향상
  • 신뢰도 향상 - 여러 시스템 중 하나의 시스템에 오류가 발생하더라도 다른 시스템은 계속 일을 처리할 수 있으므로 신뢰도가 향상

7. 분산 시스템 특징

  • 약 결합(loosely-coupled) 시스템
  • 업무량 증가에 따른 점진적인 확장이 용이
  • 제한된 자원을 여러 지역에서 공유 가능
  • 작업을 병렬적으로 수행함으로써 사용자에게 빠른 반응 시간과 작업 처리량이 향상
  • 작업의 부하를 균등하게 유지
  • 일부가 고장 나더라도 나머지 일부는 계속 작동 가능

- 계층구조

  • 하드웨어 계층 - 기억 장치 계층 - 프로세스 계층 - 파일 시스템 계층 – 사용자 프로그램 계층으로 분류됨

8. 분산 시스템 장/단점 

- 장점

  • 여러 사용자들 간의 통신이 용이
  • 제한된 장치를 여러 지역의 사용자가 공유
  • 여러 사용자들이 데이터를 공유
  • 중앙 컴퓨터의 과부하가 적음
  • 사용자는 각 컴퓨터의 위치를 몰라도 자원 사용 가능
  • 하나의 일을 나누어 처리함으로써 연산 속도, 신뢰도, 사용 가능도가 향상, 결함 허용이 가능
  • 시스템의 점진적 확장이 용이 

※ 점진적인 확장(incremental growth) 

  • 특정한 시스템 병목 현상을 제거하기 위해 필요한 자원을 추가할 수 있으므로 선택적인 성능 향상을 가능하게 함

- 단점

  • 중앙 집중형 시스템에 비해 소프트웨어 개발이 어려움
  • 보안의 어려움

9. 분산 시스템의 투명성(Transparency)

  • 사용자가 분산된 시스템에 위치한 여러 자원을 사용할 때 각 자원의 위치 정보를 알지 못하고 마치 하나의 커다란 시스템을 사용하는 것으로 인식하도록 하는 것을 의미
  • 분산 처리 운영체제에서 구체적인 시스템 환경을 사용자가 알 수 없도록 하며, 또한 사용자들로 하여금 이에 대한 정보가 없이도 원하는 작업을 수행할 수 있도록 지원하는 개념
  • 위치 투명성 : 자원의 물리적인 위치를 모르더라도 자원에 접근 가능
  • 이주 투명성 : 사용자나 응용프로그램의 동작에 영향을 받지 않고 시스템 내에 있는 자원을 이동 가능
  • 복제 투명성 : 사용자에게 통지할 필요 없이 자원들의 부가적인 복사를 자유로이 수행 가능
  • 병행 투명성 : 여러 다중 사용자들이 자원들을 병행하여 처리하고 공유가 가능

10. 분산 파일 시스템

  • 분산 파일 시스템은 여러 사이트에 분산되어 있는 서버, 장치, 사용자들에 대한 파일 서비스를 제공하는 시스템
  • 서로 다른 컴퓨터의 사용자 간에 정보를 쉽게 공유
  • 사용자는 장소에 구애받지 않고, 어디서나 자신의 파일을 사용

- 분산 파일 시스템의 실제 예

  • LOCUS
  • Andrew
  • NFS
    • 선(SUN) 마이크로시스템스에 의해 개발된 것으로 근거리 통신망 또는 원격 통신망을 통해 파일에 접근하기 위하여 구현되고 구체화된 시스템
    • 독립된 파일 시스템을 가진 서로 다른 워크스테이션의 모임이 서로 연결된 형태
    • 투명성을 통하여 파일 시스템 간에 일정한 수준의 공유를 허용

11. 분산 시스템에서 발생하는 결함

  • 링크 결함 : 연결 부분에 발생할 수 있는 결함
  • 사이트 결함 : 각 사이트(시스템)에서 발생할 수 있는 결함
  • 메시지 분실 : 사이트에서 다른 사이트로 메시지 전송 시 발생할 수 있는 결함

12. 분산 처리 시스템의 분류

- 프로세서 모델에 따른 분류
 1) 클라이언트/서버 모델

  • 중앙 컴퓨터에서 대부분의 작업을 처리하던 예전의 호스트/터미널 모델과는 달리 클라이언트 쪽에서 더 많은 작업을 처리하여 서버의 부하를 줄이는 방식
  • 통신 응용을 위한 표준 모델
  • 시스템 확장이 용이하고 유연함
  • 서버는 공유된 다양한 시스템 기능과 자원을 제공
  • 처리할 자료의 출처 가까이에서 처리 작업이 진행
  • 프로그램의 모듈성과 융통성을 증대시킴
  • 개방형 시스템으로 다양한 하드웨어와 소프트웨어 선택이 가능

 2) 집적 모델 

 


- 위상에 따른 분류 

 1) 망형 - 완전 연결형 

  • 각 컴퓨터는 시스템 내의 모든 컴퓨터들과 직접 연결이 존재
  • 신뢰성이 높음
  • 설치 비용이 많이 듦

 2) 트리(tree) 형 - 계층형

  • 각 컴퓨터들이 트리 형태로 연결된 구조
  • 상위 컴퓨터가 고장 나면 하위 컴퓨터들은 통신이 불가능

 3) 성(Star) 형

  • 모든 컴퓨터가 하나의 중앙 컴퓨터만 직접 연결되어 있음
  • 구조가 간단하며, 각 노드들이 point-to-point 형태로 중앙 컴퓨터에 연결
  • 중앙 컴퓨터에 오류가 발생하면 전체 시스템이 마비
  • 응답이 빠르고 통신 비용이 적음
  • 터미널의 증가에 따라 통신 회선수도 증가

 4) 링(Ring) 형 - 환형

  • 시스템 내의 각 사이트가 인접하는 다른 두 사이트와만 직접 연결된 구조
  • 정보는 단방향 또는 양방향으로 전달
  • 새로운 노드를 추가할 경우 통신회선을 절단해야 함
  • 목적지에 도달하는데 단방향인 경우 최대 n-1개의 노드를 거침
  • 기본 비용은 사이트 수에 비례함
  • 메시지가 링을 순환할 경우 통신비용은 증가함

 5) 다중 접근 버스 연결(Multi Access Bus Connection) 형 

  • 시스템 내의 모든 사이트들이 공유 버스에 연결된 구조
  • 물리적 구조가 단순하고 사이트의 추가와 삭제가 용이
  • 사이트의 고장은 통신에 영향을 주지 않지만 공유 버스의 고장은 전체 시스템에 영향을 줌
  • 기본 비용은 사이트 수에 비례함

- 운영체제에 따른 분류 

 1) 네트워크 운영체제

  • 독자적인 운영체제를 가지고 있는 시스템을 네트워크로 구성한 것으로 사용자가 원격 시스템으로 로그인하거나 원격으로 자원을 전달받아 사용하는 방식
  • 지역적으로 멀리 떨어져 있는 대규모 시스템에서 주로 사용
  • 사용자는 시스템의 각 장치에 대해 알아야 함

 2) 분산 운영체제

  • 하나의 운영체제가 모든 시스템 내의 자원을 관리하는 것으로 원격에 있는 자원을 자신의 자원처럼 쉽게 접근하여 사용할 수 있는 방식
  • 사용이 편리하고 시스템 간의 자원 공유가 용이
  • 설계와 구현이 어려움
  • 요청한 컴퓨터에 요청된 컴퓨터 자원이 이주됨으로써 자원 사용 가능
  • 데이터 이주 : 데이터를 요청한 사용자의 컴퓨터로 해당 데이터의 복사본을 전송시키는 방식
  • 연산 이주 : 분산 운영체제 시스템에서 서로 다른 컴퓨터 간에 많은 양의 파일을 처리하기 위하여 액세스 하려고 할 때 가장 적절한 이주 방법
  • 프로세스 이주 : 프로세스의 전체 또는 일부를 다른 컴퓨터에서 실행되도록 하는 방식

'정보처리 > OS' 카테고리의 다른 글

[OS-21] 윈도우&MS-DOS  (0) 2021.02.07
[OS-20] UNIX  (0) 2021.02.07
[OS-18] 보안  (0) 2021.02.07
[OS-17] 자원 보호  (0) 2021.02.07
[OS-16] 디스크 공간 할당 방법  (0) 2021.02.07
Comments