Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Единица выполнения или работы в программном обеспечении
Unit of execution or work in software
В вычислительной технике задача — это единица выполнения или единица работы. Термин неоднозначен; более точные альтернативные термины включают процесс, легковесный процесс, поток (для выполнения), шаг, запрос или запрос (для работы). На прилегающей диаграмме показаны очереди входящей работы, выполняемой работы и исходящей завершенной работы, а также пул потоков для выполнения этой работы. Как сами единицы работы, так и потоки, выполняющие работу, могут называться «задачами», и их можно соответственно называть запросами/ответами/потоками, входящими задачами/завершенными задачами/потоками (как показано на рисунке) или запросами/ответами/задачами.
In computing, a task is a unit of execution or a unit of work. The term is ambiguous; precise alternative terms include process, light weight process, thread (for execution), step, request, or query (for work). In the adjacent diagram, there are queues of incoming work to do and outgoing completed work, and a thread pool of threads to perform this work. Either the work units themselves or the threads that perform the work can be referred to as "tasks", and these can be referred to respectively as requests/responses/threads, incoming tasks/completed tasks/threads (as illustrated), or requests/responses/tasks.
Терминология
В смысле "единица выполнения" в некоторых операционных системах задача является синонимом процесса, а в других – потока. В неинтерактивном режиме (пакетной обработке) задача представляет собой единицу выполнения в рамках задания, при этом сама задача обычно является процессом. Термин "многозадачность" в основном относится к одновременному выполнению нескольких задач, но также подразумевает одновременное выполнение нескольких работ. В смысле "единица работы" в задании (имеющем значение "единичная работа") задача может соответствовать отдельному шагу (самому шагу, а не его выполнению), в то время как в пакетной обработке отдельные задачи могут соответствовать отдельному шагу обработки одного элемента в пакете или отдельному шагу обработки всех элементов в пакете. В онлайн-системах задачи чаще всего соответствуют отдельному запросу (в архитектурах запрос-ответ) или запросу (в информационном поиске), представляя собой либо отдельный этап обработки, либо обработку всей системы в целом.
In the sense of "unit of execution", in some operating systems, a task is synonymous with a process, and in others with a thread. In non interactive execution (batch processing), a task is a unit of execution within a job, with the task itself typically a process. The term "multitasking" primarily refers to the processing sense – multiple tasks executing at the same time – but has nuances of the work sense of multiple tasks being performed at the same time. In the sense of "unit of work", in a job (meaning "one off piece of work") a task can correspond to a single step (the step itself, not the execution thereof), while in batch processing individual tasks can correspond to a single step of processing a single item in a batch, or to a single step of processing all items in the batch. In online systems, tasks most commonly correspond to a single request (in request–response architectures) or a query (in information retrieval), either a single stage of handling, or the whole system wide handling.
Ядро Linux
Термин "задача" используется в ядре Linux (как минимум, начиная с версии 2.6.13 и до версии 4.8 включительно) для обозначения единицы выполнения, которая может совместно использовать различные системные ресурсы с другими задачами в системе. В зависимости от степени совместного использования ресурсов, задача может рассматриваться как обычная нить или процесс. Задачи создаются с помощью системного вызова `clone`, где пользователь может указать желаемую степень совместного использования ресурсов.
The term task is used in the Linux kernel (at least since v2.6.13, up to and including v4.8) to refer to a unit of execution, which may share various system resources with other tasks on the system. Depending on the level of sharing, the task may be regarded as a conventional thread or process. Tasks are brought into existence using the clone system call, where a user can specify the desired level of resource sharing.