라기의 IT's time

[OS-07강] 분산 운영체제

 

[OS-07강]분산운영체제.pdf
0.10MB

학습내용
1. 분산 운영체제, 분산 시스템
학습목표
1. 분산 운영체제에 대한 개념과 관련 용어를 이해 할 수 있다
2. 분산 시스템에 대한 의미를 해결 할 수 있다
학습내용
1. 다중 처리기
(1) 다중 처리기(Multi-processor)의 개념 및 특징 
1) 각 프로세서는 자체 계산 능력을 가짐
2) 여러 프로세서는 하나의 공통된 기억 장소나 각각의 독립된 기억 장소를 가짐
3) 여러 프로세서들은 프로세서나 주변장치 등을 공동으로 사용
4) 여러 작업을 동시에 처리하여 실행 시간이 감소되고 전체 효율을 향상시킬 수 있음
(2) 프로세서 연결 방식
1) 공유 버스
① 장치 연결이 단순
② 장치 추가가 용이
③ 한 시점에 하나의 전송만이 가능
④ 버스에 이상이 발생하면 전체 시스템이 중단
⑤ 시스템의 전체 전송량이 버스의 전송률에 의해 제한됨
2) 크로스바 교환 행렬 
① 각 기억장치마다 다른 경로를 사용할 수 있음
② 두 개의 서로 다른 기억 장치를 동시에 참조 가능
③ 하드웨어가 복잡해짐
3) 하이퍼 큐브
① 다수의 프로세서를 연결할 수 있으며 확장성이 좋음
② 많은 프로세서가 연결될 경우 비용이 급속도로 증가
③ 하나의 프로세서에 연결되는 다른 프로세서의 수가 n개일 경우 프로세서는 
 총 2n개가 필요 
④ 128개의 프로세서로 구성될 경우 7개의 프로세서가 필요
4) 다중 포트 기억장치
 많은 수의 프로세서를 쉽게 연결

 

(3) 다중 처리기의 운영체제 구조
1) 주/종(Master/Slave)처리기
 하나의 프로세서를 Master로 지정하고, 나머지들은 Slave로 지정하는 구조
① 주프로세서가 고장 나면 전체 시스템이 중단
② 주프로세서만 입/출력을 수행하므로 비대칭 구조를 가짐
③ 주프로세서의 역할
• 입/출력과 연산을 담당
• 운영체제를 수행
④ 종프로세서의 역할
• 연산만 담당
• 입/출력 발생 시 주프로세서에게 서비스를 요청
2) 분리 수행 처리기 
 주/종 처리기의 비대칭성을 보안하여 각 프로세서가 독자적인 운영체제를 가진 구조
① 독자적인 운영체제를 가지므로 한 프로세서가 고장 나더라도 전체 시스템은 수행 
② 프로세서별 자신만의 파일 및 입출력장치를 제어
③ 프로세서별 인터럽트는 독립적으로 수행
3) 대칭적 처리기 
 여러 프로세서들이 완전한 기능을 갖춘 하나의 운영체제를 공유하여 수행하는 구조
① 가장 복잡한 구조를 가지고 있으나 가장 강력한 시스템
② 여러 개의 프로세서가 동시에 수행
③ 시스템의 전반적인 정보를 통일적이고 일관성 있게 운영
④ 프로세서의 수를 늘려도 시스템의 효율은 향상되지 않음
(4) 프로세서의 결합도 
1) 약결합 시스템(Loosely Coupled System) 
① 각 프로세서마다 독립된 메모리를 가진 시스템으로 분산 처리 시스템이라 함
② 둘 이상의 독립된 컴퓨터 시스템을 통신망을 통하여 연결한 시스템
③ 각 시스템마다 독자적인 운영체제가 존재
④ 프로세서 간의 통신은 메시지 전달이나 원격 프로시저 호출을 통하여 이루어짐
⑤ 각 시스템마다 독자적인 운영이 가능하여 프로세서간의 결합력이 약함
2) 강결합 시스템(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)
 다중 명령 흐름에 대한 다중 데이터 흐름, 진정한 의미의 병렬 처리 구조
