프로세스, 스레드

Lee·2023년 3월 31일
0

면접 스터디

목록 보기
9/18

프로세스

정의

운영체제에 의해 메모리를 할당받아 실행중인 프로그램

PCB

구성요소

  • PID
    • 운영체제가 각 프로세스를 식별하기 위한 고유 번호
  • 프로세스 상태
    • 현재 프로세스의 상태를 저장
    • 준비, 대기, 실행, 완료로 구분
  • PC
    • 다음에 실행할 명령어 주소 저장
  • scheduling 정보
    • 우선 순위를 관리한다
  • 권한 정보
    • 프로세스가 접근할 수 있는 권한을 저장한다.
  • 부모, 자식 프로세스 정보
  • 할당된 메모리 포인터

메모리 구조

  • code
    • 실행 명령을 포함하는 코드
  • data
    • static 및 global 변수 저장
  • heap
    • 동적 할당된 변수 저장
  • stack
    • local, 매개변수, 반환값 등 지역변수 저장

스레드

정의

프로세스가 할당받은 자원을 이용하는 실행단위

특징

  • 프로세스 내에서 각각 stack만 할당받고 code, data, heap 영역은 공유한다.
  • 스레드는 프로세스 내의 주소 공간이나 자원들 같은 것을 프로세스 내의 스레드끼리 공유하며 실행한다.
  • 한 스레드가 프로세스 자원을 변경하면, 다른 이웃 스레드도 그 변경 결과를 즉시 확인할 수 있다.
  • 한 스레드가 프로세스 자원을 변경하면, 다른 이웃 스레드도 그 변경 결과를 즉시 확인할 수 있다.
profile
발전하고 싶은 백엔드 개발자

0개의 댓글

관련 채용 정보