본문 바로가기

General/OS & CS

[OS] 병렬처리 시스템과 분산처리 시스템


병렬처리 시스템과 분산처리 시스템

 

1. 서론

컴퓨터는 기본적으로 하드웨어와 소프트웨어로 구성되어있다.

이 중 컴퓨터 안의 하드웨어와 기본 시스템의 동작을 직접적으로 제어하고 관리하는 일을 하는 시스템 소프트웨어를 오퍼레이팅 시스템(OS, 운영체제)이라고 한다. 운영체제가 작업을 처리하는 방식은 여러 가지가 있는데 그 중 병렬처리시스템과 분산처리시스템을 비교, 정리해 보았다.

 

2. 본론

초기의 컴퓨터는 한 번에 하나의 작업만을 수행할 수 있었고, 그 작업이 끝나면 다음 작업을 수행하는 방식이었다. 이러한 단일 프로세서 컴퓨터에 병렬기법 도입하여 운영체제를 단일 컴퓨터의 운영에서 벗어나 여러 작업을 동시에 처리 할 수 있게하는 병렬처리 시스템이 나타나게 되었다. 병렬처리 시스템은 컴퓨터를 병렬로 연결하거나, CPU등을 병렬로 연결하여 다수의 프로세서들이 다수의 프로그램들을 분담하여 동시에 처리하는 방식이다. 하나의 운영체제 안에서 병렬로 연결된 자원, 메모리, CPU 또는 컴퓨터가 작업을 처리하는 방식을 총칭하는 의미로 병렬처리 시스템이라는 용어가 사용된다. 한글워드 프로세서를 사용하면서 윈도미디어 플레이어로 음악을 듣고 동시에 메신져를 켜놓을 수 있는 것 등을 예로 들 수 있다. 여러 프로세스가 하나의 저장장치를 공유하는 방식이나 각각의 프로세스들이 각각의 저장장치를 가지고 있는 방식도 있다. 현재 가장 대중적으로 사용하는 Windows 시리즈는 병렬처리 시스템의 일종인 멀티프로그래밍 정도로 설명할 수 있다.

위의 병렬처리 시스템과는 다르게 분산처리 시스템은 여러 개의 분산된 데이터 저장장소와 처리기들을, 네트워크로 연결하여 서로 통신을 하면서 동시에 일을 처리하는 방식이다. 쉽게 말하자면 서버컴퓨터에서 그 하위에 있는 컴퓨터들에게 작업의 일부분들을 할당, 분산시켜서 작업을 수행하게 하는 것이다. 여러 컴퓨터들이 작업을 나누어 처리하므로 작업처리 속도가 빨라져 성능향상을 할 수 있고, 데이터를 여러 저장장소에 저장하므로 데이터가 보다 안전하게 처리될 수 있다. 또한 네트워크상에 새로운 컴퓨터를 연결함으로써 시스템의 확장이 쉽게 이루어 질 수 있다. 하지만 실제로는 각종 제어기능이나 데이터의 분산, 또 이러한 컴퓨터들간에 상호연계가 잘 되있어야 하는 등의 논리적인 설계의 문제점이 있다. 분산 처리시스템의 예로 네트워크 프린터를 생각할 수 있다. 시스템의 여러부분들이 분산되어 연결되 있고 네트워크에서 그들을 연결하여 서로 통신을 수행하면서 각각의 할당받은 맡은 일들을 처리 하는 것이다. 각각 분산되어 작업을 처리하기 때문에 높은 처리 능력을 가질 수 있다. 네트워크 프린터 서버에 연결되있는 프린터나 파일 서버에 연결된 DB가 그 예이다. 분산처리의 실질적인 예로는 대한민국에서는 정보통신부가 2002년부터 ‘코리아앳홈 프로젝트’를 추진하고 있는 것을 들 수 있는데, 이 사업은 인터넷 기반 분산 컴퓨팅 기법을 활용해 수십에서 수백만의 유휴PC를 모아 가상의 대용량 슈퍼컴퓨팅을 구현하는 것이다.

 

3. 결론

정리하자면 병렬처리 시스템은 프로세서를 늘려서 여러 일을 동시에, 더 빨리 처리 할 수 있게 해주는 시스템 방식이고, 분산처리 시스템은 처리할 수 있는 장비(컴퓨터 등)을 네트워크로 상호 연결하여 전체적인 일의 부분 부분을 나누어 더 빨리 처리 할 수 있게 하는 시스템 방식이다. 이 둘은 단일에서 여럿으로, 일을 동시에 처리한다는 점이 유사하지만 전체적인 틀에서 보면 일을 처리하는 방식이 매우 다르다. 병렬처리는 “동시에 여러 일”을 처리하는 것이고, 분산처리는 “하나의 일을 동시에 여럿이서” 처리하는 것이다.

 

출처

http://blog.naver.com/kangminjung7

http://hypermin.tistory.com/62

http://www.terms.co.kr/parallelprocessing.htm

http://blog.naver.com/inidu2?Redirect=Log&logNo=110032610777