프로세스 & 스레드

졍이🥨·2023년 3월 9일
0

📝기술공부

목록 보기
22/40

프로세스(Process)와 스레드(Thread)

Q. 프로세스스레드의 차이점은?
프로세스는 메모리 상에서 실행중인 프로그램을 말하며, 스레드는 이 프로세스 안에서 실행되는 흐름 단위를 말한다.
프로세스는 최소 하나의 스레드를 보유하고 있으며, 각각 별도의 주소공간을 (code, heap, stack)형식으로 독립적으로 할당 받는다.
스레드는 이중에 stack만 따로 할당받고 나머지 영역은 스레드끼리 서로 공유한다.

프로세스(Process)와 스레드(Thread) 요약

프로세스 : 자신만의 고유 공간과 자원을 할당받아 사용
스레드 : 다른 스레드와 공간과 자원을 공유하면서 사용

Q. 프로세스의 문제점은?

  • 프로세스 생성에 큰 오버헤드가 있다. ( 프로세스를 생성할때 많은 시간이 소요됨0
  • 프로세스 컨텍스트 스위칭의 비효율성, 오버헤드가큼
  • 프로세스 사이에 통신이 어렵다는점 (IPC사용해야함)

Q. 스레드의 출현 목적은?

  • 프로세스보다 크기가 작은 실행 단위 필요
  • 프로세스의 생성 및 소멸에 따른 오버헤드 감소
  • 빠른 컨텍스트 스위칭
  • 프로세스들의 통신 시간, 방법 어려움 해소

Q. 스레드 주소공간에 대해서 설명?

하나의 스레드가 동작하기 위해 총 6개의 공기 있다.
사적공간, 공유공간, 커널 스택
사적공간은 스레드 코드 공간, 스레드 전용 전역변수 공간, 스택 공간이 있다.
공유공간에는 데이터 공간, 힙 공간이 있다. 그리고 커널 스택이 있다.

profile
Front-End :)

0개의 댓글