stringtranslate.com

Работа (вычислительная техника)

В вычислительной технике задание это единица работы или единица выполнения (которая выполняет указанную работу). Компонент задания (как единицы работы) называется задачей или шагом ( если он последовательный, как в потоке заданий ). Как единица выполнения задание может быть конкретно идентифицировано с одним процессом , который в свою очередь может иметь подпроцессы ( дочерние процессы ; процесс, соответствующий заданию, является родительским процессом ), которые выполняют задачи или шаги, составляющие работу задания; или с группой процессов ; или с абстрактной ссылкой на процесс или группу процессов, как в управлении заданиями Unix .

Задания могут запускаться интерактивно, например, из командной строки , или планироваться для неинтерактивного выполнения планировщиком заданий , а затем управляться с помощью автоматического или ручного управления заданиями . Задания, имеющие конечный ввод, могут завершаться успешно или безуспешно, или не завершаться и в конечном итоге прекращаться. Напротив, онлайн-обработка, например, серверами, имеет открытый ввод (они обслуживают запросы, пока они выполняются), и, таким образом, никогда не завершается, останавливаясь только при завершении (иногда называемом «отменой»): работа сервера никогда не выполняется.

История

Термин «job» имеет традиционное значение «часть работы», от среднеанглийского «jobbe of work», и используется как таковой в производстве, во фразе « job production », что означает «изготовление по индивидуальному заказу», где он противопоставляется серийному производству (много элементов одновременно, один шаг за раз) и потоковому производству (много элементов одновременно, все шаги одновременно, по элементу). Обратите внимание, что эти различия стали размытыми в вычислительной технике, где встречается оксюморонический термин « batch job », который используется либо для одноразовой работы, либо для раунда « batch processing » (один и тот же шаг обработки применяется ко многим элементам одновременно, изначально перфокарты ).

В этом смысле «job» программируемый компьютер выполняет «jobs», поскольку каждая из них может отличаться от предыдущей. Термин «job» также распространен в исследовании операций , предшествовав его использованию в вычислениях, в таких применениях, как планирование работы в цехе (см., например, Baker & Dzielinski (1960) и ссылки на них с 1950-х годов, включая несколько « System Research Department Reports » из IBM Research Center). Эта аналогия применяется к компьютерным системам, где системные ресурсы аналогичны машинам в цехе , а цель планирования — минимизировать общее время от начала до конца ( makerspan ). Термин «job» для вычислительной работы датируется серединой 1950-х годов, как в этом использовании с 1955 года:

«Затем пишется программа для отдельной задачи, вызывая эти подпрограммы по имени там, где это необходимо, что позволяет избежать их переписывания для решения отдельных задач» [1] .

Термин продолжал использоваться время от времени, например, для IBM 709 (1958), и в более широком использовании к началу 1960-х годов, например, для IBM 7090 , с широким использованием из Job Control Language of OS/360 (анонсирован в 1964). Стандартное раннее использование «job» — для компиляции программы из исходного кода, так как это одноразовая задача. Скомпилированная программа затем может быть запущена на пакетах данных.

Смотрите также

Дальнейшее чтение

Ссылки

  1. ^ Armour Research Foundation , ред. (1955). (Неизвестное название) . Computer Applications. Том 2. Macmillan. стр. 68.