다중 처리기 시스템(Multiprocessor Systems)
란 2대 이상의 CPU를 두고 각각 그 업무를 분담하여 처리하는 방식이다.
<이미지 출처>https://www.tutorialspoint.com/Multiprocessor-Systems
대칭형 다중처리(Symmetric Multiprocessors)
는 주종 관계가 없이 모든 프로세서들이 동등한 관계로 동작한다. 프로세스 및 메모리 같은 자원을 다양한 프로세서 간에 동적으로 공유할 수 있으며 프로세서 간의 작업 분산을 통해 부하를 낮출 수 있다.
비대칭형 다중처리(Asymmetric Multiprocessors)
는 각각의 프로세서에 미리 정의된 작업이 주어지며 프로세서들간에 master-slave 관계가 있다. 장점으로는 자료 공유의 필요성을 감소시키고 단점으로는 마스터 프로세서가 전체 시스템 성능을 저하시킬 수 있는 병목 현상이 생긴다.
다중 프로그래밍(Multi-programming)
은 하나의 CPU로 여러 작업을 동시에 실행하는 기술이다.
다중 프로그래밍 시스템의 목적은 여러 가지 시스템 자원을 효율적으로 이용하는 것인데, 컴퓨터 시스템을 이용하는 사용자가 반영되어 있지 않다. 그래서 이 문제를 해결하기 위한 개념이 시분할 시스템(= 멀티 태스킹)
이다.즉 시분할 시스템은 사용자의 관점이 반영된 다중 프로그래밍이다.
작업 스케줄링
이라고 하며, 메모리에 있는 프로세스중에서 CPU가 실행할 프로세스를 선택하는 것을 CPU 스케줄링
이라고 한다.다중 작업용 운영 체제의 경우 여러 프로그램들을 같이 수행시켜도 사용자 입장에서는 각 프로그램에 대한 키보드 입력의 결과를 곧바로 화면에 보여주는데 이러한 시스템을 대화형 시스템(Interactive system)
이라고 한다.
❗❗ 운영체제를 공부하며 다양한 종류의 운영체제를 알게 되었지만 대화형 운영체제를 시분할이라고 하고 시분할은 다중 프로그램이라고 하는 것처럼 새로운 운영체제가 나올때마다 이름을 새로 붙이고 그만큼 발전해오면서 겹치는 기능들이 많아서 분류하는 데에서 어려움을 느끼게 되었다. 지금도 명확하게 알지는 못했지만 그나마 알고 있는 지식으로 블로그에 정리를 해보았다. 앞으로 운영체제를 더 공부하면서 자세히 알게 되면 다시 정리해 봐야겠다.