본문 바로가기
IT 공부/운영체제(완)

운영체제 2 프로세스

by 랜턴K 2025. 2. 25.
반응형

포그라운드 프로세스 

 -> 사용자와 상호작용 하는 프로세스 
백그라운드 프로세스 
 -> 사용자와 상호작용 하지 않는 프로세스 
    유닉스  ; 데몬 / 윈도우 ; 서비스 

PCB ; 프로세스 제어 블록 
- 프로세스와 관련 정보를 저장하는 자료 구조 
- 커널 영역에 생성됨 
- 프로세스 생성 시에 만들어지고, 종료 시 폐기됨 
- 프로세스에 CPU를 비롯한 자원을 배분 
- 프로세스 ID / 레지스터 값 / 프로세스 상태 / CPU 스케줄링 정보 / 메모리 관리 정보 / 사용한 파일과 입출력장치


문맥 Context
- 문맥 교환 ; 기존 프로세스 문맥을 PCB에 백업 / 세로운 프로세스 실행의 문맥을 PCB로부터 복구 실행 

프로세스의 메모리 영역
- 커널영역
- 사용자영역
 - 스택 영역 ; 매개변수 / 지역변수 등 잠시 썼다가 사라지는 값들 
 - 힙 영역
 - 데이터 영역 ; 프로그램 실행하는 동안 유지될 데이터 
 - 코드 영역 ; CPU가 실행할 명령어 

정적할당영역 ; 데이터 + 코드 영역
동적할당영역 ; 스택 + 힙 영역 

프로세스 상태 & 계층 구조 
- 생성상태 ; PCB를 할당 받은 상태 
- 준비상태 ; 자신의 차례를 기다리는 상태 
- 실행상태 ; 할당 시간 동안, CPU 사용 
- 대기상태 ; 입출력작업을 끝날 때까지 기다려야 함 -> 끝나고 나서 다시 준비상태 
- 종료상태 ; PCB를 정리함 

프로세스 계층 구조 
부모 프로세스 vs 자식 프로세스 ; 다른 PID를 갖는다
자식 프로세스는 PPID 부모의 PID가 기록되기도 한다 

프로세스 생성 기법 
Fork - 자신의 복사본을 자식 프로세스로 생성
Exec - 자식 프로세스가 자신의 메모리 공간을 다른 프로그램으로 교체 
Fork 후 Exec하여 자식 프로세스가 생성된다 

스레드 ; 프로세스를 구성하는 실행의 흐름 단위
스레드들은 필요한 최소한의 정보만을 유치한채 프로세스 자원을 공유하여 실행
다만, 멀티스레드 환경에서, 하나의 스레드가 잘못될 경우, 
공용 프로세스 내의 나머지 스레드도 영향을 받는 등의 문제가 생길 수 있다 

반응형

'IT 공부 > 운영체제(완)' 카테고리의 다른 글

운영체제 6 가상 메모리  (0) 2025.03.06
운영체제 5 교착 상태  (0) 2025.03.04
운영체제 4 프로세스 동기화  (0) 2025.02.27
운영체제 3 CPU 스케줄링  (0) 2025.02.26
운영체제 1  (0) 2025.02.21