#5 분산 운영체제

1. 다중 처리기(Multi-Processor)
: 하나의 시스템에 여러 개의 처리기를 두어 하나의 작업을 각 처리기에게 할당하여 처리하는 것을 의미
: 프로세스간 상호작용이 밀접한 강결합 시스템
: 여러 작업을 동시에 처리하여 실행 시간이 감소되고 전체 효율을 향상시킬 수 있다

2. 프로세서 연결 방식
1. 시분할 및 공유 버스
: 프로세서, 주변장치, 기억장치 등의 장치를 '버스'라는 단일 경로로 연결하는 방식
: 장치 연결이 단순하고, 경제적이고, 융통성이 있음
: 장치 추가가 용이, 버스에 이상이 발생하면 시스템이 가동되지 않음

2. 크로스바 교환 행렬
: 시분할 및 공유 버스 방식에서 버스의 수를 기억장치 수만큼 증가시켜 연결한 방식
: 각 장치마다 다른 경로를 사용할 수 있다
: 동시 참조가 가능하고, 장치의 연결이 복잡해진다

3. 하이퍼 큐브 방식
: 다수의 프로세서들을 연결하는 방식으로 비교적 경제적인 방식
: 확장성이 좋고, 많은 프로세서가 연결될수록 비용이 증가
: 하나의 프로세서에 연결되는 다른 프로세서의 수가 n개일 경우
: 프로세서는 총 2의 n승 개 필요

3. 다중 처리기의 운영체제 구조
1. Master/Slave(주/종) 처리기
: 하나의 프로세서를 Master로 지정하고, 나머지들은 Slave로 지정하는 구조
: 주 프로세서가 고장나면 전체 시스템이 다운
: 주 프로세서만 입,출력 수행하므로 비대칭구조
- 주 프로세서: 입출력과 연산을 담당, 운영체제를 수행
- 종 프로세서: 연산만 담당, 사용자 프로그램만 담당

2. 분리 실행 처리기 - 주/종 처리기 비대칭성 보완
: 주/종 처리기의 비대칭성을 보완하여 각 프로세서가 독자적인 운영체제를 가지고 있도록 구성한 구조
: 각 프로세서에서 발생하는 인터럽트는 해당 프로세서에서 해결
: 할당된 작업은 해당 프로세서가 모두 처리해야 되기 때문에 한 프로세서에 일이 밀려도 다른 프로세서는 유휴상태가 될 수 있음

3. 대칭적 처리기
: 분리 실행 처리기 구조의 문제점을 보완, 여러 프로세스들이 완전한 기능을 갖춘 하나의 운영체제를 공유하여 수행하는 구조
: 가장 복잡한 구조를 가지고 있으나 가장 강력한 시스템
: 여러 개의 프로세서가 동시에 수행될 수 있음
: 시스템의 전반적인 정보를 통일적이고, 일관성 있게 운영

4. 프로세서의 결합도
1. 약결합 시스템(Loosely Coupled System) - 분산 처리 시스템
: 각 프로세스마다 독립된 메모리를 가진 시스템으로, 분산 처리 시스템
: 둘 이상의 독립된 컴퓨터 시스템을 통신망을 통하여 연결한 시스템
: 각 시스템마다 독자적인 운영체제를 가지고 있음
: 각 시스템은 독립적으로 작동할 수 있고, 필요한 경우 상호 통신할 수 있다
: 각 시스템마다 독자적인 운영이 가능하므로 프로세서 간의 결합력은 약하다
: 프로세스간의 통신은 메세지 전달이나 원격 프로시저 호출을 통하여 이루어짐

2. 강결합 시스템(Tightly Coupled System) - 다중 처리 시스템
: 동일 운영체제하에서 여러 개의 프로세스가 하나의 메모리를 공유하여 사용하는 시스템으로, 다중처리 시스템이라고 한다.
: 하나의 운영체제가 모든 프로세서와 시스템 하드웨어를 제어
: 프로세서 간의 통신은 공유 메모리를 통해서 이루어짐
: 하나의 메모리를 사용하므로 프로세서 간의 결합력이 강함
: 여러 처리기 간에 하나의 저장장치를 공유




- 분산 처리 시스템(Distributed Processing System)
: 약결합 시스템, 독립적인 처리 능력을 가진 컴퓨터 시스템을 통신망으로 연결한 시스템

