정보처리기사 필기 - 3과목 운영체제


5장 분산 운영체제


104 다중 처리기의 개요


① 다중 처리기의 개요


다중 처리기(Multi-Processor)는 하나의 시스템에 여러 개의 처리기(프로세서)를 두어 하나의 작업을 각 처리기에게 할당하여 수행하도록 하는 것을 의미


· 다중 처리기는 프로세서간 상호작용이 밀접한 강결합 시스템

· 여러 작업을 동시에 처리하여 실행 시간이 감소되고 전체 효율 향상시킬 수 있음

· 하나의 복합적인 운영체제에 의하여 전체 시스템이 제어됨

· 여러 프로세서는 하나의 공통된 기억장소를 가짐

· 프로세서들 중 하나가 고장 나도 다른 프로세서들에 의해 작업이 처리되므로 장애극복 가능

· 각 프로세서는 자체 계산 능력을 가지고 있으며, 프로세서나 주변 장치 등을 공동 사용함

· 다중 처리기는 여러 프로세서들과 주변장치들이 기억장치에 연결되는 방식에 따라 시분할 및 공유 버스, 크로스바 교환 행렬, 하이퍼 큐브 방식으로 나눌 수 있음


② 시분할 및 공유 버스 연결 방식


프로세서, 주변 장치, 기억장치 등의 각종 장치들을 '버스'라는 단일 경로로 연결한 방식


· 장치 연결이 단순하고, 경제적이며, 융통성 있음

· 장치 추가가 용이함

· 한 시점에서는 하나의 전송만이 가능

· 버스에 이상이 발생하면 전체 시스템이 가동되지 않음

· 시스템의 전체 전송량이 버스의 전송률에 의해 제한됨

· 각 장치가 버스를 사용하기 위한 경쟁 상태가 발생하면 시스템 성능 효율이 저하


③ 크로스바 교환 행렬 연결 방식


시분할 및 공유 버스 방식에서 버스의 수를 기억장치 수만큼 증가시켜 연결한 방식


· 각 기억장치마다 다른 경로 사용 가능

· 두 개의 서로 다른 기억장치를 동시에 참조 가능

· 장치의 연결 복잡해짐


④ 하이퍼 큐브 연결 방식


다수의 프로세서들을 연결하는 방식으로 비교적 경제적인 방식


· 네 개의 프로세서를 두 개씩 서로 이웃하게 연결한 사각형 모양의 2차원 하이퍼 큐브를 만들고, 2차원 하이퍼 큐브의 대응점을 각각 연결하여 3차원 하이퍼 큐브를 형성하고, 이런 형식으로 4차원, 5차원 ··· 하이퍼 큐브 형성

· 다수의 프로세서를 연결할 수 있으며, 확장성이 좋음

· 많은 프로세서가 연결될 경우 비용이 급속도로 증가함

· 하나의 프로세서에 연결되는 다른 프로세서의 수(연결점)가 n개일 경우 프로세서는 총 2n


⑤ 다중 포트 기억장치 연결 방식

시분할 및 공유 버스 방식과 크로스바 교환 행렬 방식을 혼합한 형태의 방식

· 많은 수의 프로세서를 쉽게 연결 가능

· 다양한 연결이 가능하며, 전송 시간이 비교적 느림



105 다중 처리기의 운영체제 구조와 프로세서 결합도


① Master/Slave(주/종) 처리기


하나의 프로세서를 Master(주 프로세서)로 지정하고, 나머지들은 Slave(종 프로세서)로 지정하는 구조


· 주 프로세서가 고장나면 전체 시스템이 다운됨

· 주 프로세서만 입·출력을 수행하므로 비대칭 구조 갖음

· 주 프로세서와 종 프로세서의 역할

주 프로세서

 · 입·출력과 연산 담당

 · 운영체제 수행

종 프로세서

 · 연산만 담당

 · 입·출력 발생 시 주 프로세서에게 서비스 요청

 · 사용자 프로그램만 담당


② 분리 실행 처리기


주/종 처리기의 비대칭성을 보완하여 각 프로세서가 독자적인 운영체제를 가지고 있도록 구성한 구조


