Computer Science/Comp Arch, OS

[Operating System] 프로세스 (Process)

이성훈 Ethan 2024. 8. 31. 07:14

프로그램 (Program) 

실행되기 전까지 그저 보조기억장치에 있는 데이터 덩어리

 

 

프로세스 (Process)

보조기억장치에 저장된 프로그램을 메모리에 적재하고 실행한 것

 

  • 포그라운드 프로세스 (foreground process)
    • 사용자가 볼 수 있는 공간에서 실행되는 프로세스
  • 백그라운드 프로세스 (background process)
    • 사용자가 보지 못하는 뒷편에서 실행되는 프로세스
    • 백그라운드 프로세스 중에서 사용자와 상호작용하지 않고 정해진 일만 수행하는 백그라운드 프로세스: 유닉스에서 데몬 (daemon), 윈도우에서 서비스 (service)
  • 프로세스 제어 블록 (PCB)
    • 프로세스와 관련된 정보를 저장하는 자료구조
  • 프로세스 ID (PID)
    • 특정 프로세스를 식별하기 위해 부여하는 고유한 번호
  • 문맥 교환
    • 프로세스 간의 실행을 전환하는 것
  • 프로세스 사용자 영역
    • 정적 할당 영역 
      • 코드 영역
        • 기계어로 이루어진 명령어 저장 공간
      • 데이터 영역
        • 프로그램이 실행되는 동안 유지할 데이터를 저장하는 공간 (전역 변수)
    • 동적 할당 영역
      • 힙 영역
        • 프로그래머가 직접 할당할 수 있는 저장 공간
      • 스택 영역
        • 잠깐 쓰다가 말 값들이 저장되는 공간 (지역 변수, 매개 변수)

 

프로세스 상태

  • 생성 상태
    • 막 메모리에 적재되어 PCB 를 할당받은 상태
  • 준비 상태
    • 차례가 되면 CPU 를 할당받아 실행되기 위한 대기 상태
  • 실행 상태
    • CPU 를 할당받아 실행 중인 상태
  • 대기 상태
    • 입출력 장치의 작업이 끝날 때까지 대기하는 상태
  • 종료 상태
    • 프로세스가 종료된 상태

 

'Computer Science > Comp Arch, OS' 카테고리의 다른 글

[Operating System] Daemon (데몬)  (0) 2024.10.16
[Computer Architecture] CPU  (1) 2024.08.24