티스토리 뷰

반응형

멀티 태스킹, 멀티 프로그래밍, 멀티 프로세싱은 컴퓨터 시스템의 성능과 효율성을 향상시키는 데 중요한 역할을 한다. 여러 작업을 동시에 처리할 수 있고, 자원을 효율적으로 활용할 수 있어 작업을 빠르게 처리할 수 있다.

 

하지만, 이 3가지 개념이 너무나 헷갈리기에 정리하는 글을 써본다.


멀티 태스킹(Multi Tasking)

멀티 태스킹은 하나의 CPU에서 여러 작업(Task)을 동시에 실행되는 것을 의미한다. 

 

지금은 아니지만 옛날에는 컴퓨터에 CPU가 1개 있었고, CPU 안에는 연산하는 시스템이 1개여서 특정 시간에 특정 작업 1개만 실행시킬 수 있었다. 만약 프로그램1을 실행시키면 프로그램1의 작업이 종료될 때까지 프로그램2는 실행시키지 못하고 계속 대기해야하는 것이다. 이 점을 보완하고자 하는 방법이 멀티 태스킹이다. 

 

멀티 태스킹은 10~20ms(0.01~0.02초) 단위로 시간을 매우 잘게 쪼개 프로그램들을 번갈아가며 실행하게 한다. 매우 짧은 시간에 여러 프로그램들이 번갈아 실행되면, 사람의 눈으로는 인지하지 못하지만 동시에 프로그램들이 실행되게끔 보일 수 있다. (실제로는 동시에 실행되는 것이 아니라 프로그램들이 번갈아가며 실행되는 것이다)

 

멀티 태스킹을 사용하면 사람들은 유튜브를 보면서 구글링, 문서 작성 등을 동시에 처리할 수 있다. 멀티 태스킹은 사용자의 생산성을 향상시키고, 작업 간의 전환 속도를 빠르게 해주는 장점이 있다. 

 

멀티 태스킹 요약 : 단일 CPU에서 여러 프로그램들이 동시에 실행 가능하도록 한다.

멀티 프로그래밍(Multi Programming)

멀티 프로그래밍은 CPU의 활용도를 최대화해서 여러 프로그램이 동시에 실행되는 것을 의미한다.

 

사용자는 프로그램1과 프로그램2를 동시에 실행시키고 싶다. 그런데 프로그램1이 데이터를 읽고 처리할 때까지 프로그램2는 실행되지 못하고 계속 기다려야하면 매우 비효율적일 것이다. 이 상황을 효율적이도록 고쳐보자.

 

 프로그램1이 데이터를 읽느라 CPU가 잠시 멈춰 있는 시간동안 프로그램2를 CPU가 처리하도록 해보자. CPU 사용이 멈춰 있는 시간을 활용해 프로그램2를 처리할 수 있으니, CPU는 비어있는 시간 없이 사용 가능할 것이다. 그 이후, 프로그램1이 데이터 읽는 작업을 마치면 프로그램2는 작업을 멈추고, 프로그램1의 작업을 이어서 수행한다. 프로그램1의 작업이 최종적으로 모두 끝나면 다시 프로그램2를 실행시킨다. 

 

이렇게 하면 CPU가 비어있는 시간 없이 100% 활용할 수 있기 때문에 효율적으로 여러개의 프로그램을 실행시킬 수 있을 것이다. 

 

멀티 프로그래밍은 하나의 프로그래밍이 다른 작업을 수행하는 동안에도 CPU는 다른 프로그램을 실행하여, CPU의 활용도를 최대화하고 프로그램들의 실행 시간을 겹쳐서 단축시킬 수 있다.

 

멀티 프로그래밍 요약 : 최대한 CPU를 일정 시간당 많이 활용하도록 한다.

멀티 프로세싱(Multi Processing)

멀티 프로세싱은 여러개의 CPU가 동시에 사용되어 하나의 프로그램을 병렬로 처리하는 것을 의미한다. 

 

옛날에는 컴퓨터에 CPU가 1개가 있었지만, 지금은 컴퓨터 성능이 좋아지면서 CPU 여러개가 들어있다. 멀티 프로세싱은 CPU 여러개를 좀더 효율적이고 빠르게 사용하기 위한 방법이다.

 

사용자는 프로그램1을 실행시키고 싶다. 이때 프로그램1의 작업을 여러개로 쪼개서 여러개의 CPU에 각각 넣으면, CPU들은 동시에 프로그램1의 작업을 처리할 것이다. 이렇게 하나의 프로그램을 여러개로 쪼개서 동시에 실행시키면 더욱 빠르게 실행이 가능하다.

 

멀티 프로세싱은 여러개의 CPU가 동시에 사용되어 작업을 처리하기 때문에 전체적인 작업 처리 속도가 향상된다. 멀티 프로세싱은 대규모의 작업을 빠르게 처리하거나 하나의 작업을 여러개로 분할하여 병렬로 처리할 수 있다. 때문에 작업 처리 시간을 단축시키기고 대용량 데이터를 처리하는데 유용하다.

 

멀티 프로세싱 요약 : 여러 CPU에서 하나의 응용 프로그램을 병렬로 실행해서, 실행속도를 높이도록 한다.

 

반응형
댓글
공지사항