728x90
사용자가 프로그램을 실행시키면 메모리에 올라가며 프로세스가 실행된다.
지금의 컴퓨터는 수많은 프로세스들이 실행된다.
시분할 시스템이 사용되는 운영체제에서는 여러개의 프로세스를 돌아가면서 실행한다.
cpu가 병렬적으로 여러 프로세스를 막 실행시키는것이 아니라,
한 순간에 하나의 프로세스만 처리가 가능하다.
그렇지만, 그 속도가 우리가 눈치챌 수도 없을 만큼의 속도로 분할되어 실행되기
때문에 여러 프로세스가 동시에 실행되는것 처럼 느끼게 한다.
프로세스는 시분할 시스템 처리를 위한 5가지의 상태가 존재한다.
생성
- 이 상태는 PCB를 생성하고, 메모리에 프로그램 적재를 요청한 상태
- 메모리에 프로그램 적재를
승인
받으면준비
상태로 넘어간다.
준비
- CPU를 사용하기 위해 기다리고 있는 상태
- 준비 상태의 프로세스는 CPU 스케줄러에 의해 CPU가 할당
- 대부분의 프로세스가 이 상태에 존재함.
실행
- CPU스케줄러에 의해 CPU를 할당 받아 실행되는 상태
- 실행 상태에 있는 프로세스의 수는 CPU의 개수만큼
- 이 상태에 있는 프로세스도 CPU를 무한정 쓸 수 있는것이 아니라 할당된 시간만큼만 사용이 가능하다.
- CPU스케줄러는 할당된 시간을 초과하면 할당했던 CPU를 강제로 뺏는다.
- 이 때, 프로세스는 다시
준비
상태로 되돌아간다.
- 이 때, 프로세스는 다시
완료
- 프로세스가 종료된 상태
- 프로세스가 사용했던 데이터들을 메모리에서 제거한 후 생성된 PCB도 제거한다.
대기
- 프로세스가 입출력요청이 있으면, 완료될 때까지 기다리는 상태
- CPU는 굉장히 빠른데 비해 입출력은 굉장히 느린작업에 속함.
- 특정 프로세스가 입출력 요청을 한다면 요청이 완료될 때까지 CPU를 기다리게 하는것은 굉장히 비효율적이기 떄문에 입출력 요청을 한 프로세스를 이 상태에 두고 다른 프로세스에게 CPU를 할당함.
- 시간이 지나, 입출력이 완료되면 이 대기상태에게 CPU할당 기회를 준다.
- 이렇게 되면, CPU에게는 미안하지만 쉬는 시간을 주지 않고 빡세게 굴릴 수 있다.
출처
- 이미지 : 그림으로 쉽게 배우는 운영체제
728x90
'CS > 운영체제' 카테고리의 다른 글
운영체제 3강 (0) | 2022.08.22 |
---|---|
운영체제 2강 - 2 (0) | 2022.08.18 |
운영체제 2강 - 1 (2) | 2022.08.11 |
운영체제 1강 (0) | 2022.08.11 |