본문으로 건너뛰기

단일 프로세스 시스템

✔️ 단일 프로세스

단일 프로세스 시스템은 한 번에 하나의 프로그램만 실행합니다. 또 다른 프로그램을 실행하려면, 먼저 실행 중이던 프로그램을 종료시키고 그 다음 프로그램을 실행해야 합니다.

단점

CPU 사용률이 좋지 않습니다. 프로세스가 CPU를 사용하는 작업을 처리하다가, IO 작업을 하게 되면 CPU는 그 때 마다 아무런 일을 하지 않는 상태로 대기합니다. 이 문제를 개선하기 위해 멀티 프로그래밍을 사용할 수 있습니다.

✔️ 멀티 프로그래밍 (Multi-Programming)

단일 프로세스 시스템과 달리 하나의 프로세스가 IO 작업을 하게 되어 대기하게 되면, 다른 프로세스가 실행되어 CPU가 아무 일도 하지 않는 시간을 줄입니다. 멀티 프로그래밍의 주된 목적은 CPU 사용률을 극대화 하는데 있습니다.

단점

하나의 프로세스가 작업 시 CPU 사용하는 작업을 하면 계속 점유하게 되어 다른 프로세스가 작업을 하지 못하고 대기하는 것 입니다. 이를 위한 해결책은 두개 이상의 프로세스가 CPU를 사용할 때, 아주 짧은 시간 동안(Quantum)만 번갈아 가며 실행될 수 있도록 하여 하나의 프로세스가 CPU를 독점하거나, 대기해야 하는 비효율을 개선할 수 있습니다. 이런 종류의 시스템을 멀티 태스킹(Multi-Tasking)이라고 합니다.

✔️ 멀티 태스킹 (Multi-Tasking)

동시에 여러 프로그램을 실행시킨다는 면에서 멀티 프로그래밍과 유사하지만, CPU 타임을 아주 짧게 쪼개서 CPU 타임 안에서 프로세스들이 서로 번갈아 가면서 실행될 수 있도록 했다는 점이 차이가 있습니다.

멀티 태스킹은 프로세스의 응답 시간을 최소화 시키는데 목적입니다. 응답 시간을 최소화 시킨다는 것은 사용자 입장에서 마치 정말 여러 프로그램이 동시에 실행되는 것 처럼 느껴지게 만듭니다. 아주 짧은 타임 슬라이스 안에서 여러 프로세스들이 교대로 실행이 되면서 즉각적인 응답을 보여줍니다.

멀티 태스킹의 핵심은 타임 슬롯을 아주 짧게 쪼개서 프로세스들이 번갈아 가며 실행을 하게 됨으로써 어떤 프로그램을 실행시키거나 어떤 동작을 했을 때 즉각적인 반응을 받을 수 있도록 하여 동시에 여러 프로그램이 실행되는 것과 같은 느낌을 주는 것 입니다.

Loading comments...