정리
• 프로그램의 실행은 실제 하드웨어에 의존하는 바가 크다. 현대적인 하드웨어는 여러 처리 자원(멀티코어, 멀티 프로세서, 컴퓨터 클러스터)을 갖는다. 그리고 이들 처리 자원은 실행하는 프로그램에 최적화된다.
• 플린 분류는 시스템이 동시에 실행할 수 있는 인스트럭션의 수(SI/MI)와 데이터 블록의 수(SD/MD)를 기준으로 컴퓨터 구조를 네 가지로 분류한다.
• SIMD 구조의 좋은 예로 GPU가 있다. GPU는 병렬성이 매우 높은 작업에 최적화된 장치다.
• 현대적인 멀티 프로세서와 멀티코어 프로세서는 MIMD 구조의 사례다. 이들 장치는 범용이기 때문에 훨씬 복잡하다.
• 프로세서와 CPU는 컴퓨터 시스템의 뇌와 같다. 하지만 프로세서나 CPU를 직접 다루기는 매우 어렵다. 이를 단순화하기 위해 프로그래밍 분야에서는 애플리케이션과 시스템 사이에 추상화 계층을 추가했다. 이 계층이 바로 런타임 시스템이다.