CS/운영체제

[CS/Operating System] 프로세스와 스레드

dbfl9911 2024. 11. 22. 15:36
반응형

 


 

 

  프로세스와 스레드의 차이?

 

- 프로세스 : 메모리 상에서 실행 중인 프로그램 

- 스레드 : 프로세스 안에서 실행되는 여러 흐름 단위 

   (기본적으로 프로세스마다 최소 1개의 스레드(메인 스레드)를 소유)

 

프로세스는 운영체제로부터 자원을 할당받지만, 스레드는 프로세스로부터 자원을 할당받고 프로세스의 코드/데이터/힙 영역을 공유하기 때문에 좀 더 효율적으로 통신할 수 있습니다. 또한 컨텍스트 스위칭도 캐시 메모리를 비우지 않아도 되는 스레드 쪽이 빠릅니다. 그리고 스레드는 자원 공유로 인해 문제가 발생 할 수 있으니 이를 염두에 둔 프로그래밍을 해야 합니다. 

(컨텍스트 스위칭 : 한 Task가 끝날 때까지 기다리는 것이 아니라 여러 작업을 번갈아가며 실행해서 동시에 처리될 수 있도록 하는 방법) 

 

 


 

* 위 글은 아래 문서를 참고해 작성했습니다. 

https://github.com/ksundong/backend-interview-question

 

GitHub - ksundong/backend-interview-question: 백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질

백엔드 개발자로 입사를 준비하며 받았던 질문, 예상했던 질문, 인터넷 참고한 질문(CC BY-NC) - ksundong/backend-interview-question

github.com

https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Operating%20System/Process%20vs%20Thread.md

 

tech-interview-for-developer/Computer Science/Operating System/Process vs Thread.md at master · gyoogle/tech-interview-for-deve

👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

 

반응형