[CS] 프로세스 vs 쓰레드 정리

2023. 1. 10. 19:18·Programming
반응형

프로세스(Process)

프로세스란 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램이다.

  • 운영체제에서 할당 받는 자원 단위( = 실행 중인 프로그램)
    1. CPU 동작 시간
    2. 주소 공간 (각 프로세스는 별도의 주소 공간에서 실행된다)
    3. Code, Data, Stack, Heap의 구조로 되어있는 독립적 메모리 영역
  • 할당 받는 자원은 다음과 같다.
  • 최소 1개의 메인 스레드를 보유한다.
  • 다른 프로세스의 자원에 접근하려면 프로세스 간의 통신을(Context Switching)사용해야 한다.
    • 파이프, 파일 소켓 등을 사용

스레드(Thread)

“프로세스 내에서 실행되는 여러 흐름의 단위”

  • 프로세스가 할당 받은 자원을 이용하는 실행 단위다.
  • 스레드는 프로세스 내에서 Stack만 별도로 할당 받고, 나머지 Code, Data, Heap은 공유한다.
  • 한 스레드가 프로세스 자원을 변경하면, 같은 프로세스 내에 다른 스레드(sibling thread)도 바로 그 변경 결과를 볼 수 있다.
반응형
'Programming' 카테고리의 다른 글
  • [CS] 객체지향 OOP 개념 제대로 알기
  • [Python] 클래스 & 메소드
  • [Python] Hangman 게임 만들어 보기
  • [Python] 외장 함수 : External Functions
기록하기-
기록하기-
  • 기록하기-
    꾸밈없이 끊임없이
    기록하기-
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Programming
      • Episode
  • 블로그 메뉴

    • 깃허브
    • 링크드인
  • 링크

    • Github
    • LinkedIn
  • 공지사항

  • 인기 글

  • 태그

    파이썬 문법
    파이썬문법
    파이썬기초
    파이썬
    python class
    python
    python 기초 문법
    Python 문법
    파이썬 기초
    Django
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
기록하기-
[CS] 프로세스 vs 쓰레드 정리
상단으로

티스토리툴바