2. 분산 시스템
(1) 설계 목적 
1) 자원 공유 
 각 시스템이 통신망을 통해 연결되어 있으므로 유용한 자원을 공유하여 사용
2) 연산 속도 향상
 하나의 일을 여러 시스템에 분산시켜 처리함으로써 연산 속도가 향상
3) 신뢰도 향상
 여러 시스템 중 하나의 시스템에 오류가 발생하더라도 다른 시스템은 계속 일을 처리
 할 수 있으므로 신뢰도가 향상
(2) 특징 
1) 약결합(loosely-coupled) 시스템
2) 업무량 증가에 따른 점진적인 확장이 용이
3) 제한된 자원을 여러 지역에서 공유 가능
4) 작업을 병렬적으로 수행함으로써 사용자에게 빠른 반응 시간과 작업 처리량이 향상
5) 작업의 부하를 균등하게 유지
6) 일부가 고장 나더라도 나머지 일부는 계속 작동 가능
7) 계층구조
 하드웨어계층 - 기억 장치계층 - 프로세스계층 - 파일 시스템계층 – 사용자 프로그램 
 계층으로 분류됨
(3) 장/단점 
1) 장점 
① 여러 사용자들 간의 통신이 용이
② 제한된 장치를 여러 지역의 사용자가 공유 
③ 여러 사용자들이 데이터를 공유
④ 중앙 컴퓨터의 과부하가 적음
⑤ 사용자는 각 컴퓨터의 위치를 몰라도 자원 사용 가능
⑥ 하나의 일을 나누어 처리함으로써 연산 속도, 신뢰도, 사용 가능도가 향상, 결함 
 허용이 가능
⑦ 시스템의 점진적 확장이 용이 
※ 점진적인 확장(incremental growth) 

 

•특정한 시스템 병목 현상을 제거하기 위해 필요한 자원을 추가할 수 있으므로 선택적
 인 성능 향상을 가능하게 함
2) 단점
① 중앙 집중형 시스템에 비해 소프트웨어 개발이 어려움 
② 보안의 어려움
(4) 분산 시스템의 투명성(Transparency) - 사용자가 분산된 시스템에 위치한 여러 자원을 사용할 때 각 자원의 위치 정보를 알지 
 못하고 마치 하나의 커다란 시스템을 사용하는 것으로 인식하도록 하는 것을 의미
- 분산 처리 운영체제에서 구체적인 시스템 환경을 사용자가 알 수 없도록 하며, 또한 
 사용자들로 하여금 이에 대한 정보가 없이도 원하는 작업을 수행할 수 있도록 지원하
 는 개념
1) 위치 투명성 : 자원의 물리적인 위치를 모르더라도 자원에 접근 가능
2) 이주 투명성 : 사용자나 응용프로그램의 동작에 영향을 받지 않고 시스템 내에 있는 
 자원을 이동 가능
3) 복제 투명성 : 사용자에게 통지할 필요 없이 자원들의 부가적인 복사를 자유로이 수
 행 가능
4) 병행 투명성 : 여러 다중 사용자들이 자원들을 병행하여 처리하고 공유가 가능
(5) 분산 파일 시스템
1) 분산 파일 시스템은 여러 사이트에 분산되어 있는 서버, 장치, 사용자들에 대한 파일 
 서비스를 제공하는 시스템
2) 서로 다른 컴퓨터의 사용자 간에 정보를 쉽게 공유
3) 사용자는 장소에 구애받지 않고, 어디서나 자신의 파일을 사용
4) 분산 파일 시스템의 실제 예 
① NFS 
• 선(SUN) 마이크로시스템스에 의해 개발된 것으로 근거리 통신망 또는 원격 통
 신망을 통해 파일에 접근하기 위하여 구현되고 구체화된 시스템
