CPU: 컴퓨터 시스템에 모든 동작 제어, 명령 실행 장치. CPU에는 코어, 제어장치 등 여러가지 있다.
CPU(중앙처리장치) 코어: CPU 내부에서 정보 다루고 처리하는 역할 수행, PC 성능 = 코어 성능
코어가 작업 분할하여 처리하는 작업 단위
프로그램 실행 동적 개념으로 OS로부터 자원 할당 받은 작업의 단위
Code : 코드 자체를 구성하는 메모리 영역 프로그램 명령
Data : static변수, final변수 등
Heap : new로 생성된 객체, 배열
Stack : 지역변수, 매개변수, 리턴 값 임시 메모리 영역, 참조값으로 heap의 객체 이용
한 프로세스 내에서 동작되는 실행 흐름. 프로세스 하나에 자원 공유하며 동시에 실행 가능함
싱글스레드
Cluster모듈은 싱글스레드가 CPU core 모두 사용 가능하게 해준다. Core 하나 당 Node.js 프로세스 하나가 돌아간다. Session 등 메모리 공유가 안되서 해당 경우는 Redis 등 통해 해결 가능하다.
멀티스레드
멀티프로세스
장점:
단점:
Context switching: cpu는 한번에 하나의 task(process, thread) 실행가능한데, task 전환 과정에서 기존 task의 상태 및 register 값 저장 및 교환.
멀티스레드
장점:
단점:
장점
단점