Объекты задач
Объекты задач
Процессы можно объединять в объекты задач (job objects), что позволяет управлять процессами как группой, устанавливать лимиты ресурсов для всех процессов, входящих в объект задачи, и вести учетную информацию. Объекты задач были впервые введены в Windows 2000 и теперь поддерживаются во всех системах NT5.
Первым шагом является создание пустого объекта задачи с помощью функции CreateObject, которая принимает два аргумента, имя и атрибуты защиты, и возвращает дескриптор объекта задачи. Существует также функция OpenJobObject, которую можно применять к именованным объектам задач. Для уничтожения объектов используется функция CloseHandle.
Функция AssignProcessToJobObject просто добавляет процесс с указанным дескриптором в объект задачи; она принимает только два параметра. Процесс может принадлежать только одной задаче, поэтому в тех случаях, когда процесс, связанный с указанным дескриптором, уже является элементом какого-либо задания, функция AssignProcessToJobObject завершается с ошибкой. Добавляемый в задачу процесс наследует значения всех ограничений, связанных с задачей, и добавляет в задачу свою учетную информацию, например использованное процессорное время.
По умолчанию новый дочерний процесс, созданный функцией CreateProcess, также принадлежит задаче, если только в аргументе dwCreationFlags при вызове функции CreateProcess не был задан флаг CREATE_BREAKWAY_FROM_JOB. В предусмотренном по умолчанию случае попытки назначения дочернего процесса задаче при помощи функции AssignProcessToJobObject приводят к ее сбойному завершению.
Наконец, для установления управляющих лимитов процессов, входящих в задачу, используется функция SetInformationJobObject.
BOOL SetInformationJobObject(HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength)
• hJob — дескриптор существующего объекта задачи.
• JobObjectInformationClass — указывает информационный класс устанавливаемых ограничений. Всего существует пять возможных значений; одним из них является значение JobObjectBasicLimitInformation, используемое для указания такой информации, как ограничения общего времени и времени, приходящегося на один процесс, ограничения размеров рабочего набора (working set)[26], ограничения на количество активных процессов, приоритет и родство процессоров (в SMP-системах родственными называются процессоры, которые могут использоваться потоками в процессах задач).
• lpJobObjectInformation — указывает на фактическую информацию, необходимую для предыдущего параметра. Для каждого информационного класса существует своя структура.
• JOBOBJECT_BASIC_ACCOUNTING_INFORMATION — позволяет получить суммарные временные характеристики (пользовательское, системное и истекшее время) процессов, входящих в задачу.
• Значением последнего параметра является размер предыдущей структуры.
Функция QueryJobInformationObject позволяет получить значения текущих ограничений. Другие информационные классы устанавливают ограничения в отношении пользовательского интерфейса, портов завершения ввода/вывода (см. главу 14), атрибутов защиты, а также завершения задачи.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Отслеживание задач
Отслеживание задач Сейчас я использую Pivotal Tracker. Эта система проста и элегантна, она хорошо интегрируется с гибкими/итеративными методологиями и позволяет всем заинтересованным сторонам и разработчикам быстро общаться друг с другом. Я очень доволен ей.В очень мелких
Объекты OS/400 и системные объекты MI
Объекты OS/400 и системные объекты MI Несколько типов объектов имеются и в OS/400, и в MI. Типы объектов OS/400 перечислены в таблице 5.1. Для сравнения, в таблице 5.2 приведены системные объекты MI. Помните, что в каждой новой версии AS/400 добавляются новые функции и даже новые объекты.
Вид Панели задач
Вид Панели задач Настроить вид Панели задач можно на одноименной вкладке окна Свойства панели задач и меню «Пуск» (рис. 2.17). Чтобы открыть его, щелкните правой кнопкой мыши на свободном участке Панели задач и выполните команду Свойства. Настройки, отвечающие за вид Панели
3.5. Планирование задач
3.5. Планирование задач Очень часто возникает необходимость выполнить какую-либо операцию в определенное время. Раньше я надеялся на свою память и вручную выполнял команды. Но когда несколько раз произошла осечка — просто был слишком занят, чтобы обратить внимание на
3.5.2. Планировщик задач
3.5.2. Планировщик задач Команда at достаточно проста и удобна, но ее задания выполняются однократно, а многие задачи администратора (то же резервное копирование) требуют многократного запуска. Допустим, что вы запланировали резервное копирование ежедневно в 10 часов вечера.
8.1. Панель задач
8.1. Панель задач Панель задач – область экрана в виде полоски, которая может занимать любое из крайних положений вдоль экрана и используется для отображения значков программ, запущенных в данный момент. Кроме того, на ней могут располагаться панели инструментов для
Панель задач
Панель задач Вы ведь еще не забыли, что Панель задач – это полоска, которая располагается внизу под Рабочим столом? Отлично.На этой панели есть много полезных элементов. Перечислим их слева направо:• кнопка Пуск для вызова одноименного меню, которое содержит все
Панель задач
Панель задач Установим Часы на Панели задач. Переместив указатель мыши вниз экрана, на Панель задач, щелкаем на ней правой кнопкой мыши и выбираем в контекстном меню пункт Свойства. Оказываемся в окне Свойства панели задач и меню «Пуск» (рис. 3.1). Рис. 3.1. Свойства Панели
Планирование задач
Планирование задач Возможности программы Microsoft Outlook 2007 предусматривают ввод, редактирование и хранение информации о любых стоящих перед вами задачах (делах, действиях и т. д.). Они могут быть связаны как с выполнением служебных обязанностей (например, «Провести
Объекты DataSet с множеством таблиц и объекты DataRelation
Объекты DataSet с множеством таблиц и объекты DataRelation До этого момента во всех примерах данной главы объекты DataSet содержали по одному объекту DataTable. Однако вся мощь несвязного уровня ADO.NET проявляется тогда, когда DataSet содержит множество объектов DataTable. В этом случае вы можете
Диспетчер задач
Диспетчер задач Но мы с вами не расстаемся с программами, написанными Кристианом Форсбергом. На его сайте можно найти еще одну полезную программу, необходимую как разработчику, так и пользователю. Это Диспетчер задач (Task Manager). Программа подобного рода тоже отсутствует в
Панель задач
Панель задач Очень часто программисты в качестве шутки создают программы, которые прячут привычные для пользователя элементы интерфейса. В предыдущем примере было показано, как можно скрыть кнопку Start. Теперь нужно рассмотреть пример работы с панелью задач.Для создания
Автоматизация задач
Автоматизация задач Большое количество различных операций, выполняемых на компьютере, можно автоматизировать. Обычной функцией программ стало завершение текущей операции с последующим выключением компьютера. Сегодня существует класс подобных утилит и с расширенными
3.4. Панель задач
3.4. Панель задач Панель задач отображает открытые окна и позволяет переключаться между ними. Сейчас мы поговорим о настройке панели задач, чтобы сделать это самое переключение максимально комфортным. Щелкните правой кнопкой мыши на панели задач и выберите команду
Панель задач
Панель задач Как и в более ранних версиях, в Windows Vista имеется возможность настройки Панели задач.Перейдите на вкладку Панель задач (рис. 7.22). Рис. 7.22. Настройка Панели задачЗдесь есть возможность активировать следующие параметры.• Закрепить панель задач. Иногда в
Панель задач
Панель задач Панель задач по умолчанию располагается в нижней части экрана (см. рис. 10.1).Условно ее можно разделить на три части (слева направо):• кнопка меню Пуск;• панель быстрого запуска;• область уведомлений.Когда вы запускаете какую-либо программу, в центральной