개념
: 하나의 CPU가 한번에 하나의 프로세스만 실행하는 것이 아니라 여러 프로세스를 번갈아 가면서 실행하도록 하는 것을 의미한다.
멀티 프로그래밍은
효율적인 자원 사용
에 초점을 맞춘 것이다.한 프로그램이 입출력 작업등으로
대기상태
일때 CPU는 다른 프로그램을 실행해서 자원을 낭비하지 않도록 한다.
프로세서(Processor)
는CPU
이다.
개념
: 보통 하나의 프로세서(CPU)가 하나의 작업을 맡지만 멀티 프로세싱은 다수의 프로세서(Processor)가 다수의 작업을 함께 처리하는 것이다.
빠르게
처리 할 수 있다.신뢰성
과 가용성
: 하나의 프로세서가 고장나도 다른 프로세서에서 수행하고 있기 때문에 작업이 정지되지 않는다.비용의 절감
: 여러 개의 프로세스가 처리되어야 할 때 동일한 데이터를 사용한다면 각 데이터를 각 프로세서에게 할당할 필요 없이 하나의 공간에 데이터를 저장한 후 이를 공유하여 사용하도록 한다면 비용적으로 절감할 수 있다.확정성
이 좋다.개념
: 멀티 태스킹은 다수의 작업을 운영체제의 스케줄링에 의해 번갈아 가며 수행되도록 해주는 것을 의미한다.
다수의 작업을 스케줄링하여 우리가 느끼지 못하는 시간마다 작업을 번갈아가며 수행하여 우리 눈에
동시에 수행되는 것
처럼 보이게 해준다.
멀티 프로그래밍 방식
시분할 방식(Time-sharing)
: CPU의 전체 사용 시간을 작은 작업 시간량으로 분할하여 그 시간량 동안 작업에게 번갈아가며 CPU를 할당해 주는 방식
실시간 시스템 방식(Real-time)