Рубрика «планировщик» - 2

Вся правда об ОСРВ. Статья #9. Планировщик: реализация - 1

Основные принципы работы планировщиков ОСРВ были рассмотрены в статье «Задачи и планирование». В настоящей статье мы рассмотрим возможности, которые предлагает Nucleus RTOS, а также более подробно те, которые предоставляет Nucleus SE.

Читать полностью »

Опубликован эксплоит для незакрытой уязвимости в планировщике задач Windows (перевод) - 1

Одним из исследователей безопасности была опубликована в Twitter информация об уязвимости в ОС Windows.

Уязвимость заключается в эскалации привилегий на локальной системе, которая позволяет злоумышленнику повысить уровень доступа вредоносного кода, запущенного из-под учетной записи рядового пользователя до уровня учетной записи SYSTEM, обладающей полным доступом.
Читать полностью »

В последние пару лет я занимаюсь построением scheduling-систем, и мне пришло в голову поделиться своим нелёгким опытом с коллегами. Речь идёт о двух категориях коллег. Первые — это желающие узнать, как разработать свой scheduler за 21 день. Вторые — те, кому нужен новый scheduler совсем без смс и регистрации, просто чтобы работал. Особенно хотелось бы помочь второй категории людей.

Сундуков А.А. Очередь. 1986. Холст, масло

Сначала, как водится, стоит сказать несколько общих слов. Что такое scheduler (планировщик, или, для простоты, «шедулер»)? Это такая компонента системы, которая занимается распределением ресурса или ресурсов системы по потребителям. Разделение ресурса может происходить в двух измерениях: в пространстве и времени. Планировщики чаще всего фокусируются на втором измерении. Обычно под ресурсом подразумевают процессор, диск, память и сеть. Но, что греха таить, шедулить можно и любую виртуальную ерунду. Конец общих слов.
Читать полностью »

Мудрые и хитрые китайцы вывели закономерность: планы на год составляй весной, планы на день — утром. В России сложились совершенно иные стереотипы планирования — кажется, что народ буквально устал от пятилетки в четыре года и теперь предпочитает работать стихийно и в режиме хронического аврала. При этом практически каждый бизнес пытается планировать, но не всегда успешно — планы вырождаются в формальность и дополнительную трату рабочего времени. Между тем, планирование напрямую влияет на производительность и на благополучие компании. Мы проанализировали вопрос и готовы поделиться своими мыслями о персональном и внутрифирменном планировании, правилах и роли автоматизации. Ну и немного советского плаката внутри — без него тема будет не раскрыта.

План без Б: планирование в компании от «я» до «мы» - 1
Читать полностью »

Многие знают, что iTunes Store — это онлайн-магазин Apple, откуда пользователи скачивают приложения. Однако не все знают, что один раз указав название своей организации, компания-разработчик не может самостоятельно менять его в iTunes. От слова “вообще”. Как нам удалось решить проблему?
Читать полностью »

См. две другие статьи этой группы — Делаем многозадачность и Преемптивность: как отнять процессор.

Сразу просьба к строгим читателям. Если вы не поняли какой-либо термин из применённых — спросите, я подскажу, что я имел в виду. А если вам нравится другое написание или перевод этого термина — укажите его в комментарии. Я применяю те, которые нравятся мне.

Итак, в прошлых статьях описан механизм реализации многозадачности за вычетом планировщика, он же шедулер, он же скедулер, он же Васька меченый, сорри, заговариваюсь я с этими терминами…

Как я уже говорил, шедулер — это просто функция, которая отвечает на вопрос: какую нить и на сколько времени поставить на процессор.

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

Говоря о шедулере нельзя не сказать о приоритетах.

Приоритет — свойство нити (или процесса) влияющее на конкуренцию этой нити с другими нитями за процессор.

Приоритет обычно описывается парой <класс приоритета, значение приоритета внутри класса>.
Читать полностью »

Нередки ситуации, когда изобретатель чешет затылок, осознав, каким образом используют его творение и сравнивая это с тем, что было задумано изначально. Сегодня речь пойдет о нетрадиционном использовании сервиса мониторинга. Какую еще пользу можно извлечь из функционала, предназначенного для проверки сайтов? Ответ ограничен лишь фантазией наших клиентов.

Один клиент настроил мониторинг… домашнего водопроводного насоса.

Нестандартное использование сервиса мониторинга сайтов - 1
Читать полностью »

Круглендарь 2015

Друзья, круглендарь 2015 готов!

Круглый календарь — это способ увидеть все дни года одновременно.
Одним это нужно при планировании, другие как в дневнике отмечают на нём яркие моменты и хранят календарь в память о прожитом годе. Третьи — отмечают грядущие дни рождения друзей и родственников.

Проект живёт третий год, предыдущие версии публиковались в 2013 и 2014 годах, продолжаю традицию.
Как и прежде, круглендарь на 99% генерируется программно.
Дизайн доработан: улучшена типографика, убраны лишние линии, остались только две: числа (синусоида) и месяцы (гипоциклоида).
Стало ярче и просторнее.

Скачивается с сайта kruglendar.ru
Сообщество в контакте: vk.com/kruglendar

Буду рад отзывам, мыслям, пожеланиям, предложениям и фотографиям круглендаря в вашем интерьере.
С Новым годом!
Читать полностью »

От переводчика: в статье рассказывается о новом планировщике задач в библиотеке WinJS 2.0, обновившейся вместе с выходом Windows 8.1. Для понимания части материала крайне желательно понимание работы с отложенными результатами (Promise). См. раздел MSDN, посвященный асинхронному программированию на JavaScript.

Не считая рабочих веб-процессов (web workers) и фоновых задач, которые также выполняются как отдельные веб-процессы, весь JavaScript-код в приложениях для Windows Store выполняется в общем так называемом UI-потоке. Этот код может делать асинхронные вызовы WinRT API, которые выполняют свои операции в отдельных потоках, но есть один важный момент, о котором нужно помнить: результаты из этих не-UI-потоков возвращаются назад для обработки в UI-поток. Это означает, что запуск серии асинхронных вызовов WinRT (например, HTTP-запросов), — всех сразу, — может потенциально перегрузить UI-поток, если результаты от них придут примерно в одно и то же время. Более того, если вы (или WinJS) добавляете элементы в DOM или изменяете стили, которые требуют обновления компоновки страницы в UI-потоке, это создает еще больше задач, конкурирующих за ресурсы CPU. Как результат ваше приложение становится «тормозящим» и неотзывчивым.

В Windows 8 приложение может предпринять ряд шагов для снижения таких эффектов, например, запускать асинхронные операции в рамках временных блоков, чтобы управлять частотой возвратов в UI-поток, или объединять вместе задачи, требующие цикла обновления страницы, чтобы за один проход выполнялось больше операций. Начиная с Windows 8.1, появилась возможность асинхронно расставлять приоритеты разным задачам непосредственно в UI-потоке.

Читать полностью »

Недавно в процессе работы, я столкнулся с задачей управления шедулерами, в работающем приложении. У нас серверное приложение, и в конфигурационных файлах Spring мы указывали, какие задачи запускать по таймеру. Однако, далее появилась следующая задача — убирать из списка выполнения эти задачи, или же менять cron-таймер. При этом не тормозя приложение.
В процессе гугления, чтения, я нашел как это сделать. Всё оказалось гораздо проще, чем я думал. Но чтоб понять — пришлось немного почитать.
Вероятно эта статья будет полезна новичкам, но, возможно, и мастодонты почерпнут для себя что-то новое.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js