• 독립된 파일 시스템을 가진 서로 다른 워크스테이션의 모임이 서로 연결된 형태
• 투명성을 통하여 파일 시스템 간에 일정한 수준의 공유를 허용
② LOCUS
③ Andrew
(6) 분산 시스템에서 발생하는 결함 
1) 링크 결함 : 연결 부분에 발생할 수 있는 결함
2) 사이트 결함 : 각 사이트(시스템)에서 발생할 수 있는 결함
3) 메시지 분실 : 사이트에서 다른 사이트로 메시지 전송 시 발생할 수 있는 결함
(7) 분산 처리 시스템의 분류
1) 프로세서 모델에 따른 분류
① 클라이언트/서버 모델 
 중앙 컴퓨터에서 대부분의 작업을 처리하던 예전의 호스트/터미널 모델과는 달리 
 클라이언트 쪽에서 더 많은 작업을 처리하여 서버의 부하를 줄이는 방식

 

• 통신 응용을 위한 표준 모델
• 시스템 확장이 용이하고 유연함
• 서버는 공유된 다양한 시스템 기능과 자원을 제공
• 처리할 자료의 출처 가까이에서 처리 작업이 진행
• 프로그램의 모듈성과 융통성을 증대시킴
• 개방형 시스템으로 다양한 하드웨어와 소프트웨어 선택이 가능
② 집적 모델 
2) 위상에 따른 분류 
① 망형 - 완전 연결형 

• 각 컴퓨터는 시스템내의 모든 컴퓨터들과 직접 연결이 존재
• 신뢰성이 높음
• 설치 비용이 많이 듦
② 트리(tree)형 - 계층형

 

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

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

 

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

 

시스템 내의 모든 사이트들이 공유 버스에 연결된 구조
• 물리적 구조가 단순하고 사이트의 추가와 삭제가 용이
• 사이트의 고장은 통신에 영향을 주지 않지만 공유 버스의 고장은 전체 시스템에 영
 향을 줌
• 기본 비용은 사이트 수에 비례함
3)운영체제에 따른 분류 
① 네트워크 운영체제
• 독자적인 운영체제를 가지고 있는 시스템을 네트워크로 구성한 것으로 사용자가 
 원격 시스템으로 로그인하거나 원격으로 자원을 전달받아 사용하는 방식
• 지역적으로 멀리 떨어져 있는 대규모 시스템에서 주로 사용
• 사용자는 시스템의 각 장치에 대해 알아야 함
② 분산 운영체제
• 하나의 운영체제가 모든 시스템 내의 자원을 관리하는 것으로 원격에 있는 자원을 
 자신의 자원처럼 쉽게 접근하여 사용할 수 있는 방식
• 사용이 편리하고 시스템 간의 자원 공유가 용이
• 설계와 구현이 어려움
• 요청한 컴퓨터에 요청된 컴퓨터 자원이 이주됨으로써 자원 사용 가능
- 데이터 이주 : 데이터를 요청한 사용자의 컴퓨터로 해당 데이터의 복사본을 전송
 시키는 방식
- 연산 이주 : 분산 운영체제 시스템에서 서로 다른 컴퓨터 간에 많은 양의 파일을 
 처리하기 위하여 액세스하려고 할 때 가장 적절한 이주 방법 - 프로세스 이주 : 프로세스의 전체 또는 일부를 다른 컴퓨터에서 실행되도록 하는 
 방식

 

요점정리
1. 분산 운영체제에 대한 개념과 관련 용어를 정리합니다. 2. 분산 시스템에 대한 의미를 정리해 둡니다
다음차시예고
수고하셨습니다. 다음 8주차에서는 “[OS-08강] 운영체제의 실제와 에필로그”에 대해서 학습하도록 하겠습니다.

TOP