스레드
- 프로세스를 구성하는 실행의 흐름 단위
- 프로세스 내에서 각기 다른 스레드 ID, 프로그램 카운터 값을 비롯한 레지스터 값, 스택으로 구성
- 각자 프로그램 카운터 값을 비롯한 레지스터 값, 스택을 가지고 있기에 스레드 마다 다른 코드를 실행 가능
- 실행에 필요한 최소한의 정보만을 유지한 채 프로세스 자원을 공유하며 실행
- PC를 포함한 레지스터, 스택을 공유
- 메모리를 효율적으로 사용 가능
- 프로세스의 자원을 공유하기 떄문에 서로 협력과 통신에 유리함
- 멀티 프로세스는 하나의 스레드에 문제가 생기면 프로세스 전체에 문제가 생길 수 있음
- 종류
- 단일 스레드 프로세스
- 모든 프로세스가 하나의 실행 흐름을 가지고 한 번에 하나의 부분만 실행
- 멀티 스레드 프로세스
- 여러 스레드로 프로세스를 동시에 처리
- 멀티 프로세스
- 여러 프로세스를 동시에 실행
프로세스 간 통신
- 공유 메모리
- 소켓, 파이프, 메시지 등등... 추후 정리 예정...
'CS > OS' 카테고리의 다른 글
프로세스 동기화 [혼공컴구] (0) | 2024.01.18 |
---|---|
스케줄링 알고리즘 [혼공컴구] (1) | 2023.12.22 |
프로세스 계층 구조 & 생성 기법 [혼공컴운] (0) | 2023.12.15 |
문맥 교환 [혼공컴운] (0) | 2023.12.14 |
프로세스 [혼공컴운] (0) | 2023.12.14 |