RU2419840C2 - Запуск приложений с задержкой - Google Patents

Запуск приложений с задержкой Download PDF

Info

Publication number
RU2419840C2
RU2419840C2 RU2008121719/08A RU2008121719A RU2419840C2 RU 2419840 C2 RU2419840 C2 RU 2419840C2 RU 2008121719/08 A RU2008121719/08 A RU 2008121719/08A RU 2008121719 A RU2008121719 A RU 2008121719A RU 2419840 C2 RU2419840 C2 RU 2419840C2
Authority
RU
Russia
Prior art keywords
container object
priorities
computer
processes
priority
Prior art date
Application number
RU2008121719/08A
Other languages
English (en)
Other versions
RU2008121719A (ru
Inventor
Сенк ЭРГАН (US)
Сенк ЭРГАН
Дан ЛИ (US)
Дан ЛИ
Майкл Р. ФОРТИН (US)
Майкл Р. ФОРТИН
Робин ГИЗЕ (US)
Робин ГИЗЕ
Роберт Л. РАЙНАУЭР (US)
Роберт Л. РАЙНАУЭР
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2008121719A publication Critical patent/RU2008121719A/ru
Application granted granted Critical
Publication of RU2419840C2 publication Critical patent/RU2419840C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

Изобретение относится к области вычислительной техники и управления приоритетами системы. Техническим результатом является улучшение быстродействия системы. Задержка запуска некоторых приложений может иметь результатом улучшение общего быстродействия системы. Приложения, которые должны задерживаться, могут помещаться в контейнерный объект или упаковку так, чтобы они могли прослеживаться, и чтобы другие приложения, зависимые от задержанных приложений, могли обрабатываться надлежащим образом. 3 н. и 17 з.п. ф-лы, 3 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Компьютерные операционные системы предлагают многочисленные способы регистрации приложений, которые должны запускаться, когда включается питание компьютера или когда выполняется вход пользователей в систему. Эти приложения, активизируемые при запуске системы, могут быть главной причиной проблем быстродействия при начальной загрузке (включении питания) и во время входа в систему. Во время установки программные приложения часто сами регистрируются в качестве приложений, активизируемых при запуске системы, без принятия во внимание, необходимо ли это пользователю. Пользователи часто озадачиваются и не знают, как отключить эту необязательную возможность, конечным результатом является большое количество приложений, активизируемых при запуске системы, на машинах среднего пользователя, которые отнимают длительное время на инициализацию. Во время этой инициализации они потребляют системные ресурсы на машине, даже если большинство из них необязательны и нежелательны пользователю немедленно и могут запускаться на более медленной скорости. Большое количество потребителей операционной системы Microsoft Windows должны ожидать длительное время, чтобы быть способными начать использование своего компьютера после входа в систему, вследствие этой проблемы. Конечно, есть приложения, активизируемые при запуске, которые необходимы и важны, такие как средство обмена мгновенными сообщениями, антивирус или приложения против шпионящего программного обеспечения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Задержка при запуске некоторых приложений может иметь результатом улучшение воспринимаемого быстродействия системы. Это может достигаться задержкой момента времени, в который эти процессы запускаются, и/или снижением приоритетов этих процессов в отношении различных системных ресурсов, таких как ресурсы процессора, I/O (ввода/вывода) или памяти. Это предоставляет этим ресурсам возможность быть быстрее доступными пользователю для каких бы то ни было целей, которые пользователь желает предпочтительнее, чем обязывающими ожидать, чтобы приложения, активизируемые при запуске, завершили инициализацию. В дополнение, может быть раскрыт пользовательский интерфейс для предоставления пользователю возможности устанавливать приоритеты запуска.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - структурная схема вычислительной системы, которая может работать в соответствии с формулой изобретения;
фиг.2 может быть высокоуровневой иллюстрацией способа в соответствии с формулой изобретения и
фиг.3 может иллюстрировать другой вариант осуществления способа в соответствии с формулой изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Хотя последующий текст излагает подробное описание многочисленных разных вариантов осуществления изобретения, должно быть понятно, что правовой объем описания определен словами формулы изобретения, изложенной в конце этого патента. Подробное описание должно толковаться только как примерное и не описывает каждый возможный вариант осуществления, поскольку описание каждого возможного варианта осуществления будет непрактичным, если не невозможным. Многочисленные альтернативные варианты осуществления могли бы быть реализованы с использованием либо современной технологии, либо технологии, разработанной после даты подачи этого патента, которые по-прежнему подпадали бы под объем формулы изобретения.
Также должно быть понятно, что если термин не определен в этом патенте явным образом с использованием предложения «В качестве используемого в материалах настоящей заявки, термин '______' определен настоящим, чтобы обозначать …», или подобного предложения, нет никакого намерения ограничивать значение этого термина, в прямой форме или скрытым смыслом, вне его плоскости или нормального значения, и такой термин не должен интерпретироваться ограниченным по объему на основании любой формулировки, приведенной в любом разделе этого патента (иной, чем язык формулы изобретения). В пределах того, что любой термин, изложенный в формуле изобретения в конце этого патента, указывается ссылкой в этом патенте некоторым образом, совместимым с взятым в отдельности значением, то есть приведен только в целях ясности, с тем чтобы не путать читателя, и не подразумевается, что такой термин формулы изобретения ограничивается, скрытым смыслом или иным образом, таким взятым в отдельности значением. В конечном счете, если элемент формулы изобретения не определен изложением слова «средство» и функцией без подробного изложения какой бы то ни было конструкции, не подразумевается, что объем любого элемента формулы изобретения должен толковаться на основании применения § 112 Раздела 35 Кодекса законов США, шестого параграфа.
Фиг.1 иллюстрирует пример пригодной среды 100 вычислительной системы, в которой может быть реализована система для этапов заявленного способа и устройства. Среда 100 вычислительной системы является только одним из примеров пригодной вычислительной среды и не имеет намерения внушить какое бы то ни было ограничение в отношении объема использования или функциональных возможностей способа и устройства по формуле изобретения. Вычислительная среда 100 также не должна интерпретироваться в качестве обладающей какой бы то ни было зависимостью или требованием, относящимися к любому одному или сочетанию компонентов, проиллюстрированных в примерной операционной среде 100.
Этапы заявленного способа и устройство работоспособны с многочисленными другими средами или конфигурациями вычислительных систем общего применения или специального назначения. Примеры широко известных вычислительных систем, сред и/или конфигураций, которые могут быть пригодными для использования со способами или устройством по формуле изобретения, включают в себя, но не в качестве ограничения, персональные компьютеры, серверные компьютеры, карманные или переносные устройства, многопроцессорные системы, основанные на микропроцессорах системы, телевизионные абонентские приставки, программируемую бытовую электронику, сетевые ПК (персональные компьютеры, PC), миникомпьютеры, универсальные вычислительные машины, распределенные вычислительные среды, которые включают в себя любые из вышеприведенных систем или устройств, и тому подобное.
Этапы заявленного способа и устройства могут быть описаны в общем контексте компьютерно-исполняемых инструкций, таких как программные модули, исполняемые компьютером. Как правило, программные модули включают в себя процедуры, программы, объекты, компоненты, структуры данных и т. п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Способы и устройство также могут быть осуществлены на практике в распределенных вычислительных средах, где задачи выполняются удаленными обрабатывающими устройствами, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены на запоминающих носителях как локального, так и удаленного компьютера, в том числе запоминающих устройствах памяти.
Со ссылкой на фиг.1, примерная система для реализации этапов заявленного способа и устройства включает в себя вычислительное устройство общего назначения в виде компьютера 110. Компоненты компьютера 110 могут включать в себя, но не в качестве ограничения, блок 120 обработки, системную память 130 и системную шину 121, которая присоединяет различные системные компоненты, в том числе системную память, к блоку 120 обработки. Системная шина 121 может быть любой из нескольких типов шинных структур, в том числе шиной памяти или контроллером памяти, периферийной шиной и локальной шиной, использующей любую из многообразия шинных архитектур. В качестве примера, а не ограничения, такие архитектуры включают в себя шину архитектуры промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), локальную шину ассоциации по стандартизации в области видеотехники (VESA) и шину межсоединения периферийных компонентов (PCI), также известную как шина расширения (Mezzanine).
Компьютер 110 типично включает в себя многообразие машиночитаемых носителей. Машиночитаемые носители могут быть любыми имеющимися в распоряжении носителями, к которым может осуществляться доступ компьютером 110, и включают в себя как энергозависимые и энергонезависимые носители, так и съемные и несъемные носители. В качестве примера, а не ограничения, машиночитаемые носители могут содержать компьютерные запоминающие носители и среду связи. Компьютерные запоминающие носители включают в себя как энергозависимые и энергонезависимые, так и съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такими как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные запоминающие носители включают в себя, но не в качестве ограничения, ОЗУ (оперативное запоминающее устройство, RAM), ПЗУ (постоянное запоминающее устройство, ROM), ЭСППЗУ (электрически стираемое и программируемое ПЗУ, EEPROM), флэш-память или другую технологию памяти, CD-ROM (ПЗУ на компакт-диске), многофункциональные цифровые диски (DVD) или другое оптическое дисковое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитное дисковое запоминающее устройство или другие магнитные запоминающие устройства, или любой другой носитель, который может использоваться для хранения требуемой информации и к которому может осуществляться доступ компьютером 110. Среда связи типично воплощает машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин «модулированный сигнал данных» означает сигнал, который обладает одной или более своих характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среда связи включают в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая, РЧ (радиочастотная, RF), инфракрасная и другая беспроводная среда. Сочетания любых из вышеприведенных также должны быть включены в объем машиночитаемых носителей.
Системная память 130 включает в себя компьютерные запоминающие носители в виде энергозависимой и/или энергонезависимой памяти, такой как постоянное запоминающее устройство 131 (ПЗУ) и оперативное запоминающее устройство 132 (ОЗУ). Базовая система 133 ввода/вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 110, к примеру, во время запуска, типично хранится в ПЗУ 131. ОЗУ 132 типично содержит данные и/или программные модули, которые доступны непосредственно для, и/или, над которыми в настоящий момент производятся действия блоком 120 обработки. В качестве примера, а не ограничения, фиг.1 иллюстрирует операционную систему 134, прикладные программы 135, другие программные модули 136 и данные 137 программ.
Компьютер 110 также может включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители. Только в качестве примера, фиг.1 иллюстрирует накопитель 140 на жестком диске, который осуществляет считывание с и запись на несъемный энергонезависимый магнитный носитель, накопитель 151 на магнитных дисках, который осуществляет чтение с и запись на съемный энергонезависимый магнитный диск 152, и накопитель 155 на оптических дисках, который осуществляет чтение с и запись на съемный энергонезависимый оптический диск 156, такой как CD-ROM или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные запоминающие носители, которые могут использоваться в примерной операционной среде, включают в себя, но не в качестве ограничения, кассеты магнитной ленты, карты флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, твердотельное ОЗУ, твердотельное ПЗУ и тому подобное. Накопитель 141 на жестком диске типично присоединен к системной шине 121 через интерфейс несъемной памяти, такой как интерфейс 140, а накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках типично присоединены к системной шине 121 посредством интерфейса съемной памяти, такого как интерфейс 150.
Накопители и их ассоциативно связанные компьютерные запоминающие носители, обсужденные выше и проиллюстрированные на фиг.1, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 110. На фиг.1, например, накопитель 141 на жестком диске проиллюстрирован в качестве хранящего операционную систему 144, прикладные программы 145, другие программные модули 146 и данные 147 программ. Отметим, что эти компоненты могут быть либо такими же как, либо отличными от операционной системы 134, прикладных программ 135, других программных модулей 136 и данных 137 программ. Операционная система 144, прикладные программы 145, другие программные модули 146 и данные 147 программ здесь снабжены другими номерами, чтобы проиллюстрировать, что они, как минимум, являются другими копиями. Пользователь может вводить команды и информацию в компьютер 20 через устройства ввода, такие как клавиатура 162 и координатно-указательное устройство 161, обычно указываемое ссылкой как мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер или тому подобное. Эти и другие устройства ввода часто присоединены к блоку 120 обработки через интерфейс 160 пользовательского ввода, который соединен с системной шиной, но могут присоединяться другими интерфейсными и шинными структурами, такими как параллельный порт, игровой порт или универсальная последовательная шина (USB). Монитор 191 или другой тип устройства отображения также присоединен к системной шине 121 через интерфейс, такой как видеоинтерфейс 190. В дополнение к монитору, компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые могут быть присоединены через периферийный интерфейс 190 вывода.
Компьютер 110 может работать в сетевой среде с использованием логических соединений с одним или более удаленных компьютеров, таких как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим узлом сети, и типично включает в себя многие или все из элементов, описанных выше относительно компьютера 110, хотя только запоминающее устройство 181 памяти было проиллюстрировано на фиг.1. Логические соединения, изображенные на фиг.1, включают в себя локальную сеть 171 (LAN) и глобальную сеть 173 (WAN), но также могут включать в себя другие сети. Такие сетевые среды являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет (локальных сетях, основанных на технологиях сети Интернет) и сети Интернет.
Когда используется в сетевой среде LAN, компьютер 110 присоединен к LAN 171 через сетевой интерфейс или адаптер 170. Когда используется в сетевой среде WAN, компьютер 110 типично включает в себя модем 172 или другое средство для установления связи через WAN 173, такую как сеть Интернет. Модем 172, который может быть внутренним или внешним, может быть присоединен к системной шине 121 через интерфейс 160 пользовательского ввода или другой подходящий механизм. В сетевой среде программные модули, изображенные относительно компьютера 110, или их части могут храниться в удаленном запоминающем устройстве памяти. В качестве примера, а не ограничения, фиг.1 иллюстрирует удаленные прикладные программы 185 в качестве постоянно находящихся в устройстве 181 памяти. Будет принято во внимание, что показанные сетевые соединения являются примерными, и может использоваться другое средство установления линии связи между компьютерами.
ЗАДЕРЖАННЫЙ ЗАПУСК ПРИЛОЖЕНИЙ
Было бы полезным предложить пользователям необязательные возможности для «удаления» приложений, активизируемых при запуске системы, из процесса запуска путем удаления их из различных мест регистрации, таких как ключи реестра «Run» («Выполнение») и т.п., но есть несколько проблем с этим признаком. Во-первых, приложения, активизируемые при запуске системы, часто контролируют эти места регистрации и добавляют сами себя обратно. Во-вторых, полным удалением приложений из последовательности запуска, некоторые функциональные возможности могут непреднамеренно нарушаться или пропадать.
Способ «задержки» приложений, активизируемых при запуске системы, предоставляющий пользователям возможность возвращать управление своим компьютером при входе в систему и не обязательно полностью удаляющий приложения, активизируемые при запуске системы, из запуска, является одним из решений и описан ниже. Влияние приложений, активизируемых при запуске системы, на систему пользователя может снижаться ограничением потребления ЦП, I/O и памяти этих процессов посредством снижения их соответственных приоритетов в отношении этих типов системных ресурсов. В то время как приложения, активизируемые при запуске системы, запускаются, способ может понижать приоритеты их ЦП, I/O и страниц и помещать их в некоторый объект отслеживания. Этот способ также упоминается ссылкой как «упаковывание». Через конфигурируемый период способ может возвращать их приоритеты к изначальным настройкам.
Фиг.2 может быть высокоуровневой иллюстрацией способа в соответствии с формулой изобретения. На этапе 200 пользователь может использовать пользовательский интерфейс для настройки определенного приложения, которое должно задерживаться. На этапе 205 способ может сохранять выбранное приложение, чтобы оно сохранялось в памяти. На этапе 210 может начинаться операционная система. На этапе 215 способ может запускать приложения, активизируемые при запуске системы. На этапе 220 способ может определять, было ли конкретное приложение сохранено на этапе 210 в качестве процесса, который должен задерживаться. Если определением является нет, на этапе 225 способ может запускаться в обычном режиме, и способ может заканчиваться. Если определением на этапе 220 является да, способ может приостанавливать процесс создания для конкретного приложения 230. На этапе 235 способ может добавлять конкретное приложение, которое должно задерживаться, в контейнерный объект задания. На этапе 240 способ может понижать приоритеты процессов для конкретного приложения, и способ может ограничивать рабочее множество. На этапе 245 таймер может стартовать, а на этапе 250 таймер может истекать. На этапе 255 приоритеты конкретного приложения могут восстанавливаться, и способ может отменять ограничение рабочего множества.
В одном из вариантов осуществления защищенный ключ в системном реестре содержит список исключений, который предоставляет упаковке возможность включаться или выключаться на основе прообраза пути. Например, все приложения, которые не перечислены в списке исключений, могут упаковываться или помещаться в контейнерный объект.
Операционной системе необходимо прослеживать исходные и производные процессы, являющиеся упакованными. Например, если приложение, активизируемое при запуске системы, является упакованным, и процесс данного приложения запускает дочерний процесс, такой дочерний процесс также должен быть упакован и также должен распаковываться, когда распаковывается родительский (исходный) процесс. В операционной системе Microsoft Windows объекты заданий могут использоваться для выполнения этой задачи.
Способ будет наиболее эффективным, если он может защищать от приложений, активизируемых при запуске системы, повторно поднимающих свои приоритеты до того, как они предполагаются распакованными, так как это могло бы значительно снижать выгоды способа. В операционной системе Microsoft Windows объекты заданий могут использоваться для наложения ограничений приоритета на процессы, таких, от которых процессы не могут избавляться, пока исходный создатель объекта задания (то есть упаковка, а потому операционная система) не принимает активное решение поднять ограничения, например, при распаковке данных приложений.
Способ может использовать системный реестр для сохранения настройки прообраза имени файла в отношении того, должен ли процесс (с помощью имени своего исполняемого образа файла) упаковываться, если он выполняется в качестве приложения, активизируемого при запуске системы. В системе Windows может требоваться выбирать специальное обслуживание для универсальных механизмов, подобных «rundll32.exe», которое может исполнять многочисленные разные признаки, а потому намерения пользователя могут отражаться наилучшим образом, если есть более мелкомодульный контроль над этими признаками, чем всеохватывающее ограничение по «rundll32.exe». Способу может понадобиться осуществлять доступ к пределу управления («ACL»), ключу, из условия, чтобы обычное приложение, активизируемое при запуске системы, было бы не способным модифицировать свои собственные настройки в таком ключе.
Как только способ запустил все приложения, активизируемые при запуске системы, способ может настраивать объект упаковки для освобождения задания (то есть освобождения процессов от их ограничений и восстановления их приоритетов) после определенного конфигурируемого тайм-аута (например, 30 секунд).
Способ также может связываться с другими частями операционной системы для обнаружения, является ли пользователь взаимодействующим с упакованным приложением, и использовать такую информацию, чтобы распаковать данное приложение до того, как истечет его тайм-аут упаковки. Это предоставляет операционной системе возможность снизить затраты нежелательных приложений, активизируемых при запуске системы, в общем случае, но также и динамически обнаруживать, когда приложение становится требуемым пользователем, в каковой момент ограничения приоритета были бы вредны для впечатлений пользователя от системы. Способ обнаружения деятельности пользователя в отношении этих приложений должен предотвращать обманную имитацию деятельности приложениями, так как это низложило бы полезность способа. Знание, что приложение, активизируемое при запуске системы, используется интерактивно, также может храниться в качестве исторических данных и использоваться для предотвращения его упаковывания в будущем, каковое, вероятно, улучшило бы впечатление пользователя. Один из простых примерных подходов к определению, когда пользователь является взаимодействующим с приложением, активизируемым при запуске системы, состоит в том, чтобы многократно проверять, стали ли какие-нибудь окна приложений, активизируемых при запуске системы, окном переднего плана, и расположен ли курсор мыши в пределах такого окна.
Фиг.3 может иллюстрировать другой вариант осуществления способа в соответствии с формулой изобретения. На этапе 300 способ может предоставлять приоритетам возможность назначаться одному из: класса приоритета, приоритета I/O, страницы приоритета, рабочего множества и возможностей работы в сети процесса. На этапе 305 способ может помещать процесс в объект задания, для того чтобы процесс и зависимые процессы могли прослеживаться. На этапе 310 способ может предоставлять приоритетам возможность устанавливаться ниже при запуске, а на этапе 315 способ может предоставлять приоритетам возможность устанавливаться выше после периода задержки после запуска. На этапе 320 способ может предоставлять приоритетам возможность устанавливаться ниже в течение периодов высокого использования. На этапе 325 способ, после периодов высокого использования, может предоставлять приоритетам возможность устанавливаться выше. На этапе 330 способ может создавать объект задания масштаба сеанса, в который будут объединяться все приложения, активизируемые при запуске системы. На этапе 335 способ может упаковывать процессы в виде группы и не позволять одиночному процессу распаковываться в одиночку. На этапе 340 способ может использовать хранилище уровня потока для переправления информации в систему, упаковка которой запрашивается. Это может выполняться созданием объекта (CBox) в «Run Startup Apps Thread» («Выполнении потока приложений, активизируемых при запуске системы») и резервированием указателя хранилища уровня потока для соседнего (CBox). На этапе 345 способ может использовать модифицированный стек API (программного интерфейса приложения) для переправления информации в систему, упаковка которой запрашивается. На этапе 350 способ может, при создании процесса, выдавать объект (CBox) из хранилища уровня потока и определять, упаковывать или не упаковывать процесс. На этапе 355 способ может использовать указатель, который является указателем с подсчетом ссылок. На этапе 360 способ может приращивать счетчик ссылок в объекте упаковки, указанного сегментом хранилища уровня потока. На этапе 365 способ может настраивать для освобождения задания от объекта упаковки после конфигурируемого периода времени. На этапе 370 способ может использовать реестр для сохранения настройки праобраза средства просмотра в отношении того, должен ли такой образ упаковываться, если он выполняется в качестве приложения, активизируемого при запуске системы. На этапе 375 способ может представлять ключ в реестр, в список управления доступом, так, чтобы общее приложение, активизируемое при запуске системы, было бы не способным модифицировать свои собственные настройки в ключе. На этапе 375 способ может помещать процессы в ограничительном объекте задания, в то время как процессы запускаются так, чтобы упакованные приложения не могли разрушать настройки приоритета, чтобы ассоциативная связь с заданием не могла разрушаться до тех пор, пока не уничтожен объект задания, и чтобы ограничения, заданные объектом задания, не могли переписываться упакованными процессами. На этапе 380 способ может создавать структуру ограничений объекта задания, которая управляет ограничениями приоритета страницы и I/O.
Хотя предшествующий текст излагает подробное описание многочисленных разных вариантов осуществления, должно быть понятно, что объем патента определен словами формулы изобретения, изложенной в конце этого патента. Подробное описание должно толковаться только как примерное и не описывает каждый возможный вариант осуществления, так как описание каждого возможного варианта осуществления будет непрактичным, если не невозможным. Многочисленные альтернативные варианты осуществления могли бы быть реализованы с использованием либо современной технологии, либо технологии, разработанной после даты подачи этого патента, которые по-прежнему подпадали бы под объем формулы изобретения.
Таким образом, многие модификации и варианты могут быть произведены в технологиях и конструкциях, описанных и проиллюстрированных в материалах настоящей заявки, не выходя из сущности и объема настоящей формулы изобретения. Соответственно должно быть понятно, что способы и устройство, описанные в материалах настоящей заявки, являются только иллюстративными, а не ограничивающими объем формулы изобретения.

