한 번에 하나의 프로그램만 실행된다.
또 다른 프로그램을 실행하려면 먼저 실행하고 있던 프로그램을 끝내고 그 다음 프로그램을 실행해야 한다.
실행 중에 있는 프로세스가 I/O 작업을 하는 동안에는 CPU가 아무것도 안하고 쉬기 때문에 CPU 사용률이 좋지 않다.
IO 작업이 발생하면 다른 프로세스가 CPU에서 실행되도록
여러 개의 프로그램을 메모리에 올려놓고 동시에 실행시킨다. = 멀티 프로그래밍
IO 작업이 발생하면 다른 프로세스가 CPU에서 실행되도록
여러 개의 프로그램을 메모리에 올려놓고 동시에 실행시킨다.
CPU 사용률을 극대화 시킨다.
CPU 사용시간이 길어지면 다른 프로세스는 계속 대기해야한다.
프로세스는 한 번 CPU를 사용할 때 아주 짧은 시간만 CPU에서 실행되도록 한다. = 멀티태스킹
프로세스는 한 번 CPU를 사용할 때 아주 짧은 시간만 CPU에서 실행되도록 한다.
프로세스의 응답 시간을 최소화 시키는데 목적이 있다.
일반 사용자가 느끼기에는 마치 여러 프로그램이 동시에 실행되고 있다고 느낀다.
💡 컨텍스트 스위칭
CPU에서 실행되기 위해 한 프로세스에서 다른 프로세스로 교체되는 것
멀티 스레딩 : 하나의 프로세스가 동시에 여러 작업을 실행한다.
스레드가 등장하면서 멀티 태스킹의 개념이 확장되었다.
여러 프로세스와 여러 스레드가 아주 짧게 쪼개진 CPU time을 나눠 갖는다.
두 개 이상의 프로세서나 코어를 활용하는 시스템