프로세스와 스레드

2025. 11. 24. 13:41·CS/운영체제

커널 영역과 사용자 영역의 프로세스

Foreground process

Background process

 

프로세스 제어 블록

 

PCB는 운영체제 커널 영역에 적재되어 있음.

 

프로세스 제어 블록 (PCB)

  • PID (PPID)
  • 레지스터
  • 스케줄링 정보 - CPU를 얼마나 자주 할당 받을 지.
  • 메모리 정보 - 메모리에 어디 적재되어 있는 지.
  • 사용한 파일 정보
  • 입출력장치 정보

문맥 교환

실행을 재개하기 위한 정보를 주고 받는 것. 

한정된 자원을 공유하면서 여러 프로세스가 번갈아서 실행됨.

 

 

사용자 영역

 

코드 영역 실행 가능한 코드; 기계어로 이루어진 명령어 [Read-Only]
데이터 영역 프로그램이 실행되는 동안 유지할 데이터 (e.g. 전역변수)
* BSS 영역: 프로그램 실행 동안 유지할 데이터중 초기값 없는 데이터
힙 영역 사용자(개발자)가 직접 할당 가능한 공간
낮은 주소에서 높은 주소로 할당 
스택 영역 임시로 저장되는 영역 (매개 변수, 지역 변수)
높은 주소에서 낮은 주소로 할당

 

 

프로세스 상태

대표적인 프로세스 상태

  • 생성 상태 (new)
  • 준비 상태 (ready)
  • 실행 상태 (running)
  • 대기 상태 (blocked)
  • 종료 상태 (terminated)

 

리눅스 top 명령어 사용시 프로세스 상태(State)를 확인 가능.

  • R: Running
  • S: Sleeping
  • W: Waiting
  • S: Stopped
  • Z: Zombie

 

프로세스 생성과 상태

생성 상태 (new)
준비 상태 (ready)
실행 상태 (running)
대기 상태 (blocked)
종료 상태 (terminated)

 

fork-exec

* 계층적 구조로 프로세스가 생성되는 원리

 

fork (복사): 복사본 만들기. > 자식 프로세스 생성

exec (옷 갈아입기): 자식 프로세스를 새로운 프로그램으로 덮어 씌우기. (PID값은 유지가 됨)

 

스레드

* 프로세스를 구성하는 실행 흐름의 단위

멀티 프로세스 멀티 스레드
프로세스 간에는 기본적으로는 자원을 공유하지 않음. 스레드 간에는 기본적으로는 프로세스의 자원을 공유.
브라우저: 하나의 탭에서 문제가 생기면 해당 탭만 강제종료 브라우저: 하나의 탭에서 문제가 생기면 브라우저 자체 강제 종료

 

프로세스 간에도 자원 공유가 가능하다.

* IPC, 소켓 등

'CS > 운영체제' 카테고리의 다른 글

파일 시스템  (1) 2025.12.01
가상 메모리 관리  (0) 2025.12.01
동기화와 교착 상태  (0) 2025.12.01
CPU 스케줄링  (0) 2025.11.24
운영체제  (0) 2025.10.23
'CS/운영체제' 카테고리의 다른 글
  • 가상 메모리 관리
  • 동기화와 교착 상태
  • CPU 스케줄링
  • 운영체제
Yun Lab.
Yun Lab.
Yun Lab.
  • Yun Lab.
    윤랩
    Yun Lab.
  • 글쓰기 방명록 관리자
  • 전체
    오늘
    어제
    • 분류 전체보기 (26)
      • CS (13)
        • 컴퓨터구조 (6)
        • 운영체제 (7)
        • 네트워크 (0)
        • 시스템 프로그래밍 (0)
        • 데이터베이스 (0)
      • Git (0)
      • AI Study (6)
        • LLM (0)
        • Machine Learning (6)
      • 자격증 (2)
        • AICE (1)
        • 리눅스마스터 (1)
      • 논문리뷰 (4)
        • NeurIPS (0)
        • ICLR (1)
        • ICML (1)
        • 기타 (2)
      • 코딩테스트 (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    SVM
    프로세스와 스레드
    ICML
    LLM
    쿠버네티스
    교착상태
    도커
    운영체제
    명렁어
    K-최근접이웃
    2025ICML
    서포트벡터머신
    ICLR2025
    ML
    multi-agent
    의사결정나무
    머신러닝
    디시전트리
    리눅스마스터
    Machine Learning
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.5
Yun Lab.
프로세스와 스레드
상단으로

티스토리툴바