inblog logo
|
jjack1
    운영체제

    [운영체제] 6. 프로세스와 스레드

    최재원's avatar
    최재원
    Mar 24, 2025
    [운영체제] 6. 프로세스와 스레드

    프로세스와 스레드의 개념

    1. 프로세스 (Process)
    • 운영체제에서 실행 중인 프로그램을 의미
    • 독립적인 메모리 공간(Code, Data, Heap, Stack)을 가짐
    • 하나 이상의 스레드를 포함할 수 있음
    • 프로세스 간에는 기본적으로 메모리를 공유하지 않음
    2. 스레드 (Thread)
    • 프로세스 내에서 실행되는 작은 작업 단위
    • 프로세스의 Code, Data, Heap을 공유하지만, 개별적인 Stack을 가짐
    • 같은 프로세스 내에서 스레드 간 데이터를 쉽게 공유 가능
    • 하나의 프로세스에는 여러 개의 스레드가 존재할 수 있음

    프로세스와 스레드의 차이점

    구분
    프로세스
    스레드
    메모리 공유
    독립적
    프로세스 내 공유
    실행 단위
    독립적 실행
    병렬 실행
    자원 할당
    별도 할당 (Code, Data, Heap, Stack)
    Stack만 개별 할당 (Code, Data, Heap 공유)
    통신 방식
    IPC (메시지 큐, 파이프, 공유 메모리 등) 필요
    프로세스 내에서 직접 접근 가능
    생성 비용
    높음 (새로운 메모리 공간 할당 필요)
    낮음 (기존 프로세스 자원 활용)
    종료 시 영향
    독립적 종료
    하나의 스레드가 비정상 종료되면 전체 프로세스에 영향

     
    notion image

    notion image

    notion image

    notion image
    notion image

    notion image

     
    출처: https://youtu.be/2i3dInwVeUM?list=PLXvgR_grOs1DGFOeD792kHlRml0PhCe9l
     
    Share article

    jjack1

    RSS·Powered by Inblog