본문 바로가기
IT

프로세스 관리 정의 교착상태 스케줄링 선점형 비선점형

by 심슨아빠똥 2022. 7. 27.
728x90

프로세스 관리

1. 프로세스의 정의
- 실행중인 프로그램을 말한다.
- 프로그램을 실행하는 처리 단위다.
- 프로세서가 할당되는 개체이다.
- 데이터를 입력하여 처리하고 결과를 얻는 것이다.
- 운영체제의 PCB 안에 존재한다.

2. 프로세스의 상태
- 생성 : 포로세스가 생성이 됐으나 아직 프로세스 대열에 들어가지 못한 상태다.
- 준비 : 프로세스가 CPU를 사용할 수 있는 상태다. CPU가 할당된 경우 프로세스는 실행 상태로 전환한다.
- 실행 : 현재 프로세스가 프로세서를 할당 받은 상태이다. (실행중인 상태)
- 대기 : 프로세스가 어떤 사건이 일어나길 기다리는 상태다. 정지 상태, 블록 상태 등이 존재한다.
- 종료 : 프로세스가 실행할 수 있는 관리 상태에서 해제된 상태이다.

3. 프로세스 제어 블록(PCB)
- 고유 이름, 현재 상태, 프로그램 카운터, 우선순위, 할당된 자원에 대한 포인터, 주기억 장치 영역 및 기억 장치 관리 정보, CPU의 각종 레지스터, 부모 및 자식 프로세스에 대한 포인터, 고유의 식별자, 입출력에 대한 정보

 

 

 

교착상태

1. 교착 상태
- 자원이 한정되어 있지만 각각의 프로세스들이 서로 자원을 차지하기 위해 무한정 대기하는 상태다.
- 해당 프로세스 진행이 중단되는 상태를 말한다.

2. 교착 상태가 일어나기 위한 조건
- 상호 배제 : 필요한 자원에 대한 각각의 프로세스가 배타적 통제권을 요구할 때를 말한다.
- 점유와 대기 : 프로세스가 자원을 할당받고 점유하며 다른 자원을 요구할 때다.
- 비선점 : 프로세스가 할당된 자원의 사용이 끝날 때까지 강제로 뺏을 수 없을 때를 말한다.
- 환형 대기 : 각각 다른 프로세스 간의 자원 요구가 연속적으로 순환되는 원형과 같은 사슬 형태로 존재하는 상황이다.

3. 교착 상태 해결 방안
- 예방 : 교착 상태에서 필요한 조건을 사전에 예방하고 교착 상태가 발생하지 않도록 한다.
- 회피 : 교착 생태의 발생 가능성을 배제하지 않은 상태로 이를 적절한 방법으로 피하는 운영 방식이다.
- 탐지 : 교착 상태의 발생을 수시로 탐지하여 적절하게 조치하도록 한다.
- 복구 : 교착 상태의 프로세스를 중단하거나 자원을 강제로 회수하고 교착 상태 이전의 상태로 복구시킨다.

 

스케줄링

- 컴퓨터 자원을 보다 효율적으로 사용하기 위해 작업 순서와 시간을 할당한다.
- 프로세스들이 자원을 사용하는 순서를 결정한다.
- 스케줄링 작업을 수행하는 프로그램을 스케줄러라고 한다.
- 스케줄링 기법으로는 선점형과 비선점형으로 나뉜다.
 
1. 선점형 기법
- 하나의 프로세스가 CPU를 점유할 시 다른 프로세스가 CPU를 뺏어 차지한다.
- 대화식 시분할 시스템과 실시간 시스템에서 사용된다.
- 잦은 오버헤드가 단점이다.

2. 비선점형 기법
- 특정 프로세스의 작업이 끝날 때까지만 CPU를 독점하는 방식이다.
- 응답 시간 예측에 유용하다.
- 짧은 작업을 진행하려 할 때 긴 작업을 오래 기다려야 하는 단점을 가지고 있다.

728x90

댓글