프로세스와 스케줄링에 대해 알아보자.
운영체제에서의 프로세스는 응용프로그램이라고 가볍게 생각하자.
스케줄링은 배치 처리 시스템
, 시분할 시스템
, 멀티 태스킹
과 같은 방식으로 응용프로그램을 시간 순서에 따라서 CPU에 배치하는 방법을 말한다.
배치 처리 시스템의 구조는 자료구조의 큐와 유사하다.
큐는 FIFO(First In First Out) 로직으로 동작하는데 먼저 들어온 데이터 먼저 나가는 데이터 처리 방법이다.
마찬가지로, 배치 처리 시스템에서도 프로그램1과 프로그램2를 등록했다면,
프로그램1이 실행이 종료된 후에 프로그램2가 실행되는 FIFO(선입선출) 로직으로 동작한다.
- 여러 프로그램을 순차적으로 실행 시킬 수 있도록 하고싶다는 Needs 발생
- 어떤 프로그램의 실행 시간이 오래 걸려서, 다른 프로그램이 실행되는데 시간이 오래 걸린다는 단점
- 하지만 각 응용 프로그램의 실행 시간을 정확하게 예측해 순서를 조합하기 어렵다는 한계
- 음악을 들으면서 문서 작업(멀티 프로그램)
- 여러 사용자가 하나의 컴퓨터 사용(다중 사용자)