[운영체제] 3장 프로세스, 스레드 요약

카테고리 : 운영체제 리딩타임 : 1 분 페이지뷰 : --

3장. 프로세스, 스레드

  1. 프로세스
  • 프로세스: 메모리에 적재되서 현재 실행 중인 프로그램
  • 각 프로세스마다 코드, 데이터, BSS, 힙, 스택 등의 메모리 구조를 가짐
  • 프로세스는 운영체제 내에서 프로세스 제어 블록(PCB: Process Control Block)으로 표현됨
  • PCB에는 프로세스 식별자, 프로세스 상태, 프로그램 카운터, 레지스터 등이 저장된다
  • 문맥교환(Context Switching): 프로세스끼리 제어 상태 변화가 일어났을 때 발생 -> 오버헤드(Overhead) 발생
  • OS의 스케쥴링에 의해 프로세스 실행 순서 결정
  • 각각의 프로세스는 독립적이므로 한 프로세스가 비정상적으로 종료되도 다른 프로세스에 영향이 없다
  1. 스레드
  • 스레드: 하나의 프로세스 내에서 실행되는 여러 흐름의 단위
  • 각 스레드는 스택만 할당받고 코드, 데이터, 힙 등은 프로세스 내에서 공유한다
  • OS의 스케쥴러는 스레드를 최소 단위로 작업
  • 각각의 스레드는 프로세스와 달리 비정상적으로 종료되면 다른 스레드들도 종료된
  1. 기타
  • 일반적으로 새로운 프로세스가 생성되면 프로세스를 위한 스레드도 함께 생성된다
  • 프로세스의 생성/종료보다 스레드의 생성/종료의 오버헤드가 훨씬 적다
  • 트랩(Trap): 부적절한 파일접근이나 오류, 예외 상황때문에 발생 -> 소프트웨어적인 흐름의 변화 (인터럽트: 하드웨어적인 흐름의 변)

댓글 공유

Copyrights © 2020 Jin Seon. All Rights Reserved.
저자 이미지

Jin Seon

Aspiring developer dreaming about freedom


Software Enginner


Seoul