|
다중작업
위키백과 ― 우리 모두의 백과사전.
다중작업 또는 멀티태스킹(multitasking)은 컴퓨터 환경에서 프로세스로 알려진 여러 가지 일들이
CPU와 같은 공통 처리 리소스를 함께 사용하는 것을 말한다.
하나의 CPU를 가진 컴퓨터의 경우 하나의 작업만이 어느 시점에서 실행 중이라면 CPU는
그 작업을 위한 명령어를 활발하게 실행하고 있음을 말한다.
다중작업은 스케줄링이라는 방식을 사용하여 이러한 문제를 해결한다.
한 작업에서 다른 작업으로 CPU를 다시 할당하는 행위는 문맥 교환이라고 부른다.
문맥 교환이 충분히 일어나면 병렬화가 수행된다. 하나 이상의 CPU를 가진
컴퓨터(이를 멀티프로세서를 갖춘 컴퓨터로 부름)에서도 다중작업은 기존에
갖고 있던 수의 CPU보다 더 많은 일을 허용한다.
운영 체제는 각기 다른 수많은 스케줄링 전략을 채용하며 그 분류는 다음과 같다:
- 멀티프로그래밍 시스템: 실행 중인 작업은 외부 이벤트를 기다리는 것을
- 요구하는 작업(이를테면 테이프에서 읽는 작업)을 수행할 때까지,
- 아니면 컴퓨터의 스케줄러가 실행 중인 작업을 CPU 밖으로 강제적으로 스왑 처리할 때까지
- 실행을 지속한다.
- 멀티프로그래밍 시스템은 CPU 사용률을 극대화하도록 설계되어 있다.
- 시분할 시스템: 실행 중인 작업은 CPU를 포기할 것을 요구 받는다. 자발적으로 할 수도 있고
- 하드웨어 인터럽트와 같은 외부 이벤트를 통해서 이 일을 처리할 수 있다.
- 시분할 시스템은 여러 개의 프로그램들을 명백하게 동시에 실행할 수 있도록 설계된다.
- 시분할이라는 표현은 일반적으로 IBM의 TSO, VM/CMS와 같은 터미널에서 상호작용하는
- 사용자들이 공유하는 컴퓨터를 가리키는 데 쓰인다.
- 실시간 시스템: 실시간 시스템은 때에 맞추어 처리가 필요한 산업 로봇과 같은
- 기계 장치를 제어하는 데 사용된다.
시분할이라는 용어는 더 이상 흔히 쓰이지 않으며 개인용 컴퓨터와 워크스테이션의
출현으로 단순히 다중작업이라는 용어로 대체되었다.
첫댓글 조만간 아나님 집에 가서 막걸리 마실까 합니다.가게 되면 연락 드리겠습니다.