태스크

작업 단위의 실행 단위

컴퓨팅에서 태스크(task)는 작업 단위의 실행 단위이다. 이 용어는 모호한데, 정확히 사용할 수 있는, 대안이 되는 용어로는 프로세스, 경량 프로세스, 스레드(실행을 위해), 스텝, 요청, 쿼리(작업을 위해)가 있다. 다이어그램에 따르면 들어오는 작업(할 작업)과 나가는 작업(완료된 작업)의 , 그리고 이 작업을 수행하기 위한 스레드들의 스레드 풀이 있다. 작업 단위 그 자체나 해당 작업을 수행하는 스레드를 "태스크"라고 부를 수 있으며 이것들은 각각 요청/응답/스레드, 들어오는 태스크/완료된 태스크/스레드(그림에 따라) 또는 요청/응답/태스크로 부를 수 있다.

태스크를 작업 단위로 이해할 경우: 대기 중인 태스크(파란색)와 완료된 태스크(노란색)의 태스크 큐가 있는 샘플 스레드 풀(녹색 상자).

용어 편집

실행 단위의 문맥에서 일부 운영 체제와 스레드가 있는 다른 운영 체제들에서 태스크는 프로세스와 동의어이다. 상호작용을 하지 않는 실행(일괄 처리)에서 태스크는 의 실행 단위이며,[1][2] 여기서 태스크 그 자체는 일반적으로 프로세스이다. 멀티태스킹이라는 용어는 여러 개의 태스크를 동시에 "실행"한다는 면에서 주로 '처리'를 의미한다.

역사 편집

'태스크'라는 용어는 잡(job)의 일부를 위해 1960년대 초 멀티프로그래밍으로 거슬러 올라간다.

이 용어는 MFT(Multiprogramming with a Fixed number of Tasks)와 MVT(Multiprogramming with a Variable number of Tasks)를 제공했던 OS/360(1964년 발표)의 도입과 함께 보급되었다.

오늘날 '태스크'라는 용어는 매우 모호하게 사용된다. 이를테면 윈도우 작업 관리자는 (실행 중인) 프로세스를 관리하는 반면 윈도우 작업 스케줄러는 오늘날 잡 스케줄러로 알려진 앞으로의 프로그램을 스케줄링하며 .job 확장자를 사용한다. 이와 대조적으로 태스크 큐라는 용어는 "작업의 단위" 문맥에서 일반적으로 사용된다.

같이 보기 편집

각주 편집

  1. “What is task? - Definition from WhatIs.com”. 《WhatIs.com》. 2015년 6월 11일에 확인함. 
  2. “What are computer processes?”. 《liutilities.com》. 2018년 10월 21일에 원본 문서에서 보존된 문서. 2015년 6월 11일에 확인함.