Thread와 Process

배한빈·2023년 3월 26일
0
post-custom-banner

🤙 쉽게 이해해보는 시간을 갖겠습니다.

개념

프로세스 (Process)

  • “컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램”
  • 디스크로부터 메모리에 적재되어 운영체제로부터 주소 공간, 파일, 메모리 등을 할당 받음

❓ 그니까 여러 프로그램들이 실행되는게 프로세스
메모리는 뭐가 있지?

메모리 영역

1. code -> 작성한 코드가 들어가는 부분으로 기계어 형태로 저장된다. 프로세스가 종료될 때까지 계속 유지되는 영역(Read-Only 형태로 저장)
2. data -> 전역변수(global), 정적변수(static), 배열,구조체 등이 저장되는 부분. 프로그램 시작과 동시에 할당되고, 종료시 메모리가 해제된다.
3. heap -> 프로그래머가 동적으로 사용하는 영역이다. 사용 후에는 반드시 메모리 해제를 해줘야한다. code, data, stack 중 유일하게 런타임 시에 결정되기 때문에 데이터 크기가 확실하지 않을 때 사용한다
4. stack -> 지역변수, 매개변수, 복귀 번지 등이 저장되어 있는 프로그램이 자동으로 사용하는 임시 메모리

스레드 (Thread)

  • 한 프로세스 내에서 동작되는 여러 실행 흐름

출처

https://gmlwjd9405.github.io/2018/09/14/process-vs-thread.html

profile
성장을 즐기는 개발자, 배한빈입니다.
post-custom-banner

0개의 댓글