Claims (20)

1. Способ управления приоритетами системы, состоящий в том, что:
предоставляют возможность приоритетам назначаться, по меньшей мере, одному из класса приоритета ЦП (процессора), приоритета I/O (Input/Output - Ввод/Вывод), приоритета страницы памяти, рабочего множества памяти, возможностей работы в сети процесса;
помещают процесс в контейнерный объект, для того чтобы процесс и зависимые процессы могли прослеживаться;
предоставляют приоритетам возможность устанавливаться ниже при запуске приложения;
предоставляют приоритетам возможность устанавливаться выше после периода задержки после запуска и опционально восстанавливают приоритеты на первоначальные настройки в течение или после конфигурируемого периода времени сеанса.
2. Способ по п.1, дополнительно состоящий в том, что предоставляют приоритетам возможность устанавливаться ниже в течение периодов высокого использования.
3. Способ по п.1, дополнительно состоящий в том, что после периодов высокого использования предоставляют приоритетам возможность устанавливаться выше.
4. Способ по п.1, дополнительно состоящий в том, что создают контейнерный объект масштаба сеанса, в который будут объединяться все приложения, активизируемые при запуске системы.
5. Способ по п.1, дополнительно состоящий в том, что добавляют процессы в контейнерный объект в виде группы.
6. Способ по п.1, дополнительно состоящий в том, что осуществляют настройку для высвобождения процесса из контейнерного объекта после конфигурируемого периода времени.
7. Способ по п.1, дополнительно состоящий в том, что обнаруживают взаимодействие пользователя с процессами в контейнерном объекте и динамически снимают их ограничения, и/или используют историческую информацию для предохранения их от помещения в контейнерном объекте в будущем.
8. Способ по п.1, дополнительно состоящий в том, что используют реестр для хранения настройки прообраза имени файла в отношении того, должен ли данный процесс помещаться в контейнерный объект, если он работает в качестве приложения, активизируемого при запуске системы.
9. Способ по п.8, дополнительно состоящий в том, что ключ представляют в реестр, в список управления доступом, так, чтобы общее приложение, активизируемое при запуске системы, было бы не способным модифицировать свои собственные настройки в ключе.
10. Способ по п.1, дополнительно состоящий в том, что помещают процессы в ограничительный контейнерный объект в качестве процессов, которые запускаются так, чтобы:
приложения в контейнерном объекте не могли разрушать настроек приоритета;
такая ассоциативная связь с процессом не могла разрушаться до тех пор, пока не уничтожен контейнерный объект; и
ограничения, установленные контейнерным объектом, не могли переписываться процессами в контейнерном объекте.
11. Способ по п.1, дополнительно состоящий в том, что создают структуру ограничений объекта задания, которая управляет ограничениями приоритета страницы и I/O.
12. Машиночитаемый носитель, содержащий компьютерно-исполняемые инструкции для управления приоритетами системы, содержащие компьютерно-исполняемые инструкции для:
предоставления возможности приоритетам назначаться, по меньшей мере, одному из класса приоритета ЦП, приоритета I/O, приоритета страницы памяти, рабочего множества памяти, возможностей работы в сети процесса;
помещения процесса в некоторый контейнерный объект, в который будут объединены все приложения, активизируемые при запуске системы, для того чтобы процесс и зависимые процессы могли прослеживаться;
предоставления приоритетам возможности устанавливаться ниже при запуске;
предоставления приоритетам возможности устанавливаться выше после периода задержки после запуска и опционального восстановления приоритетов на первоначальные настройки в течение или после конфигурируемого периода времени.
13. Машиночитаемый носитель по п.12, дополнительно содержащий компьютерно-исполняемые инструкции для, по меньшей мере, одного из:
предоставления приоритетам возможности устанавливаться ниже во время периодов высокого использования;
после периодов высокого использования, предоставления приоритетам возможности устанавливаться выше;
создания контейнерного объекта масштаба сеанса, в который будут объединяться все приложения, активизируемые при запуске системы;
добавления процессов в контейнер в виде группы; и
осуществления настройки для высвобождения процесса из контейнерного объекта после конфигурируемого периода времени.
14. Машиночитаемый носитель по п.12, дополнительно содержащий компьютерно-исполняемые инструкции для обнаружения взаимодействия пользователя с процессами в контейнерном объекте и динамического снятия их ограничений, и/или использования исторической информации для предохранения их от помещения в контейнерном объекте в будущем.
15. Машиночитаемый носитель по п.12, дополнительно содержащий компьютерно-исполняемые инструкции для использования реестра для хранения настройки прообраза имени файла в отношении того, должен ли данный процесс помещаться в контейнерный объект, если он работает в качестве приложения, активизируемого при запуске системы.
16. Машиночитаемый носитель по п.12, дополнительно содержащий компьютерно-исполняемые инструкции для представления ключа в реестр, в список управления доступом, так, чтобы общее приложение, активизируемое при запуске системы, было бы не способным модифицировать свои собственные настройки в ключе.
17. Машиночитаемый носитель по п.12, дополнительно содержащий компьютерно-исполняемые инструкции для помещения процессов в ограничительном объекте задания в качестве процессов, которые запускаются так, чтобы:
приложения в контейнерном объекте не могли нарушать настройки приоритета;
такая ассоциативная связь с процессом не могла нарушаться до тех пор, пока не уничтожен контейнерный объект; и
ограничения, установленные контейнерным объектом, не могли переписываться процессами в контейнерном объекте.
18. Машиночитаемый носитель по п.12, дополнительно содержащий компьютерно-исполняемые инструкции для создания структуры ограничений объекта процесса, которая управляет ограничениями приоритета страницы и I/O.
19. Компьютерная система, содержащая процессор, память и устройство ввода/вывода, процессор, являющийся приспособленным для выполнения инструкций, содержит инструкции для:
предоставления возможности приоритетам назначаться, по меньшей мере, одному из класса приоритета ЦП, приоритета I/O, приоритета страницы памяти, рабочего множества памяти, возможностей работы в сети процесса;
помещения процесса в контейнерный объект, в который будут объединяться все приложения, активизируемые при запуске системы, для того чтобы процесс и зависимые процессы могли прослеживаться;
предоставления приоритетам возможности устанавливаться ниже при запуске;
предоставления приоритетам возможности устанавливаться выше после периода задержки после запуска и опционального восстановления приоритетов на первоначальные настройки в течение или после конфигурируемого периода времени сеанса.
20. Компьютерная система по п.19, дополнительно содержащая инструкции, помещающие процессы в ограничительном объекте задания, в качестве процессов, которые запускаются так, чтобы:
приложения в контейнерном объекте не могли нарушать настройки приоритета;
такая ассоциативная связь с процессом не могла нарушаться до тех пор, пока не уничтожен объект процесса; и
ограничения, установленные контейнерным объектом, не могли переписываться процессами в контейнерном объекте.
RU2008121719/08A 2005-11-30 2006-11-29 Запуск приложений с задержкой RU2419840C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/290,105 US7500091B2 (en) 2005-11-30 2005-11-30 Delay start-up of applications
US11/290,105 2005-11-30

