프로세스와 스레드

2025. 2. 1. 15:45·클라우드&인프라/인프라 공부

프로세스 (Process) 

프로세스 진행 과정

  • 실행중인 프로그램
  • 프로그램이 메모리에서 실행되면서 운영체제는 이를 하나의 독립적인 작업 단위로 관리.
  • 각 프로세스는 자신만의 주소공간을 가지며, 다른 프로세스와는 독립적으로 실행

특징

  • 자원 할당 : 각 프로세스는 CPU 시간, 메모리, 파일 등 자원을 독립적으로 할당받고 실행
  • 주소 공간 : 각 프로세스는 독립된 메모리 영역을 갖고 있기 때문에, 다른 프로세스와 메모리를 공유하지 않음
  • 다중 프로세스 : 여러 프로세스는 동시에 실행될 수 있지만, 각각은 독립적인 자원을 사용하고, 하나의 프로세스가 종료되더라도 다른 프로세스에는 영향을 주지 않음. 

 

스레드 (Thread)

  • 프로세스 내에서 실행되는 작은 작업 단위
  • 한 프로세스는 여러 개의 스레드를 가질 수 있음
  • 스레드는 동일한 주소 공간을 공유하고 실행

특징

  • 독립성 : 프로세스는 독립적이고 각자의 주소 공간을 가지며, 스레드는 같은 프로세스 내에서 자원을 공유하고 실행
  • 자원 소모 : 프로세스는 더 많은 자원을 소모하고, 스레드는 경량화되어 더 작은 자원을 소모
  • 통신 : 프로세스 간 통시은 복잡하고 비용이 많이 드는데, 스레드는 동일한 프로세스 내에서 자원 공유가 가능해서 통신이 더 빠르고 효율적
특징 프로세스 스레드
독립성 각각 독립적이며, 다른 프로세스와는 독립적으로 실행됨 같은 프로세스 내에서 실행되며 자원을 공유함
자원 공유 다른 프로세스와 자원 공유하지 않음 같은 프로세스 내에서 자원 공유
메모리 할당 각 프로세스마다 독립적인 메모리 공간을 가짐 같은 프로세스 내에서 메모리 공간을 공유
자원 소모 상대적으로 많은 자원 소모 상대적으로 적은 자원 소모
통신 비용 프로세스 간 통신은 복잡하고 비용이 큼 스레드 간 통신은 빠르고 효율적임
전환 비용 프로세스 간 전환 비용이 큼 스레드 간 전환 비용이 적음

 

프로세스는 메모리를 공유할 수 없을까?

  • 오라클 DB에서는 공유 메모리공간(SGA)가 존재
  • 독자적으로 사용하는 메모리공간(PGA)또한 존재

 

 

참조

https://product.kyobobook.co.kr/detail/S000001942495

 

그림으로 공부하는 IT 인프라 구조 | 야마자키 야스시 - 교보문고

그림으로 공부하는 IT 인프라 구조 | 『그림으로 공부하는 IT 인프라 구조』는 IT 인프라를 처음 접하는 독자들은 위한 최고의 입문서! 절판 후 재발간 요청이 꾸준히 들어왔던 스테디셀러! 클라

product.kyobobook.co.kr

 

'클라우드&인프라 > 인프라 공부' 카테고리의 다른 글

물리 서버의 구성 (2)  (0) 2025.01.19
물리 서버의 구성 (1)  (0) 2024.12.30
인프라 아키텍처의 종류  (1) 2024.11.28
'클라우드&인프라/인프라 공부' 카테고리의 다른 글
  • 물리 서버의 구성 (2)
  • 물리 서버의 구성 (1)
  • 인프라 아키텍처의 종류
인프라 감자
인프라 감자
  • 인프라 감자
    삶은 인프라
    인프라 감자
  • 전체
    오늘
    어제
    • 분류 전체보기 (243)
      • 클라우드&인프라 (28)
        • 인프라 공부 (4)
        • AWS 구조와 서비스 (18)
        • 클라우드 공부 (4)
        • Terraform (2)
      • AWS Cloud School (13)
        • project (5)
        • Linux, Network (6)
        • Docker (2)
      • BackEnd (162)
        • JAVA 공부 (15)
        • 알고리즘 공부 (71)
        • MySQL 문제 풀기 (8)
        • 스프링 핵심 원리 - 기본편 (18)
        • 스프링 MVC 1편 (4)
        • 자바 ORM 표준 JPA 프로그래밍 (21)
        • 실전! 스프링 부트와 JPA 활용1 (8)
        • 실전! 스프링 부트와 JPA 활용2 (5)
        • 스프링 데이터 JPA (8)
        • Querydsl (4)
      • 혼자하는 프로젝트 (32)
        • 배달의 민족 클론코딩 (7)
        • 나만의 프로젝트 (10)
        • 스프링 부트로 구현한 웹 (15)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Email
    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    유니온 파인드
    자동 배포
    완전탐색
    프로그래머스
    네트워크 기본 용어
    querydsl
    백트래킹
    상속
    이것이 자바다
    정렬
    dp
    자바
    조합
    중첩 선언
    스프링 핵심 원리-기본편
    VPN
    쿼드 압축
    다이나믹 프로그래밍
    linux
    디팬스 게임
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
인프라 감자
프로세스와 스레드
상단으로

티스토리툴바