스레드란?
- cpu 코어에서 실제로 실행되는 코드
- 1개의 프로세스는 적어도 1개 이상의 스레드를 가짐(main스레드 + 알파)
- 실행되지 않는 스레드는 스택에 저장됨, 레지스터
- 스레드간에는 메모리를 공유한다. 프로세스 주소 공간을 공유
- 스레드가 대기 상태에서 실행되면 저장된 레지스터들이 복구
프로세스 : 독립적인 주소 공간 + 여러 스레드
스레드 : 독립적으로 실행, 레지스터,PC,스택
리눅스 vs RTOS
-
리눅스 : 프로세스 기반 , 프로세스간 메모리 침범 x
-
RTOS : 스레드로만 동작, 모든 메모리 공유