Publications (2)

Publication Number Publication Date
RU2008121719A RU2008121719A (ru) 2009-12-10
RU2419840C2 true RU2419840C2 (ru) 2011-05-27

Family

ID=38087430

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2008121719/08A RU2419840C2 (ru) 2005-11-30 2006-11-29 Запуск приложений с задержкой

Country Status (10)

Country Link
US (1) US7500091B2 (ru)
EP (1) EP1955200B1 (ru)
JP (1) JP5127722B2 (ru)
KR (1) KR101312819B1 (ru)
CN (1) CN101317171B (ru)
AU (1) AU2006320589B2 (ru)
BR (1) BRPI0618430A2 (ru)
CA (1) CA2628416C (ru)
RU (1) RU2419840C2 (ru)
WO (1) WO2007064717A1 (ru)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1944690A3 (de) * 2006-12-19 2009-05-20 Continental Automotive GmbH Verfahren, Vorrichtung und System
US8176314B2 (en) * 2008-02-22 2012-05-08 International Business Machines Corporation System startup with applications using configurable options
CN101296199A (zh) * 2008-06-27 2008-10-29 腾讯科技(深圳)有限公司 一种即时通讯工具调度任务的方法和即时通讯工具
US8370613B1 (en) * 2009-06-30 2013-02-05 Symantec Corporation Method and apparatus for automatically optimizing a startup sequence to improve system boot time
JP5590114B2 (ja) * 2010-03-11 2014-09-17 富士通株式会社 ソフトウェア制御装置、ソフトウェア制御方法、およびソフトウェア制御プログラム
NL2004913C2 (en) * 2010-06-17 2011-12-20 Sytse S Professional Ict Solutions Method, computer system and computer program product stored on a computer system readable medium for starting up of a computer system.
JP5631112B2 (ja) * 2010-08-23 2014-11-26 キヤノン株式会社 画像形成装置
JP2012058879A (ja) * 2010-09-07 2012-03-22 Toshiba Corp オペレーティングシステム起動管理装置
US8677158B2 (en) 2011-08-10 2014-03-18 Microsoft Corporation System and method for assigning a power management classification including exempt, suspend, and throttling to an process based upon various factors of the process
US8935697B2 (en) 2011-08-10 2015-01-13 Microsoft Corporation Suspension and/or throttling of processes for connected standby
US8788863B2 (en) * 2011-08-10 2014-07-22 Microsoft Corporation System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state
JP5831324B2 (ja) * 2012-03-27 2015-12-09 富士通株式会社 制御装置,制御方法,プログラム及び分散処理システム
TW201416979A (zh) * 2012-10-29 2014-05-01 Acer Inc 開機加速方法與電腦系統裝置
CA2890000A1 (en) * 2012-10-31 2014-05-08 Volcano Corporation Dependency-based startup in a multi-modality medical system
CN103019706A (zh) * 2012-11-29 2013-04-03 北京奇虎科技有限公司 针对启动项目的处理方法和装置
US9959187B2 (en) * 2014-04-25 2018-05-01 Lenovo (Singapore) Pte. Ltd. Decoalescing resource utilization at boot
CN104142828A (zh) * 2014-07-30 2014-11-12 北京奇虎科技有限公司 应用加速方法及装置
JP5862722B2 (ja) * 2014-07-31 2016-02-16 富士通株式会社 マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法、およびマルチコアプロセッサシステムの制御プログラム
DE102015205378A1 (de) * 2015-03-25 2016-09-29 Volkswagen Aktiengesellschaft Informations- und Unterhaltungssystem für ein Fahrzeug
CN107220077B (zh) * 2016-10-20 2019-03-19 华为技术有限公司 应用启动的管控方法和管控设备
CN109753209B (zh) * 2018-06-21 2020-05-05 北京字节跳动网络技术有限公司 一种应用程序启动方法、装置及设备
CN109213537A (zh) * 2018-08-16 2019-01-15 Oppo广东移动通信有限公司 应用程序的启动控制方法、装置、存储介质及终端
KR20200125258A (ko) * 2019-04-26 2020-11-04 삼성전자주식회사 어플리케이션 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732266A (en) * 1994-09-02 1998-03-24 Compaq Computer Corporation Storage medium storing application programs and application initialization files and automatic launching of computer applications stored on the storage medium
US5968173A (en) * 1996-10-01 1999-10-19 Texas Instruments Incorporated Method and system for maximizing the apparent initial processing capability of a computer
US6091414A (en) * 1996-10-31 2000-07-18 International Business Machines Corporation System and method for cross-environment interaction in a computerized graphical interface environment
US5867160A (en) * 1996-10-31 1999-02-02 International Business Machines Corporation System and method for task prioritization in computerized graphic interface environments
JPH10283084A (ja) * 1997-04-10 1998-10-23 Canon Inc 情報処理装置及びその制御方法及び記憶媒体
US6275932B1 (en) * 1997-10-08 2001-08-14 Sony Corporation Program startup apparatus and program startup method for use in electronic machine, and medium
US6564318B1 (en) * 1997-12-10 2003-05-13 Phoenix Technologies Ltd. Method and apparatus for execution of an application during computer pre-boot operation and post-boot under normal OS control
US6122677A (en) * 1998-03-20 2000-09-19 Micron Technology, Inc. Method of shortening boot uptime in a computer system
US6324546B1 (en) * 1998-10-12 2001-11-27 Microsoft Corporation Automatic logging of application program launches
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6697851B1 (en) * 1999-09-02 2004-02-24 International Business Machines Corporation Method and apparatus for identifying clients using incoming option data
WO2001057658A2 (en) * 2000-02-04 2001-08-09 Insyde Software, Inc A system and method for altering an operating system start-up sequence prior to operating system loading
JP2001265598A (ja) * 2000-03-15 2001-09-28 Matsushita Electric Ind Co Ltd 情報処理装置
JP4132623B2 (ja) * 2000-09-29 2008-08-13 株式会社リコー 電源投入後に立上制御を行う装置及びその立上制御方法並びにその立上制御プログラムを書き込んだ記憶媒体
US6631653B2 (en) * 2000-12-06 2003-10-14 Caterpillar Inc. System for definable single lever control shift pattern joint
US20020147967A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software scheduling priority recorder
US20020147966A1 (en) * 2001-02-14 2002-10-10 Ncr Corporation Operating software performance monitor
US6948165B1 (en) * 2001-02-28 2005-09-20 Western Digital Ventures, Inc. Method for installing an application program, to be executed during each bootload of a computer system for presenting a user with content options prior to conventional system startup presentation, without requiring a user's participation to install the program
JP2002259010A (ja) * 2001-03-05 2002-09-13 Fujitsu Ltd ショートカットアイコンの自動作成・削除プログラム
GB0107639D0 (en) * 2001-03-27 2001-05-16 Marconi Comm Ltd Network tunnelling
US7814532B2 (en) * 2001-05-02 2010-10-12 Lenovo (Singapore) Pte. Ltd. Data processing system and method for password protecting a boot device
DE10220341C1 (de) * 2002-05-07 2003-10-30 Siemens Ag Verfahren zur Ermittlung der prioritätsabhängigen Rechenzeitverteilung in einem prioritätsgesteuerten MehrProzess-Rechensystem
US7299346B1 (en) * 2002-06-27 2007-11-20 William K. Hollis Method and apparatus to minimize computer apparatus initial program load and exit/shut down processing
TW588284B (en) * 2002-11-12 2004-05-21 Mitac Technology Corp Computer real-time power-on system and method
JP4187151B2 (ja) * 2003-01-08 2008-11-26 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7243245B2 (en) * 2003-06-20 2007-07-10 International Business Machines Corporation Method and system for performing automatic startup application launch elimination
KR101017372B1 (ko) * 2003-12-23 2011-02-28 삼성전자주식회사 작업 스케쥴러를 이용한 다수의 디바이스 초기화 방법
US7275150B2 (en) * 2004-03-15 2007-09-25 International Business Machines Corporation Method and system for adding frequently selected applications to a computer startup sequence
JP2005284491A (ja) * 2004-03-29 2005-10-13 Mitsubishi Electric Corp 計算機の起動時間短縮方式
JP4604543B2 (ja) * 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
US7735085B2 (en) * 2004-05-26 2010-06-08 Qualcomm Incorporated System for application priority based on device operating mode

