Process Management

차희선·2023년 5월 5일
0

백엔드 로드맵

목록 보기
9/10

프로세스 관리

프로세스

프로세스(process)란 실행중에 있는 프로그램(Program)을 의미

프로세스 상태

New

- 새로 생성되었을 때 프로그램은 메인 메모리에 프로세스로써 할당

new -> ready - new 상태에서 프로세스가 생성되게 되면 OS 커널에 존재하는 Ready Queue에 올라가게됩니다.

Ready

ready -> running - Ready Queue에 있는 프로세스들을 OS가 위에서 말한 프로세스 스케줄링 알고리즘에 의해서 Running 상태로 가야할 프로세스를 CPU로 할당하게 됩니다. 그러면 프로세스가 Running 상태가 됩니다.

Running

- CPU가 해당 프로세스를 실행하여 Running 상태로 변한

running -> ready - 현재 running 상태에 있는 프로세스A 보다 Ready Queue에서 대기하고 있는 프로세스 B가 우선순위가 높으면, preemptive schedule(선점형)인 경우 프로세스A는 Ready 상태로 오게되고 프로세스B가 running 상태로 가서 CPU를 할당 받게됩니다.

running -> blocked - 현재 running 상태에 있는 프로세스A에서 입출력(I/O) 이벤트가 발생했을때 프로세스A가 blocked 상태로 가게됩니다.

Waiting(blocked)

- 한 메모리 내에 여러개의 프로세스가 적재되기 때문에 기다려야 함. 동시에 모든 프로세스에게 자원을 분배 할 수 없기 때문에 중간 중간 프로세스를 바꿔가며 실행

Waiting(blocked) -> ready - 입출력(I/O)이벤트가 종료된 프로세스는 다시 Ready상태로 오게됩니다.

Terminate

- 종료

running -> terminate - 프로세스 종료.

Scheduling

CPU 할당 순서 및 방법을 결정 (running 상태로 갈 프로세스를 결정)
우선순위(Priority algorithm) 알고리즘과 라운드 로빈(Round Robin) 알고리즘

PCB(Process Control Block)

Process Queue

0개의 댓글