다중 처리란 무엇을 의미하며 어떻게 작동합니까? [폐쇄]

다중 처리란 무엇을 의미하며 어떻게 작동합니까? [폐쇄]

Linux 시스템의 코어, CPU, 스레드 및 프로세서 간의 차이점은 무엇입니까? 차이점을 설명해주세요

답변1

핵심은 CPU, 프로세서입니다. 머신은 단일 코어(CPU 1개) 또는 다중 코어(CPU 여러 개)일 수 있습니다. 프로세서는 CPU의 다른 이름입니다.

컴퓨터에서는 CPU 리소스가 필요한 많은 프로세스가 실행되는 경우가 많기 때문에 컴퓨터는 경쟁 작업을 처리하는 방법을 예약해야 합니다. 단일 프로세서(단일 코어) 시스템에서는 각 프로세스에 작은 시간 조각을 할당하여 스케줄링이 수행됩니다. 컴퓨터의 성능과 각 프로세스가 실행되는 짧은 시간(밀리초)으로 인해 사용자는 프로세스가 동시에 실행되고 있다는 느낌을 받게 됩니다.

스레드와 프로세스의 차이점은 운영 체제에 따라 다를 수 있습니다. 이 답변은 기본적인 설명만 제공하려고 시도합니다. 일반적으로 프로세스에는 많은 스레드가 포함될 수 있습니다. 운영 체제는 각 스레드를 개별적으로 예약할 수 있습니다. 각 프로세스의 스레드는 프로세스 코드를 공유하고(각 스레드에는 자체 명령 레지스터가 있음) 프로세스 데이터를 공유합니다. 그러나 각 스레드에는 자체 스택 세그먼트가 있습니다. 호출 스택은 함수 호출 후 반환 지점을 추적합니다.

다중 코어 시스템(CPU가 2개 이상)은 시간 분할을 통해서만 프로세스를 예약할 수 있습니다. 또한 각 코어에 대해 별도의 스레드를 실행할 수도 있습니다. 별도의 코어에서 실행되는 스레드는 진정한 동시성입니다(시간 분할 동시성이라는 인상을 주는 단일 코어 시스템과 달리).

멀티스레딩은 더 나은 컴퓨터 처리 성능을 제공합니다. 몇 년 전, CPU 성능의 지속적인 개선이 둔화되었습니다(무어의 법칙더 이상 적용되지 않음) 이후 CPU 성능 기술은 멀티 코어 및 멀티 스레딩 기술에 의해 주도되었습니다.

답변2

  • 프로세서는 소켓에 연결되는 물리적 칩입니다. 초기 프로세서는 대부분 CPU로 구성되었습니다. 나중에 MMU(가상 메모리 관리), FPU(부동 소수점), 캐시, 때로는 GPU(그래픽)가 프로세서에 추가되었습니다.

  • 코어는 CPU입니다. 프로세서에는 하나 이상의 코어가 있을 수 있습니다. 2코어 CPU는 대략 2개의 싱글 코어 프로세서와 동일하지만, 하나의 구성 요소가 병목 현상을 일으키는 경우 구성 요소를 공유하면 이득이 줄어들 수 있습니다. 또는 반대로 코어 간 내부 통신 속도가 빨라져 성능이 향상되는 경우가 더 많습니다.

  • 코어는 여러 하드웨어 스레드를 지원하여 여러 실행 컨텍스트(주로 레지스터)를 동시에 처리할 수 있습니다. 또한 모든 스레드가 동일한 CPU를 공유하더라도 성능이 향상됩니다. 이러한 이득은 메모리 액세스 대기 시간으로 인해 더 빠른 컨텍스트 전환과 거의 동시 실행으로 인해 발생합니다.

관련 정보