카테고리 없음
(OS) 프로세스 vs 스레드
그린티_
2025. 5. 1. 23:20
반응형
비교를 간단하게 해보자면 이렇게 볼 수 있다!
| 프로세스 | 스레드 | |
| 개념 | 실행 중인 프로그램 | 프로세스 내부 작업 단위 |
| 메모리 | 독립된 메모리 공간 | 같은 공간 공유 |
| 안정성 | 충돌 적음 | 충돌 가능성 있음 (공유된 데이터) |
| 생성비용 | 큼 | 작음 |
| 예시 | 크롬, 멜론 같은 앱 전체 | 음악 재생 + 다운로드 동시에 처리 |

간단하게 그림을 그려보았음!
- 이런식으로 하나의 프로레스를 집이라고 생각하고 스레드들은 안에서 일하는 사람들!
- 집(프로레스)은 서로 독립되어 있고 집안의 사람들(스레드)은 같은 집(자원)을 쓴다!
추가로 멀티에 대한 설명을 하자면
1. 멀티프로세스
- 하나의 프로그램에서 여러 개의 프로세스 생성도 포함
- 그림처럼 여러개의 프로세스(집)를 동시에 실행
- ex) 멜론 프로세스도 있고 크롬 프로세스도 있는 것
- 근데 실제로는 CPU가 한번에 하나의 작업만 실행 할 수 있기 때문에→ 그래서 사람의 눈으로는 여러 프로그램이 동시에 돌아가는 것 처럼 보이는 것!!!
- → 운영체제가 CPU 시간을 아주 짧게 나눠서 각 프로세스에 번갈아가며 실행 시킴
- 요새는 멀티코어 CPU 라고 4코어면 4개의 작업을 동시에 실행하여 병렬로 처리 가능
2. 멀티스레드
- 그림처럼 여러개의 스레드(사람)이 동시에 일하는 것
- ex) 멜론 앱 안에서
- 음악재생
- 다운로드
- 이미지 보여주기
- ex) 멜론 앱 안에서
멀티 태스킹은 뭔가 스케줄링과 겹치나 싶어서 찾아보았는데 그냥 우리가 보고 있는 그 결과물이라고 생각 하면 될 것 같음!
3. 멀티태스킹
- 운영체제가 여러 작업을 동시에 처리하는 것처럼 만드는 기술! (스케줄링과는 다른 개념)
- 멀티태스킹은 사용자 입장에서 “여러 작업이 동시에 잘 돌아가는구나~” 생각하면 되는거고
- 스케줄링은 운영체제 입장에서 “어느 작업을 먼저 실행 시키고 몇 초정도를 줄까?” 라고 생각
- 한 마디로 멀티태스킹은 그냥 우리가 보는 결과물, 스케줄링은 가능하게 하는 내부 기술
반응형