다중 처리기
다중 처리기(Multi-processor)의 개념
- 하나의 시스템에 2개 이상의 프로세서를 가지고 동시에 여러 개의 작업을 처리하는 장치
- 프로세서 중 하나가 고장 나도 다른 프로세서들에 의해 고장난 프로세서의 작업을 대신 수행하는 장애 극복이 가능
- 프로세서 간의 통신은 공유 기억 장치를 통하여 입출력 채널, 주변 장치들을 공유함
- 대칭적 다중 처리 방식과 비대칭적 다중 처리 방식이 있음
- 성능 개선 목표 : 유연성, 신뢰성, 수행 속도
다중 처리기의 상호 연결 방법
시분할 공유 버스 (Time Sharing Shared Bus) |
- 프로세서, 기억 장치, 입출력 장치 간에 하나의 버스 통신로만을 제공하는 구조 - 어느 한 시점에 단지 하나의 전송만이 가능함 - 버스에 이상이 생기면 전체 시스템에 장애가 발생함 |
크로스바 교환 행렬 (Crossbar Switch Matrix) |
- 공유 버스 시스템에서 버스의 수를 기억 장치의 수만큼 증가시킨 구조 - 두 개의 서로 다른 저장 장치를 동시에 참조할 수 있음 - 하드웨어가 복잡해지는 단점이 있음 |
하이퍼 큐브 (Hyper Cube) |
- 10개 이상의 프로세서를 병렬로 동작시키는 구조 - 하나의 프로세서에 연결되는 다른 프로세서의 수(연결점)가 n개일 경우 총 \(2^n\)개의 프로세서가 필요함 |
다중 포트 메모리 (Multiport Memory) |
하나의 프로세서에 하나의 버스가 할당되어 버스를 이용하려는 프로세서 간 경쟁이 적은 구조 |
다중 처리기 운영체제의 구조
대칭적(Symmetric) 처리기 | - 모든 프로세서가 하나의 운영체제를 공유해서 수행함 - 가장 복잡하지만 가장 강력한 구조 - 여러 개의 프로세서가 동시에 수행될 수 있음 |
주/종(Master/Slave) 처리기 | - 하나의 주 프로세서와 나머지 종 프로세서로 구성 - 비대칭 구조를 가짐 - 주 프로세서만이 운영체제를 수행함 - 주 프로세서는 입출력과 연산을 수행함 - 종 프로세서는 입출력 발생 시 주 프로세서에게 서비스를 요청함 |
분리 수행(Separate-Execution) 처리기 | - 주/종 처리기의 비대칭성을 보완하여 각 프로세서가 별도의 운영체제를 가짐 - 프로세서별 자신만의 파일 및 입출력 장치를 제어함 - 프로세서별 인터럽트는 독립적으로 수행됨 - 한 프로세서의 장애는 전 시스템에 영향을 미치지 않음 |
다중 처리기의 구조
약결합 시스템 (Loosely-Coupled System) |
- 둘 이상의 시스템을 통신 링크를 이용하여 연결한 시스템 - 각 시스템마다 별도의 운영체제를 가짐 - 각 프로세서마다 독립된 메모리를 가짐 - 프로세스 간의 통신은 메시지 전달이나 원격 프로시저 호출을 통하여 이루어짐 |
강결합 시스템 (Tightly-Coupled System) |
- 하나의 운영체제가 모든 처리기와 시스템 하드웨어를 제어함 - 프로세서 간 통신은 공유 메모리를 통하여 이루어짐 - 메모리에 대한 프로세서 간의 경쟁 최소화가 고려되어야 함 |
분산 처리 시스템(Distributed Processing System)
분산 처리 시스템의 개념
- 여러 대의 컴퓨터들에 의해 작업한 결과를 통신망을 이용하여 상호 교환할 수 있도록 연결되어 있는 시스템으로 시스템의 점진적 확장이 용이함
- 단일 시스템에 비해 처리용량, 연산 속도, 신뢰성, 사용 가능도가 향상됨
- 중앙 집중형 시스템에 비해 시스템 설계가 복잡하고 소프트웨어 개발이 어려움
투명성(Transparency)
- 분산 처리 운영체제에서 구체적인 시스템 환경을 사용자가 알 수 없도록 하며, 또한 사용자들로 하여금 이에 대한 정보가 없어도 원하는 작업을 수행할 수 있도록 지원하는 개념
- 투명성의 종류
- 위치(Location) 투명성 : 하드웨어와 소프트웨어의 물리적 위치를 사용자가 알 필요가 없음
- 이주(Migration) 투명성 : 사용자나 응용 프로그램의 동작에 영향을 받지 않고 자원들을 한 곳에서 다른 곳으로 이동할 수 있음
- 복제(Replication) 투명성 : 사용자에게 통지할 필요 없이 시스템 안에 파일들과 자원들의 부가적인 복사를 자유로이 할 수 있음
- 병행(Concurrency) 투명성 : 다중 사용자들이 자원들을 자동으로 공유할 수 있음
분산 운영체제 구조
성형 구조 (Star) |
- 모든 사이트는 하나의 호스트에 직접 연결된 구조 - 중앙 컴퓨터 장애 시 모든 사이트 간 통신이 불가능함 - 통신 시 최대 두 개의 링크만 필요하고 통신 비용이 저렴함 |
링형 구조 (Ring) |
- 각 사이트는 정확히 다른 두 사이트와 물리적으로 연결된 구조 - 정보 전달 방향은 단방향 또는 양방향일 수 있음 - 기본 비용은 사이트의 수에 비례함 - 메시지가 링을 순환할 경우 통신비용은 증가함 |
다중 접근 버스 구조 (Multi Access Bus) |
- 모든 사이트는 공유 버스에 연결된 구조 - 기본 비용은 사이트 수에 비례함 - 사이트의 고장은 다른 사이트 간의 통신에 영향을 주지 않지만, 링크의 고장은 전체 시스템에 영향을 줌 - 사이트의 추가와 삭제가 용이함 |
계층 연결 (Hierarchy Connection) |
- 각 사이트들이 트리(Tree) 형태로 연결된 구조 - 상위 사이트 장애 시 하위 사이트들은 통신이 불가능함 |
완전 연결 구조 (Fully Connection) |
- 모든 사이트는 다른 모든 사이트와 직접 연결된 구조 - 사이트 간의 연결을 여러 회선이 존재하므로 신뢰성이 높음 - 사이트 간의 메시지 전달이 매우 빠름 - 하나의 링크가 고장 나더라도 통신이 단절되지 않음 - 사이트 설치 시 소요되는 기본 비용은 많이 듦 |
728x90
반응형
'정보처리기사 > 프로그래밍 언어 활용' 카테고리의 다른 글
OSI 7계층과 오류 제어 방식 (0) | 2023.08.05 |
---|---|
UNIX (0) | 2023.08.05 |
정보 관리 (0) | 2023.08.05 |
디스크 스케줄링 (0) | 2023.08.05 |
기억 장치 관리 (0) | 2023.08.05 |