· 각 프로세서에서 발생하는 인터럽트는 해당 프로세서에서 해결

· 각 프로세서가 독자적인 운영체제를 가지고 있기 때문에 한 프로세서가 고장나더라도 전체 시스템이 다운되지 않음

· 주/종 처리기 구조에 비해 신뢰도 높음

· 할당된 작업은 해당 프로세서가 모두 처리해야 되기 때문에 한 프로세서에 일이 밀려도 다른 프로세서는 유휴 상태가 될 수 있음


③ 대칭적 처리기


분리 실행 처리기 구조의 문제점을 보완한 것으로, 여러 프로세서들이 완전한 기능을 갖춘 하나의 운영체제를 공유하여 수행하는 구조


· 가장 복잡한 구조를 가지고 있으나 가장 강력한 시스템

· 여러 개의 프로세서가 동시에 수행될 수 있음

· 시스템의 전반적인 정보를 통일적이고 일관성있게 운영

· 모든 프로세서가 동등한 권한을 가지며, 메모리와 입·출력장치를 공유함

· 프로세서 간의 통신은 공유 메모리를 통해 이루어짐

· 각 프로세서가 동등한 입장이기 때문에 공유된 장치를 사용하려고 할 때 대립 문제가 발생하므로 적절한 대비책이 필요함

· 프로세서의 수를 늘린다고 해도 시스템 효율은 향상되지 않음


④ 약결합 시스템(Loosely Coupled System)


· 각 프로세서마다 독립된 메모리를 가진 시스템으로, 분산 처리 시스템이라고도 함

· 둘 이상의 독립된 컴퓨터 시스템을 통신망(통신 링크)를 통하여 연결한 시스템

· 각 시스템마다 독자적인 운영체제 가지고 있음

· 각 시스템은 독립적으로 작동할 수 있고, 필요한 경우에는 상호 통신을 할 수도 있음

· 프로세서 간의 통신은 메시지 전달이나 원격 프로시저 호출을 통해서 이루어짐

· 각 시스템마다 독자적인 운영이 가능하므로 프로세서 간의 결합력이 약함


⑤ 강결합 시스템(Tightly Coupled System)

· 동일 운영체제하에 여러 개의 프로세서가 하나의 메모리를 공유하여 사용하는 시스템으로, 다중(병렬) 처리 시스템이라고도 함

· 하나의 운영체제가 모든 프로세서와 시스템 하드웨어를 제어

· 프로세서 간의 통신은 공유 메모리를 통해서 이루어짐

· 하나의 메모리를 사용하므로 프로세서 간의 결합력이 강함

· 공유 메모리를 차지하려는 프로세서 간의 경쟁을 최소화해야 함



106 분산 처리 시스템


① 분산 처리 시스템의 개요


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

· 서로 다른 장소에 위치한 컴퓨터 시스템에 기능과 자원을 분산시켜 상호 협력할 수 있는 시스템


② 분산 처리 시스템의 설계 목적


· 자원 공유 : 각 시스템이 통신망을 통해 연결되어 있으므로 유용한 자원을 공유하여 사용 가능

· 연산 속도 향상 : 하나의 일을 여러 시스템에 분산시켜 처리함으로써 연산 속도가 향상됨

· 신뢰도 향상 : 여러 시스템 중 하나의 시스템에 오류가 발생하더라도 다른 시스템은 계속 일을 처리할 수 있으므로 신뢰도가 향사됨

· 컴퓨터 통신 : 지리적으로 멀리 떨어져 있더라도 통신망을 통해 정보 교환 가능


③ 분산 처리 시스템의 장·단점


장점

· 여러 사용자들 간에 통신이 용이

· 제한된 장치를 여러 지역의 사용자가 공유할 수 있음

· 여러 사용자들이 데이터를 공유할 수 있음

· 중앙 컴퓨터의 과부하를 줄일 수 있음

· 사용자는 각 컴퓨터의 위치를 몰라도 자원을 사용할 수 있음

· 업무량의 증가에 따른 시스템의 점진적인 확장이 용이함

· 하나의 일을 여러 시스템이 처리함으로써 연산 속도, 신뢰도, 사용 가능도가 향상되고, 결함 허용이 가능