Also Published As

Publication number Publication date
CN101317171A (zh) 2008-12-03
JP5127722B2 (ja) 2013-01-23
JP2009517784A (ja) 2009-04-30
EP1955200A1 (en) 2008-08-13
US7500091B2 (en) 2009-03-03
CA2628416A1 (en) 2007-06-07
US20070121665A1 (en) 2007-05-31
AU2006320589A1 (en) 2007-06-07
CA2628416C (en) 2014-09-02
CN101317171B (zh) 2010-09-15
EP1955200A4 (en) 2009-01-28
WO2007064717A1 (en) 2007-06-07
RU2008121719A (ru) 2009-12-10
KR20080072699A (ko) 2008-08-06
AU2006320589B2 (en) 2011-01-20
BRPI0618430A2 (pt) 2011-08-30
EP1955200B1 (en) 2018-11-14
KR101312819B1 (ko) 2013-09-27

Similar Documents

Publication Publication Date Title
RU2419840C2 (ru) Запуск приложений с задержкой
TWI524205B (zh) 用以在無作業系統服務環境中供應韌體之方法
KR102255767B1 (ko) 가상 머신 감사를 위한 시스템 및 방법들
US10248398B2 (en) Method for virtualizing software applications
JP5985631B2 (ja) 信頼レベルのアクティブ化
US8132167B2 (en) Context based virtualization
US10394580B2 (en) Dynamic addition and removal of operating system components
CN101356501A (zh) 用于快速启动操作系统的方法和装置
KR20110130435A (ko) 메모리 세그먼테이션 및 acpi 기반 컨텍스트 전환을 사용하는 운영 시스템 로딩
EP1313008A1 (en) System and method for decoding program instructions
US9417886B2 (en) System and method for dynamically changing system behavior by modifying boot configuration data and registry entries
Jero et al. Practical principle of least privilege for secure embedded systems
Sensaoui et al. An in-depth study of MPU-based isolation techniques
KR20060063643A (ko) 운영 체제의 성능을 향상시키는 방법 및 시스템
JP5218394B2 (ja) グリッド処理制御装置
US8572742B1 (en) Detecting and repairing master boot record infections
US7757023B1 (en) Storage-centric manageability in a system
US20110023036A1 (en) Switching process types in a process engine
KR101434794B1 (ko) 프로그램 해킹 방어 방법 및 시스템
US20100088501A1 (en) Post speedup in oprom systems with intervention support
WO2022044021A1 (en) Exploit prevention based on generation of random chaotic execution context
Arthur et al. Context Management
James Can SDV technology be utilised in a smartphone to prevent forensic analysis?
Clark Adoption of the Least Privilege Separation Kernel (LPSK) for the Atom Platform

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150526