반응형

Multi Programming, Multi Processing, Multi Threading 차이


멀티 프로그래밍은 단일 프로세서 상에서 여러 프로세스가 동시에 실행 되는 것을 의미한다. 즉, 단일 프로세서에서 하나의 프로세스가 I/O를 하게 되면 입출력에 대한 응답을 무한정 기다리게 되는데 이렇게 대기하는 동안 프로세서가 다른 프로세스를 진행 할 수 있도록 하는 것이다.



멀티 프로세싱은 여러 프로세서 상에서 여러 프로세스가 동시에 실행 되는 것을 의미한다.



멀티 스레딩은 하나의 프로세스에서 여러 스레드가 동시에 실행 되는 것을 의미한다.


멀티 태스킹은 스케줄러 알고리즘에 따라 조금씩 번갈아 가면서 프로세스가 수행되는 것이다. 이때 멀티 프로그래밍과 다른점은 멀티 프로그래밍은 하나의 프로세스가 I/O가 당하기 전까지는 끝까지 실행 되지만 멀티 태스킹은 실행되는 도중에 특정 시간 이상 CPU를 점유하게 되면 그다음 프로세스에게 프로세서 자원을 넘겨주는 방식이다.










반응형