단점

· 중앙 집중형 시스템에 비해 소프트웨어 개발 어려움

· 보안 문제 발생

· 시스템 유지상 통일성 잃기 쉬움

· 시스템의 설계가 복잡하고, 데이터 처리 서비스의 질이 떨어짐


④ 분산 처리 시스템의 투명성


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


· 여러 유형의 투명성을 통해 자원의 위치나 정보가 변경되더라도 사용자가 이를 인식하지 못하게 됨

· 투명성 종류

- 위치(Location) 투명성 : 사용자가 하드웨어나 소프트웨어와 같은 자원(정보 객체)의 물리적 위치를 모르더라도 자원에 접근할 수 있도록 함

- 이주(Migration) 투명성 : 사용자나 응용프로그램의 동작에 영향을 받지 않고 시스템 내에 있는 자원을 이동할 수 있도록 함

- 복제(Replication) 투명성 : 자원의 복제를 사용자에게 통지할 필요없이 자유로이 수행 가능

- 병행(Concurrency) 투명성 : 자원의 위치를 모르더라도 다중 사용자들이 자원을 병행하여 처리하고, 공유할 수 있도록

- 접근(Access) 투명성 : 각 프로세서의 로그인 등과 같은 동작을 사용하여 지역이나 원격 자원에 접근 가능

- 성능(Performance) 투명성 : 여러 부하에 대해 성능을 증가시키기 위하여 시스템을 재구성할 수 있도록 함

- 규모(Scaling) 투명성 : 시스템이나 응용 프로그램이 시스템 구조나 응용 알고리즘에 대한 변경 없이 규모에 맞추어 확장할 수 있도록 함

- 고장(Failure) 투명성 : 사용자나 응용 프로그램이 하드웨어나 소프트웨어 구성 요소의 고장에도 불구하고 그들의 작업을 완료할 수 있도록 함

⑤ 분산 처리 시스템의 계층 구조
[그림 1] 분산 처리 시스템의 계층 구조
· 하드웨어 계층 : 컴퓨터 시스템의 기본 기능 제공
· 기억장치 계층 : 기억장치 관리에 대한 기능 제공
· 프로세스 계층 : 프로세스 생성, 종료 등 프로세스 관리에 대한 기능 제공
· 파일 시스템 계층 : 파일의 저장, 액세스, 공유 등 파일 관리에 대한 기능 제공
· 사용자 프로그램 계층 : 사용자 프로그램에 대한 관리 기능 제공

⑥ 분산 파일 시스템

· 분산 파일 시스템은 여러 사이트에 분산되어 있는 서버, 장치, 사용자들에 대한 파일 서비스를 제공하는 시스템
· 분산 시스템이 통신망으로 연결되어 있으므로 파일 서비스는 여러 개의 기억장치에서 네트워크를 통해 이루어짐
· 서로 다른 컴퓨터의 사용자 간에 정보를 쉽게 공유 가능
· 사용자는 장소에 구애받지 않고, 어디서나 자신의 파일 사용 가능
· 서로 다른 컴퓨터의 사용자 간에 같은 파일 시스템 구조를 사용하므로 효율적

분산 파일 시스템의 실제 예

 NFS(Network File System)

 · 선(SUN) 미아크로시스템스 사에 의해 개발된 것으로, 근거리 통신망 또는 원격 통신망을 통해 파일에 접근하기 위해 구현되고 구체화된 시스템

 · 독립된 파일 시스템을 가지 서로 다른 워크스테이션의 모임이 서로 연결된 형태

 · 투명성을 통하여 파일 시스템 간에 일정 수준의 공유를 허용

 LoCUS

 · 대규모 분산 운영체제를 구축하기 위해 LA의 캘리포니아 대학에서 개발한 시스템

 · UNIX와 호환이 가능하며, 기존 시스템과는 전혀 다른 커널 사용

 Andrew

 카네기 멜른 대학에서 개발한 분산 컴퓨팅 환경이며, 클라이언트 머신과 서버 머신으로 구분되어 확장성이 좋음



107 분산 처리 시스템의 분류