- 분산 처리 시스템의 설계 목적
: 자원공유
: 연산속도 향상
: 신뢰도 향상
: 컴퓨터 통신

- 분산 처리 시스템의 장,단점
- 장점
: 여러 사용자들 간에 통신이 용이, 제한된 장치를 여러 지역의 사용자가 공유
: 중앙 컴퓨터의 과부하를 줄일 수 있다
: 시스템의 점진적인 확장이 용이, 각 컴퓨터의 위치를 몰라도 자원을 사용할 수 있음
: 하나의 일을 여러 시스템이 처리함으로 연산 속도, 신뢰도, 사용 가능도가 향상, 결함 허용이 가능

- 단점
: 중앙 집중형에 비해 소프트웨어 개발이 어렵다
: 보안 문제가 발생, 시스템 유지상 통일성을 잃기 쉽다
: 설계가 복잡하고, 서비스의 질이 떨어진다

- 분산 처리 시스템의 투명성
* 투명성(Transparency)은 분산 처리 운영체제에 구체적인 시스템 환경을 사용자가 알 수 없도록 하며, 사용자들도 이에 대한 정보가 없어도 원하는 작업을 수행하도록 지원 개념

1. 위치 투명성: 엑세스하려는 데이터베이스의 실제 위치를 알 필요가 없다
2. 이주 투명성: 사용자나 응용 프로그램의 동작에 영향을 받지 않고, 자원 이동 가능
3. 중복 투명성: 동일한 데이터가 중복 되더라도 사용자는 하나의 데이터만 존재처럼 사용
4. 병행 투명성: 다수의 트랜잭션들이 동시에 실현되더라도 그 트랙잭션의 결과는 영향 x
5. 접근 투명성: 각 프로세스의 로그인과 같은 동작을 원격 지원을 할 수 있다.
6. 장애 투명성: 장애가 발생하더라도 트랜잭션을 정확하게 처리한다
7. 성능 투명성: 여러 부하에 대한 성능을 증가시키기 위하여 시스템을 재구성 할 수 있음
8. 규모 투명성: 시스템 구조나 알고리즘의 변경 없이 규모에 맞추어 확장 가능

- 분산 파일 시스템
: 여러 사이트에 분산되어 있는 서버, 장치, 사용자들에 대한 파일서비스를 제공하는 시스템
: 서로 다른 컴퓨터의 사용자 간에 정보를 쉽게 공유할 수 있다
: 서로 다른 컴퓨터의 사용자 간에 같은 파일 시스템 구조를 사용하므로 효율적이다
: NFS(Network File System) - 마이크로소프트
: LoCUS - 캘리포니아 대학
: Andrew - 카네기 멜론

- 분산 처리 시스템의 분류

- 위상(Topology)에 따른 분류

1. 망형 - 완전 연결(Fully Connection)형
: 각 사이트들이 시스템 내 다른 모든 사이트들과 직접 연결되는 구조
: 사이트의 수가 n개이면 링크 수는 n(n-1)/2개가 된다
: 모든 사이트를 연결해야 하므로 기본 비용은 많이 들지만 통신 비용은 적게든다
: 하나의 링크가 고장나더라도 다른 링크를 사용할 수 있어 신뢰성이 높다.

2. 망형 - 부분 연결(Partially Connection)형
: 시스템 내의 일부 사이트들 간에만 직접 연결
: 기본 비용은 완전 연결형보다는 적게 들고, 통신비용은 완전 연결형보다 많이 듬
: 완전 연결형 보다는 신뢰성이 낮음

3. 트리(tree) 또는 계층(hierachy)형
: 분산 처리 시스템의 가장 대표적인 형태
: 기본 비용은 부분 연결형 보다 적고, 통신 비용은 트리의 깊이에 비례
: 부모 사이트가 고장나면 자식사이트들은 통신 불가능

4. 스타(star)형 = 성형
: 모든 사이트가 하나의 중앙 사이트에 직접 연결되어 있고, 그 외에 다른 사이트와는 연결되지 않은 구조
: 기본 비용은 사이트 수에 비례하고, 통신비용은 적게 든다
: 구조가 간단하고, 보수 및 관리가 용이하다
: 중앙 사이트를 경유하여 통신하므로 응답이 빠르다
: 중앙 사이트가 고장나면 시스템 고장


