컴퓨터를 구성하는 하드웨어(CPU, Memory, Devices)와 하드웨어를 관리하고 컴퓨터 시스템 전반을 관리하는 OS(커널)가 있고 우리가 개발한 프로그램(Application)은 운영체제를 통해서 하드웨어를 사용하게 된다. 하드웨어 스레드 OS 관점에서는 가상의(logical) 코어 인텔에서는 hyper-threading이라고 브랜딩하였다. -> 물리적인 코어마다 하드웨어 스레드가 두 개 예) 싱글 코어 CPU에 하드웨어 스레드가 두 개라면 OS는 이 CPU를 듀얼코어로 인식하고 듀얼 코어에 맞춰서 OS 레벨 스레드들을 스케줄링 한다. OS 스레드(네이티브 스레드 == 커널 스레드 == 커널-레벨 스레드 == OS-레벨 스레드) OS 커널 레벨에서 생성되고 관리되는 스레드 CPU에서 실제로 실행..