다중작업: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
잔글편집 요약 없음
잔글편집 요약 없음
1번째 줄:
[[전산|전산학]] 분야에서 '''멀티태스킹'''({{llang|en|multitasking}}) 또는 '''다중작업'''(이하 멀티태스킹)은 다수의 작업(혹은 [[프로세스]])가 [[중앙 처리 장치]](이하 CPU)와 같은 공용 자원을 나누어 사용하는 것을 말한다. 엄밀히 말해 한 개의 CPU를 가진 [[개인용 컴퓨터]]는 특정 순간에 수행되는 작업<ref>작업(task): 컴퓨터로 처리되는 일의 최소 단위</ref>의 갯수가 하나뿐이다. 멀티태스킹은 [[스케줄링]]이라는 방식을 사용하여 [[개인용 컴퓨터|컴퓨터]] 사용자에게 [[병렬 컴퓨팅|병렬 연산]]이 이루어진 것과 같은 환경을 제공한다. 스케줄링 방식은 CPU의 시간을 일정한 기준에 따라 나누어 각 작업이 사용할 수 있도록 분배한다. 분배 받은 시간 동안 작업이 CPU를 사용할 때 다른 작업들은 자신의 차례가 오기를 기다린다. 분배 받은 시간이 종료되어 작업이 사용하던 CPU를 다른 작업이 사용할 수 있도록 재배정하는 것을 [[문맥교환]]이라 하는데 스케줄링에서 이 문맥교환이 충분히 자주 발생하게 되면 컴퓨터 사용자는 [[병렬 컴퓨팅|병렬 연산]]이 이루어진 것처럼 느끼게 된다.
 
멀티태스킹은 다수의 CPU를 내장한 컴퓨터(즉, [[멀티프로세서]])에서도 유효한데., 멀티태스킹을 사용하게 되면 탑재한 CPU의 숫자보다 많은 수의 작업을 동시에 수행할 수 있게 된다.
 
[[운영체제]]는 아래의 일반적인 카테고리로 구분할 수 있는 다양한 방식의 스케줄링을 지원한다.
9번째 줄:
 
* [[시분할]]
:시스템에서 현재 실행되고 있는 작업은 스스로 혹은 [[하드웨어 인터럽트]] 따위의 외부적인 이유로 중앙처리장치의중앙 처리 장치의 점유를 포기해야 한다. 시분할 시스템은 다수의 프로그램이 거의 동시에 수행될 수 있도록 해준다. "시간을 분할한다"라는 표현은 단말에 위치한 사용자가 함께 공유할 수 있는 IBM사의 [[TSO]], [[CP/CMS]]와 같은 컴퓨터를 가리키기 위해 쓰였다.
 
* [[실시간 컴퓨팅|실시간 시스템]]