① 위상(Topology)에 따른 분류


 망형-완전 연결(Fully Connection)형

 · 각 사이트들이 시스템 내의 다른 모든 사이트들과 직접 연결된 구조

 · 사이트의 수가 n개이면 링크(연결) 수는 n(n-1)/2

 · 모든 사이트를 연결해야 하므로 기본 비용은 많이 들지만 각 사이트가 직접 연결되므로 통신 비용은 적음

 · 하나의 링크가 고장나더라도 다른 링크를 이용할 수 있으므로 신뢰성 높음

 망형-부분 연결(Partially Connection)형

 · 시스템 내의 일부 사이트들 간에만 직접 연결하는 것으로, 직접 연결되지 않은 사이트는 연결된 다른 사이트를 통해 통신하는 구조

 · 기본 비용은 완전 연결형보다 적게 들고, 통신 비용은 완전 연결형보다 많이 듬

 · 완전 연결형보다 신뢰성 낮음

 트리(Tree) 또는 계층(Hierarchy)형

 · 분산 처리 시스템의 가장 대표적인 형태, 각 사이트들이 트리 형태로 연결된 구조

 · 기본 비용은 부분 연결형보다 적게 들고, 통신 비용은 트리의 깊이에 비례

 · 부모(상위) 사이트의 자식(하위) 사이트들은 그 부모 사이트를 통해 통신이 이루어짐

 · 부모 사이트가 고장나면 그 자식 사이트들은 통신 불가능

 스타(Star)형=성형

 · 모든 사이트가 하나의 중앙 사이트에 직접 연결되어 있고, 그 외 다른 사이트와는 연결되어 있지 않은 구조

 · 기본 비용은 사이트의 수에 비례, 통신 비용은 적게 듬

 · 구조가 간단하고, 보수 및 관리 용이

 · 중앙 사이트를 경유하여 통신하므로 응답 빠름

 · 중앙 사이트를 제외한 사이트의 고장이 다른 사이트에 영향을 미치지는 않지만, 중앙 사이트가 고장날 경우 모든 통신이 단절됨

 · 중앙 사이트에 과부하가 발생할 수 있으며, 과부하가 발생될 경우 성능이 저하됨

 · 사이트의 증가에 따라 통신 회선도 증가

 · 데이터 전송이 없는 사이트가 접속된 통신회선은 휴지 상태(쉬는 상태)가 됨

 링형(Ring)=환형

 · 시스템 내의 각 사이트가 인접하는 다른 두 사이트와만 직접 연결된 구조

 · 정보는 단방향 또는 양방향으로 전달될 수 있음

 · 기본 비용은 사이트 수에 비례, 목적 사이트에 데이터를 전달하기 위해 링 순환할 경우 통신 비용이 증가함

 · 특정 사이트가 고장나면 통신이 불가능해지는 사이트가 발생될 수 있음

 다중 접근 버스 연결(Multi Access Bus Connection)형

 · 시스템 내의 모든 사이트들이 공유 버스에 연결된 구조

 · 기본 비용은 사이트 수에 비례하고, 통신 비용은 일반적으로 저렴

 · 물리적 구조가 단순하고, 사이트의 추가와 삭제 용이

 · 사이트의 고장은 다른 사이트의 통신에 영향을 주지 않지만, 버스의 고장은 전체 시스템에 영향을 줌


② 분산 범위에 따른 분류


근거리 통신망(LAN; Local Area Network)

· 회사, 학교, 연구소 등에서 비교적 가까운 거리에 있는 컴퓨터, 프린터, 테이프 등과 같은 자원을 연결하여 구성

· 주로 자원 공유를 목적으로 사용

· 사이트 간의 거리가 짧아 데이터의 전송 속도가 빠르고, 에러 발생률 낮음

· 근거리 통신망에서는 주로 버스형이나 링형 구조 사용

· 경영의 융통성을 향상시킬 수 있음


광대역 통신망(WAN; Wide Area Network)

· 국가와 국가 혹은 대륙과 대륙 등과 같이 멀리 떨어진 사이트들을 연결하여 구성