5. 링형(Ring)형 = 환형
: 시스템 내의 각 사이트가 인접하는 다른 두 사이트와만 직접 연결된 구조
: 단방향 또는 양방향으로 전달될 수 있음
: 특정 사이트가 고장나면 통신이 불가능해지는 사이트가 발생될 수 있음
: 각 노드가 공평한 서비스를 받음
: 전송매체와 노드의 고장발견이 쉽다
: 새로운 노드를 추가시 통신회선을 절단해야함
: 목적지에 도달하는데 단방향인 경우 최대 n-1개의 노드를 거쳐야한다

6. 다중 접근 버스 연결(Multi Access Bus Connection)형
: 시스템 내의 모든 사이트들이 공유 버스에 연결된 구조
: 물리적 구조가 단순하고, 사이트의 추가와 삭제가 용이
: 사이트의 고장은 통신에 영향을 주지 않지만, 버스의 고장은 시스템 전체에 영향을 줌



- 분산 범위에 따른 분류

1. 근거리 통신망(LAN: Local Area Network)
: 회사, 학교, 연구소 등에 비교적 가까운 거리에 있는 컴퓨터, 프린터, 테이프 등과 같은 자원을 연결하여 구성
: 주로 자원 공유를 목적으로 구성
: 사이트 간의 거리가 짧아 데이터 전송이 빠르고, 에러 발생율이 낮다
: 주로 버스형이나 링형으로 사용

2. 광대역 통신망(WAN:Wide Area Network)
: 국가와 국가 혹은 대륙 같이 멀리 떨어진 사이트들을 연결하여 구성
: 사이트간의 거리가 멀기 때문에 통신 속도가 느리고, 에러 발생율이 높다
: 일정한 지역에 있는 사이트들을 근거리 통신망으로 연결한 후 각 근거리 통신망을 연결하는 방식을 사용

- 프로세서 모델에 따른 분류

1. 클라이언트/서버 모델(Client/Server Model)
: 정보를 제공하는 서버와 정보를 요구하는 클라이언트로 구성
: 서버는 공유된 다양한 시스템 기능과 자원을 제공
: 프로그램의 모듈성과 융통성을 증대
: 사용자 중심의 개별적인 클라이언트 운영 환경이 가능
: 시스템 확장이 용이하고 유연성이 있음
: 많은 자원을 공유할 수 있음

2. 프로세서 풀 모델(Processor Pool Model)
: 하나 이상의 프로세서 풀과 여러 워크스테이션, 서버등이 연결된 형태로, 각 작업이 프로세서 풀 시스템을 통해 수행되는 방식
: 워크스테이션이나 단말기는 단순히 시스템의 자원을 접근하는 수단을 제공

3. 혼합 모델(Hybrid Model)
: 클라이언트/서버 모델과 프로세서 풀 모델의 혼합 형태

- 운영체제에 따른 분류

1. 네트워크 운영체제
: 독자적인 운영체제를 가지고 있는 시스템을 네트워크로 구성한 것으로, 사용자가 원격 시스템으로 로그인하거나 원격 시스템으로부터 필요한 자원을 전달받아야 하는 방식
: 지역적으로 멀리 떨어져있는 대규모 시스템에 주로 사용
: 설계와 구현이 쉽고, 장애 발생시 해당 작업만 분실
: 자원 공유가 번거롭다

2. 분산 운영체제
: 하나의 운영체제가 모든 시스템 내의 자원을 관리
: 원격에 있는 자원을 마치 지역 자원인 것과 같이 쉽게 접근하여 사용할 수 있다
: 사용이 편리하고, 시스템 간 자원 공유가 용이
: 하나의 운영체제가 시스템 전체를 관리해야 하므로 설계와 구현이 어렵다
1. 데이터 이주(Data Migration) - 데이터를 요청한 컴퓨터로 복사본을 전송시키는 방식
2. 연산 이주(Computation Migration) - 요청한 데이터를 처리하여 해당 결과를 요청한 컴퓨터에 보내는 방식
3. 프로세스 이주(Process Migration) - 프로세스의 전체 또는 일부를 다른 컴퓨터에서 실행되도록 하는 방식

댓글 없음:

댓글 쓰기