-
운영체제(OS) - 9. Distributed System (분산시스템)Computer Basis/OS 2020. 12. 7. 00:30
# Distributed System
컴퓨터 간 서로 데이터를 교환하여 처리할 수 있도록
네트워크로 상호연결한 시스템
메모리와 클록을 공유하지 않고, 지역 메모리를 유지하여
서로 독자적으로 동작
# 다중처리 시스템(병렬처리 시스템)
컴퓨터 간 서로 데이터를 교환하여 처리할 수 있도록
네트워크로 상호연결한 시스템
또는
CPU가 여러개인 단일컴퓨터 시스템
여러개의 프로세서(CPU)들이
메모리를 공유하는 시스템
# 네트워크로 연결된 시스템의 종류
1. Tightly Coupled System
프로세서(CPU)들이 메모리를 공유하는
다중처리 시스템
공유 메모리를 통하여 통신
2. Loosely Coupled System
둘 이상의 독립된 시스템이
통신선(네트워크)로 연결된 시스템
통신선(네트워크)을 통하여
메시지, 원격 프로시저 호출로 통신
하나의 시스템에서 장애가 발생해도
다른 시스템의 CPU가 독립적으로 수행가능하여
치명적 시스템 장애를 회피
# 네트워크 구조(topology)
노드 = 컴퓨터
링크, 엣지 = 통신선
1. 망(Mesh)
각 노드를 시스템의 모든 노드와 직접연결
(fully connected)
초기 설치비용이 많이 든다.
(모든 두 노드간 통신선이 필요)
많은 엣지가 고장이나야
시스템이 분할되므로 신뢰성이 높다
2. 트리(Tree, Hierarchy)
시스템의 노드들이 트리구조로 연결
비용은 망(mash) 보다 저렴
3. 성(Star)
모든 노드가 하나의 중앙노드에 연결된 구조
중앙 노드가 메시지 교환 담당
병목현상 발생시 성능저하
중앙 노드 장애시, 전체 시스템 마비
집중제어로 유지보수 간편, 비용이 매우 저렴
(비용은 노드 수에 비례)
4. Ring
원형으로 연결
단방향은 1개 노드나 엣지가 고장나면 네트워크 분할 필요
양방향은 2개의 연결이 고장나면 네트워크 분할 필요
5. Bus
네트워크 버스 케이블 하나에 모든 노드를 연결하는 방법
각 노드의 고장이 나머지 노드 간 통신에 영향을 주지 않아 신뢰성이 높고
노드 추가,변경,제거가 비교적 쉬워 확장성이 좋다.
# RPC
(Remote Procedure Call)
원격지 컴퓨터의 프로그램을 호출
(통신 신뢰성, 보안, 전역변수의 미지원 등의 이슈가 있음)
# Stub
RPC와 지역 프로세스 호출을 같도록 만드는 모듈
ex) 데이터 형태의 변환
# Marshalling
원격 프로시저에 전달된 인자들이 포함되는 과정
(인자에는 호출자와 피호출자의 정보가 포함)
# 분산시스템의 장점
➊ 자원공유 용이
(하드웨어를 한몸처럼!)
➋ 연산속도 향상
(각 노드에 업무 분산!)
➌ 신뢰성 향상
(일부 노드가 고장나도 전체 시스템은 작동!)
➍통신 가능
(지역적으로 멀어도 같이 작업가능!)
# 분산시스템의 목적
사용자가 하나의 컴퓨터 시스템으로 인식할 수 있도록
분산을 감추어 완전한 투명성(transparency)을 제공하는 것
# 투명성(transparency)의 종류
➊ access transparency
서로 다른 컴퓨터 구조와 언어 사이에서 교류 가능
➋ location transparency
자원 및 컴포넌트 위치 몰라도 교류가능
ex) NFS(Network File System), 웹페이지
➌ failure transparency
오류나도 교류가능
ex) DBMS
➍ replication transparency
복제된 자원이 하나만 있다고 인식하게함
ex) 분산 DBMS, 웹페이지 미러링
➎ migration transparency
자원이 다른 노드로 이동해도 인식불가
ex) 웹페이지, NFS
➏ permanence transparency
자원 저장 위치 모름
➐ resource transparency
자원 배당 및 해제 정보 감춤
➑ transaction transparency
데이터 무결성과 일관성 확보
(트랜잭션&자원집합 결합 숨김)
➒ reassginment transparency
재배치 감춤
➓ scale transparency
Scale up, down 감춤
⓫ concurrency(병행) transparency
서로 간섭없이 공유데이터에 동시 액세스가능
ex) NFS, ATM 네트워크
# 네트워크 운영체제 (NOS)
독립된 시스템들을 서로 연결하려고 개발함
(단일 사용자환경의 시스템 + 네트워크기능)
사용자는 네트워크에 다수의 독립된 컴퓨터가 있다는 사실을 인식함
(투명성이 없음, 위치투명성은 제공)
NOS는 실질적인 OS가 아님
(각 노드의 운영체제는 독립적)
(서로를 연결하는 소프트웨어)
각 사용자마다 동질성이 부족하므로, 가능한 표준을 유지하는 구조여야 함
▶ 분산 운영체제(DOS)는 OS와 사용자가
연결된 모든 노드의 자원을 지역자원으로 공유하는 것
# NOS 주요기능
➊자원공유
➋액세스 권한 부여
➌파일 전송
➍데이터 보호
➎오류 관리 제어
# NOS 운용 방법
➊ P2P(PeerToPeer)
각 노드가 서버 및 클라이언트가 됨
적은 초기 비용, 자원 활용 극대화가 장점
자원의 분산(not centralized), 보안이 단점
➋Client/Server
자원은 서버가 제어
막대한 비용, NOS 소프트웨어 필요, 서버 의존성, 유지보수가 단점
중앙집중식으로 인한 보안, 자원의 집중, 새로운기술의 확장(유연성), 접근성이 장점
# 분산 운영체제
(DOS, Distributed OS)
시스템자원을 전역적으로 제어하고 관리하기 위해 등장
프로세스나 객체를 기반으로 나누어 구현
# DOS의 migration 종류
➊ Data Migration
파일전체 전송, 일부분 전송
➋ Computation Migration
데이터가 아닌 연산을 전송
➌ Process Migration
프로세스의 전체나 일부를 전송
(적합한 하드웨어를 가진 노드가 해당 프로세스를 실행)
(분산작업으로 인한 장점도 여전히 가짐)
728x90'Computer Basis > OS' 카테고리의 다른 글
운영체제(OS) - 8. 대용량 저장장치(디스크관리) (1) 2020.11.16 운영체제(OS) - 7. 가상메모리 (0) 2020.11.14 운영체제(OS) 기본지식 - 4. DMA(Direct Memory Access) 와 PIO(Program Input/Output) (0) 2020.10.11 운영체제(OS) 기본지식 - 5. System Generation(SYSGEN) & System Boot (0) 2020.10.11 운영체제(OS) 기본지식 - 3. 주소체계 32BIT 컴퓨터 & 64BIT 컴퓨터 (0) 2020.10.09