프로그래밍/study

[OS]프로세스와 스레드

jay.den 2019. 9. 11. 10:25
728x90

프로세스란?

  • 실행중인 프로그램에 대한 인스턴스
  • 리소스와 스레드로 구성
  • 하나 이상의 스레드를 포함
  • 하나의 CPU에서 동시에 여러 프로세스가 처리되는것 처럼 보이는 것을 멀티태스킹

스레드란?

  • 어플리케이션의 실행에 있어서 가장 기본적인 단위
  • 애플리케이션은 최소 하나의 스레드로 구성
  • 각 스레드마다 별도의 스택 존재
  • 다른 스레드와 독립적으로 돌아감
  • 자원을 공유한다!

차이

  • 프로세스는 독립된 메모리 공간을 갖는다. 다른 프로세스의 메모리에 접근하려면 IPC를 통해 프로세스간 통신을 해야한다.
  • 스레드는 메모리를 공유한다. 이 때문에 동기화, 데드락 등의 문제가 발생 할 수 있다.

'프로그래밍 > study' 카테고리의 다른 글

[OS]IPC  (0) 2019.09.11
[OS]동기화  (0) 2019.09.11
[OS]Busy-Waiting  (0) 2019.09.11
docker  (0) 2019.08.30
kubernetes  (0) 2019.08.30