학교 공부/스마트 운영체제

운영체제 12 네트워크와 분산 시스템

_빌런 2022. 5. 31. 10:40

1. 네트워크와 인터넷

    1.1. 통신과 네트워크

    1.2. 인터넷

2. 분산 시스템

    2.1. 분산 시스템의 개요

    2.2. 클라이언트/서버 시스템

    2.3. P2P 시스템

    2.4. 클라우딩 컴퓨팅

3. [심화학습] 분산 시스템의 고가용성

    3.1. 고가용성의 개념

    3.2. 고가용성 구성의 유형

 


1. 네트워크와 인터넷

    1.1. 통신과 네트워크

 

'학교 공부/데이터 통신론' 카테고리의 글 목록

 

miny-genie.tistory.com

통신에 대한 개념과 이론, 전반적인 동작 과정과 세부 내용에 대해서는 통신론 글을 참고하자.

 

단방향 통신(Simplex Communication) : 한쪽 방향으로만 이루어지는 통신

양방향 통신(Duplex Communication) 또는 전이중화 통신(Full-Duplex Communication) :동시에 양쪽 방향 통신

반양방향 통신(반이중화 통신; Half-Duplex Communication) : 양쪽 방향 통신이지만 한 번에 한쪽 방향으로만 통신

 

// G는 Generation(세대)의 줄임말이다.

// LTE(Long Term Evolution) : 4세대와 구분짓기 위한 3.9세대 통신

 

강결합 시스템

강결합 시스템(Tightly Coupled)

네트워크로 연결된 모든 컴퓨터의 프로세서가 하나의 메모리를 공유하는 방식이다.

속도가 빠르지만, 여러 프로세서 중 한 프로세서만 '결합 교환(Combining Switch)' 방식에 의해 사용 가능하다.

 

약결합 시스템

약결합 시스템(Loosely Coupled)

둘 이상의 독립된 시스템을 연결한 것으로, 오늘날의 네트워크 구성이다.

각 컴퓨터는 각자 자신만의 OS, 메모리, 프로세서를 가지고 독립적으로 운영한다.

통신선을 이용하여 메시지 전달이나 RPC로 통신한다.

 

    1.2. 인터넷

LAN(Local Area Network)은 몇 km 내의 네트워크를 연결하는 방식이다.

LAN 구조는 토폴로지(Topology)라고 하며, 스타형, 링형, 버스형의 3가지 종류가 있다.

// 버스형 구조에서 CSMA/CD 방식을 사용하는 LAN을 이더넷(ethernet)이라고 부른다.

 

2. 분산 시스템

    2.1. 분산 시스템의 개요

각 기기의 자율성(Autonomy)을 보장하고, 가용성(Availability)을 높이고, 투명성(Transparency)을 보장해야 한다.

ㆍ 네트워크로 연결한 기기가 여러 자원을 공유할 수 있다.

ㆍ 작업 분배(Load Balancing)를 통해 여러 기기가 작업을 나누어 처리할 수 있다.

ㆍ 데이터나 처리를 분산하여 연산 속도를 높인다.

ㆍ 장애가 발생해도 시스템을 복구할 수 있다.

 

    2.2. 클라이언트/서버 시스템

CGI(Common Gateway Interface)  : 웹 서버(데몬) 상에서 사용자 프로그램을 HTML 형태로 동작하게 하는 프로세스

 └ ASP(Active Seerver Page) : IIS(Microsoft에서 만든 웹서버)에 맞게 개발된 CGI, 주로 윈도우즈에서 작동

 └ PHP(Personal Hypertext Preprocessor) : 아파치 서버에 맞게 개발된 CGI, 주로 유닉스에서 작동

 └ JSP(Java Server Pages) : 운영체제에 상관없이 사용할 수 있는 CGI

 

    2.3. P2P 시스템

비구조적 P2P 시스템 : 전체 노드 정보는 서버가 가지고, 실제 데이터 전송은 일대일로 연결된 말단끼리 이루어지는 구조
구조적 P2P 시스템 : 전체 네트워크에 대한 정보를 모든 노드에 나누어 저장 관리하는 구조

 

    2.4. 클라우딩 컴퓨팅

언제 어디서나 응용 프로그램과 데이터를 자유롭게 사용할 수 있는 컴퓨팅 환경

SaaS(Software as a Service) : 소프트웨어를 클라우드 환경으로 클라우딩 환경으로 제공하는 것

IaaS(Infrastructure as a Service) : 서버와 같은 컴퓨터 구조를 클라우딩 환경으로 제공하는 것

PaaS(Platform as a Service) : 개발 환경을 클라우딩 환경으로 제공하는 것

 

3. [심화학습] 분산 시스템의 고가용성

    3.1. 고가용성의 개념

고가용성(High Availability) : 업무나 서비스 중단을 최소화하기 위해 하는 이중화 작업

 

    3.2. 고가용성 구성의 유형

상시 대기(Hot-Standby)

가동 시스템과 백업 시스템으로 구성한다. 평상 시에는 대기 상태(Standby)를 유지한다.

가동 시스템의 HW나 네트워크 장비에 장애가 생기면 가동 시스템 자원을 백업 시스템으로 이전해 중단을 막는다.

 

상호 인계(Mutual Takeover)

2개의 시스템이 각각의 고유 서비스를 수행하다 한쪽에서 장애가 발생하면 상대 시스템으로 작업을 이동한다.

작업을 이동받은 시스템은 동시에 2개의 업무를 수행하여 중단을 막는다.

 

컨커럭트 액세스(Concurrent Access)

여러 시스템이 동시에 업무를 나누어 병렬 처리한다.

시스템 전체가 가동 상태로 업무를 수행하기 때문에 한 시스템에서 장애가 발생해도 작업을 이동하지 않아도 된다.