프로그램 (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 |