· 사이트 간의 거리가 멀기 대문에 통신 속도가 느리고, 에러 발생률 높음

· 일정한 지역에 있는 사이트들을 근거리 통신망으로 연결한 후 각 근거리 통신망을 연결하는 방식을 사용


③ 프로세서 모델이 따른 분류


클라이언트/서버 모델(Client/Server Model)

· 클라이언트/서버 모델은 정보를 제공하는 서버와 정보를 요구하는 클라이언트로 구성되어 있는 것으로, 클라이언트(워크스테이션, PC등)와 서버가 하나의 작업을 분산 협동 처리하는 방식

· 서버는 공유된 다양한 시스템 기능과 자원 제

· 공유된 중앙 컴퓨터가 없으므로 각 사용자는 스스로 작업을 수행할 수 있는 성능이 우수한 컴퓨터를 갖음

· 프로그램의 모듈성과 융통성 증대시킴

(모듈성 : 복잡하고 큰 작업을 간단하고 더 작은 작업으로 기능을 분할하는 것

융통성 : 컴퓨터를 추가로 설치하지 않고도 시스템의 서비스를 확장할 수 있는 것)


프로세서 풀 모델(Processor Pool Model)

· 하나 이상의 프로세서 풀과 여러 워크스테이션, 서버 등이 연결된 형태로, 각 작업이 프로세서 풀 시스템을 통해 수행되는 방식

· 워크스테이션이나 단말기는 단순히 시스템의 자원을 접근하는 수단 제공


혼합 모델(Hybrid Model)

· 클라이언트/서버 모델과 프로세서 풀 모델을 혼합한 형태의 방식

· 사용자는 워크스테이션이나 단말기를 통하여 시스템에 접근 가능


④ 운영체제에 따른 분류


네트워크 운영체제

· 독자적인 운영체제를 가지고 있는 시스템을 네트워크로 구성한 것으로, 사용자가 원격 시스템으로 로그인하거나 원격 시스템으로부터 필요한 자원을 전달받아야 하는 방식

· 사용자는 시스템의 각 장치에 대해 알고 있어야 함

· 지역적으로 멀리 떨어져 있는 대규모 시스템에서 주로 사용

· 설계와 구현이 쉽고, 장애 발생시 해당 작업만 분실하게 됨

· 자원 공유가 번거로움


분산 운영체제

· 하나의 운영체제가 모든 시스템 내의 자원을 관리하는 것으로, 원격에 있는 자원을 마치 지역 자원인 것과 같이 쉽게 접근하여 사용할 수 있는 방식

· 사용이 편리하고, 시스템 간 자원 공유가 용이함

· 하나의 운영체제가 시스템 전체를 관리해야 하므로 설계와 구현이 어려움

· 요청한 컴퓨터에 요청된 컴퓨터의 자원이 이주됨으로써 자원을 사용할 수 있음

 데이터 이주(Data Migration)

 · 데이터를 요청한 사용자의 컴퓨터로 해당 데이터의 복사본을 전송시키는 방식

 · 사용자가 더 이상 파일이 필요하지 않을 경우 데이터의 복사본을 원래의 컴퓨터로 보냄

 연산 이주(Computation Migration)

 · 요청한 데이터가 있는 컴퓨터에서 데이터를 처리하여 해당 결과를 요청한 컴퓨터에게 보내는 방식

 · 전송할 요청 데이터가 많을 경우 데이터를 전송시키는 것이 아니라 결과를 전송시키는 것으로, 서로 다른 컴퓨터 간에 많은 양의 파일을 처리하기 위하여 액세스하려고 할 때 가장 적절한 방법

 프로세스 이주(Process Migration)

 프로세스의 전체 또는 일부를 다른 컴퓨터에서 실행되도록 하는 방식



출처 : 2017 시나공 정보처리기사 필기


'정보처리기사 > 운영체제' 카테고리의 다른 글

운영체제 오답노트  (0) 2017.02.23
6장 운영체제의 실제  (0) 2017.02.12
4장 정보 관리  (0) 2017.02.12
3장 기억장치 관리  (0) 2017.02.10
2장 프로세스 관리  (0) 2017.02.10

+ Recent posts