(1) 개요
- 데이터 처리장치 및 DB가 지역적으로 분산돼 있으면서 정보교환을 위해 네트워크로 상호 결합된 시스템이다.
- 분산 노드는 기능을 노드 별로 분담하여 수행하고, 이들이 네트워크로 연결되어 중앙의 대형 컴퓨터보다 많은 일을 효율적으로 처리할 수 있다.
특징
- 사용자에게 할당될 수 있는 자원은 각 노드에 분산될 수 있고, 이들은 메시지를 주고 받으면서 정보를 교환한다.
- 노드들은 각기 어느 정도의 자율성(autonomy)을 가진다.
- 사용자는 특정 자원의 물리적 위치를 몰라도 그 자원을 사용할 수 있어야 한다.
- 시스템 전체의 정책을 결정하는 통합적인 제어 기능이 있어야 한다.
개발 이유
- 인터넷이 개발되기 전에 개발된 것으로 오래전에 나왔다.
1. Resource Sharing
- 서로 다른 기능 및 자원을 가지는 여러 개의 노드가 연결되어 있다면, 한 노드에 있는 사용자가 다른 노드의 자원을 사용 가능하다.
- 특수 목적의 하드웨어 사용, 원거리 노드의 파일 공유, 분산 DB내에서의 정보처리, 원거리 노드의 파일 인쇄 등이 가능하다.
2. Computation SpeedUp
- 특정 연산을 동시에 수행이 가능한 여러 개의 부분 연산으로 분할하여 여러 개의 노드에서 수행이 가능하다.
- 특정 노드의 Overload(과부하)에 대하여 Load Balancing(부하 균등화)이 가능하다.
3. Reliability
- 일부 노드가 고장 나더라도 다른 노드가 그 노드의 기능을 수행함으로써 전체 시스템은 계속 동작 가능하다.
- 어느 한 노드에서 고장이 발생하더라도 나머지 노드는 영향을 받지 않는다.
4. Communication
- 여러 사이트들이 통신 네트워크를 통해 서로 연결돼 있을 때, 다른 사이트에 있는 사용자들 간에 정보 교환이 가능하다.
- 지역적으로 떨어진 사이트에 있는 두 사람 간의 공동 작업이 가능하다.
기타
- 기존의 대형 메인프레임(컴퓨터)을 네트워크로 연결된 소형 워크스테이션 또는 개인용 컴퓨터로 대체하는 Downsizing을 가능하게 한다.
- 저비용 고성능, 확장성이 높고, 손쉬운 유지보수가 가능하다.
(2) 분산 처리 시스템 형태
네트워크 위상(Topology)에 따른 구분
노드(컴퓨터)들의 물리적인 연결 형태에 따른 구분으로, 위상 형태에 따른 각 노드들 간의 연결에서 고려해야 할 사항들이 있다.
- 기본비용 : 시스템 내의 노드들을 연결하는데 드는 비용
- 통신비용 : 한 노드로부터 다른 노드에게로 메시지를 전달하는데 걸리는 시간 및 비용
- 신뢰성 : 시스템 내의 통신 회선이나 노드 중 하나가 고장이 발생하더라도 나머지 노드들이 계속 통신할 수 있는지의 여부
1. Fully Connected(완전 연결 구조)
- 각 노드가 시스템 내의 다른 모든 노드와 직접 연결된 구조이다.
- 기본비용은 노드 숫자의 제곱에 비례한다. → (n x (n - 1)) / 2
장점
- 임의의 두 노드만을 연결하는 하나의 전용 회선을 사용하므로 메시지 전송 속도가 매우 빠르다.
- 모든 노드와 연결되기 때문에 통신비용이 매우 낮다. (통신비용 모두 1이다.)
- 신뢰성이 매우 높다.
단점
- 기본비용이 매우 높다.
2. Partially Connected(부분 연결 구조)
모든 노드 쌍에 대해서 직접 연결이 존재하는 형태가 아닌 일부 연결만 임의적으로 존재한다.
장점
- 기본비용은 완전 연결 네트워크보다 낮다.
단점
- 통신비용이 높고, 통신 속도가 늦다.
- 완전 연결 네트워크보다 신뢰성은 떨어진다.
3. Hierarchy(계층 구조)
- 각 노드들이 Tree형태로 연결되어 있는 구조로, 회사 네트워크의 일반적인 구조이다.
- 형제 중 하나가 다른 형제에게 메시지를 전달하려면 부모까지 올라가야 한다.
장점
- 기본비용은 보통 낮다.
단점
- 만일 하나의 부모 사이트에 고장이 발생하면, 그 사이트의 자식들은 더 이상 다른 프로세스와 통신이 불가하다.
- 통신비용이 높다.
- 신뢰성은 떨어진다.
4. Star(성형 구조)
- 임의의 중심 노드가 다른 모든 노드와 완전 연결되어 있는 반면, 중심 노드를 제외한 노드들은 모두 서로 연결되어 있지 않은 구조다.
- 많은 성형 구조 시스템에서 중심 노드는 연산이 아닌 메시지 교환 작업만을 담당한다.
장점
- 기본비용이 낮다. (항상 n-1의 기본비용이 발생)
- 통신 비용이 낮다. (모든 노드들의 통신 비용이 2이다.)
- 구조가 심플하다.
단점
- 중심 노드가 통신과 책임이 따르고 있어 부담을 받아 병목 현상이 발생할 수 있다.(속도 저하)
5. Ring(환형 구조)
- 단 방향과 양 방향의 두 가지 통신 방법이 존재한다.
- 단 방향 통신 구조에서 모든 노드는 같은 같은 방향으로만 정보를 전달한다.
- 양 방향 구조에서의 한 노드는 양쪽 이웃 모두에게 정보를 전달한다.
장점
- 기본비용은 노드 수에 비례하므로 낮다.
단점
- 통신비용은 상당히 높다.
6. Multiaccess Bus(다중 접근 버스 구조)
공유되는 하나의 버스가 존재한다. (ex : Ethernet)
장점
- 통신 회선이 병목 현상을 일으키지 않는 한 통신비용은 낮다. (모두 1)
- 한 노드의 고장이 다른 노드에 영향을 미치지 않아 신뢰성이 높다.
- 기본 비용은 노드 수에 비례해 낮다.
단점
- 버스 회선이 고장 나면 네트워크가 완전히 분할된다.
7. Hybrid(혼성) Network
- 서로 다른 유형의 네트워크들이 상호 연결되어 있는 형태이다.
- 통신은 상호 간에 다중 프로토콜을 번역해야 하고 데이터에 대한 경로 배정이 복잡하기 때문에 다소 어렵다.
✔ 네트워크 분산 범위에 따른 구분
WAN(Wide Area Network)
- 넓은 지역에 걸쳐 광범위하게 위치하는 자율성을 가지는 많은 수의 프로세서들의 네트워크(원거리 통신망)
- 통신 회선들은 특정 통신 프로세서들에 의해 조정되며, 통신 프로세서는 여러 노드간의 정보 전송을 관리한다.
- 네트워크상의 전송 오류가 많고, 전송 지연 시간도 매우 크며 불규칙적이다.
- 메시지 전송 비용은 메시지의 크기와 에러율에 비례하다.
(but, 과거에는 그랬지만 요즘은 인프라가 좋아서 위와 같은 문제가 발생하진 않는다.)
LAN(Local Area Network)
- 한 빌딩 또는 몇 개의 인접된 빌딩과 같은 비교적 가까운 지역에 적용된다.
- 서로 근접해 있기 때문에 통신 링크는 일반적인 컴퓨터 네트워크보다 속도가 빠르고 오류 발생률이 낮다. (네트워크 거리가 길수록 오류 발생률은 높아진다.)
- 일반적인 네트워크 구성 형태는 다중 접근 버스, 링, 성형 네트워크 방식이다.
- 보다 빠른 속도와 신뢰성을 얻을 수 있고 양질의 값비싼 케이블을 필요로 한다.
(3) 분산 시스템 구조
Network OS(NOS)
- 통신 기능이 네트워크 OS내에 존재하므로 각 노드의 자율성은 최대로 보장되나, 자원에 대한 공유는 제한된다. (각자의 로컬 OS를 가지기 때문)
- 각 노드는 다른 노드와 무관한 독자적인 OS를 지니며, 네트워크로 연결돼 있다.
- 원격 로그인 및 원격 파일 전송 기능을 제공한다.
- Local OS + Network OS로 구성된다.
분산 OS
- 분산 시스템 내에 하나의 분산 OS가 존재한다.
- 네트워크 OS보다 훨씬 복잡하고 많은 노력이 요구된다. (만들기 어려움)
- 전체 시스템에 대한 일관성 있는 설계가 가능하므로 네트워크의 이해, 유지, 수정 등을 용이하게 한다.
- 통신 기능도 하나의 OS내에 존재하므로 자원들을 광역적으로 관리할 수 있다.
특징
• 자료(데이터) 이주 가능
한 사이트에서 다른 사이트로 데이터를 전송하고, 전체 파일을 전송하거나 파일의 실제 필요한 부분만 전송할 수 있다.
• 연산 이주 가능
연산을 전송하고, 자료를 전송하는 시간이 원격 명령을 실행하는 시간보다 길다면, 원격 명령을 사용한다.
• 프로세스 이주 가능
- 전체 프로세스 또는 그것의 일부분이 다른 사이트에서 실행될 때 가능하다.
- 부하 균등화(Load Balancing) : 어떤 프로세서(CPU)에 과다한 작업부하가 걸렸 있을 때 가능하다.
- 연산 속도 향상 : 어떤 프로세스가 다른 사이트에서 병행처리가 가능할 때 가능하다.
통신 관점에서 분산 OS와 NOS에서의 네트워크 비교
• 분산 운영체제 : 통신 기능을 미리 염두에 두고 OS를 설계한다.
• 네트쿼크 운영체제 : 기존의 개별 OS위에 통신기능을 추가한 것이다.
(4) Cloud Computing
- 분산 처리 시스템의 일종으로 파생된 것이다.
- 인터넷을 이용한 IT 자원의 주문형 아웃 소싱 서비스이다.
- 컴퓨터, 스토리지, 소프트웨어와 같은 IT자원들을 인터넷을 통해 필요한 만큼 빌려 쓰고 사용한 만큼 비용을 지불하는 서비스이다.
Cloud
- 컴퓨터 통신망이 구름 같은 것에 싸여 안이 보이지 않는다는 의미를 담고 있다.
- 사용자는 복잡한 구름(클라우드) 내부를 굳이 알 필요가 없다.
- 사용자는 언제 어디에서나 이 클라우드 속으로 손을 집어넣어 자기가 원하는 것을 수행할 수 있다.
- 클라우드에 대한 인터넷 연결은 반드시 필요하다.
- 컴퓨터 리소스(자원)을 추상화하기 위한 *가상화 기술도 필요하다.
*가상화 : 물리적으로 분산되어 있는 여러 컴퓨터들의 리소스(자원)을 내가 사용하는 하나의 컴퓨터 리소스로 보이게 함
➤ 클라우드 컴퓨팅 서비스 모델
• Iaas(Infrastructure as a Service)
물리적 서버(CPU, Memory, O/S), 스토리지, 네트워크를 가상화하여 다수의 고객에게 유연하게 제공하는 인프라 서비스이다.
• PaaS(Platform as a Service)
Web기반의 서비스 또는 어플리케이션 등의 개발 및 실행을 위한 표준 플랫폼 환경을 서비스 형태로 제공한다. (개발 환경, DBMS 등)
•SaaS(Software as a Service)
구글의 Gmail이나 MS Office 365와 같이 어플리케이션(Software)을 인터넷 및 웹브라우저를 통해 서비스로 제공한다.
➤ 클라우드 컴퓨팅 서비스 유형
- 리소스의 배치방식 또는 소유방식에 따라 Private, Public, Hybrid 클라우드로 구분한다.
- 기업 상황에 따라 적절한 서비스 유형을 선택한다.
• Private Cloud
기업 내에 클라우드 데이터 센터를 운영하면서 내부 사원들이 개인 컴퓨터로 클라우드 데이터 센터의 자원을 사용하도록 하는 개념을 말한다.
EX : VMWare 등을 이용하여 구축
• Public Cloud
클라우드 서비스 제공자는 사용자에게 상업적인 클라우드 인프라를 제공한다.
EX : AWS, Google App Engine, IBM Blue Cloud 등
• Hybrid Cloud
개인과 공공 클라우드 컴퓨팅의 기능이 조합된 것이다.
➤ 클라우드 컴퓨팅의 장점
비용 절감 | 사용한 만큼만 비용 지불, No initial cost |
시간 절감 | 초기 서비스 구축에서의 민첩성 제공 |
사용의 용이성 | 인터넷 연결을 통하여 언제 어디서나 사용 가능 |
접근성 및 자원 공유 | 사용자의 위치에 무관한 자원의 공동 사용(공유) 가능 |
확장성 | 시스템(서버) 확장에 대한 신속한 서비스 제공 |
탄련성, 유연성 | 상황에 따른 서비스의 탄력적인 운용 가능 |
보안성 | 외부 재난재해에 대한 안정성 및 우수한 보안성 제공 |
➤ 클라우드 컴퓨팅의 단점
민감한 정보가 해킹이나 유출되는 경우, 개인/조직/국가에 큰 위험 발생 |
클라우드 컴퓨팅 센터에 대한 자연재해/외부 공격 발생 시에 피해 규모가 막대함 |
인터넷 연결 상황이 좋지 않은 경우, 클라우드에 대한 온라인 작업이 불가 |
'운영체제' 카테고리의 다른 글
[OS] 10. 다중 처리 시스템 (0) | 2023.10.16 |
---|---|
[OS] 09. 정보 보호 및 보안 (0) | 2023.10.16 |
[OS] 08. 교착상태 (Deadlock) (0) | 2023.10.16 |
[OS] 07. 프로세스 간 동기화 및 통신 (0) | 2023.10.16 |
[OS] 06. 파일 시스템 (0) | 2023.10.16 |