기술면접_프로세스와 스레드 차이

reggias·2023년 4월 14일
0

기술면접

목록 보기
3/18

프로세스는 운영체제에서 실행 중인 하나의 프로그램을 말하며, 독립적인 메모리 영역과 실행 흐름을 가지고 있습니다. 프로세스는 실행 중인 프로그램에 필요한 자원을 할당받고, 운영체제로부터 실행에 필요한 시스템 호출 등의 지원을 받습니다.

스레드는 프로세스 내에서 실행되는 작업 단위로, 프로세스의 자원을 공유하여 동시에 실행될 수 있습니다. 스레드는 각각의 실행 흐름을 가지고 있으며, 이를 이용해 병렬 처리를 구현할 수 있습니다.

프로세스와 스레드의 가장 큰 차이는 메모리와 자원의 사용입니다. 프로세스는 독립적인 메모리 공간을 할당받으며, 자원도 독립적으로 사용합니다. 반면에 스레드는 같은 프로세스 내에서 메모리와 자원을 공유하며 실행됩니다.

또한, 스레드는 프로세스 내에서 생성될 수 있으며, 프로세스와 달리 생성 및 종료 시간이 빠릅니다. 하지만, 스레드는 동시에 실행될 때 서로 영향을 주어 예상치 못한 결과를 초래할 수 있으므로, 적절한 동기화 기술이 필요합니다.

정리하자면, 프로세스는 실행 중인 프로그램을 독립적인 메모리 영역과 실행 흐름을 가진 단위로 관리하며, 스레드는 프로세스 내에서 실행되는 작업 단위로, 프로세스의 자원을 공유하여 동시에 실행될 수 있습니다.

profile
sparkle

0개의 댓글