스레드의 정의
CPU 스케줄러가 CPU에 전달하는 가장 작은 작업 단위이다.
CPU가 처리하는 최소 단위로, 하나의 프로세스 내부에서 여러 스레드가 실행될 수 있다.
프로세스의 최소 단위로, 여러 스레드는 동일한 프로세스 내에서 메모리 자원 등을 공유한다.
프로세스와 스레드의 차이
프로세스: 작업 단위로 운영체제에서 관리되는 실행 단위, 여러 프로세스가 동시에 실행될 수 있다.
스레드: 프로세스 내에서 실제로 작업을 수행하는 실행 단위, 하나의 프로세스는 여러 스레드를 포함할 수 있다.
예시로 보는 차이
요리사 모형으로 예로 들어보면 프로세스는 각각의 요리(task)로 생각할 수 있다. 예를 들어, 스프, 스테이크, 디저트 등 각기 다른 요리가 독립적으로 준비된다.
스레드는 각 요리를 준비하는 과정에서 발생하는 세부 작업이다. 예를 들어, 스테이크를 구울 때, 굽는 정도에 따라 순서나 시간이 달라질 수 있다.
스레드와 프로세스의 관계
하나의 프로세스는 여러 개의 스레드를 포함할 수 있다.
각 스레드는 프로세스 내에서 자원을 공유하지만, 동시에 독립적으로 작업을 수행한다.
'CS > 운영체제' 카테고리의 다른 글
[OS]멀티 스레드 모델 (0) | 2025.03.24 |
---|---|
[OS]멀티 태스크, 멀티 스레드, 멀티 프로세싱 (0) | 2025.03.24 |
[OS]프로세스 계층 구조 (0) | 2025.03.24 |
[OS]프로세스 생성, 복사(fork(), exec()) (1) | 2025.03.24 |
[OS]프로세스 구조, 오버 플로우 (0) | 2025.03.23 |