12.3.3 Примеры алгоритмов

12.3.3 Примеры алгоритмов

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Совет 32. Сопровождайте вызовы remove-подобных алгоритмов вызовом erase

Из книги Эффективное использование STL автора Мейерс Скотт

Совет 32. Сопровождайте вызовы remove-подобных алгоритмов вызовом erase Начнем с краткого обзора remove, поскольку этот алгоритм вызывает больше всего недоразумений в STL. Прежде всего необходимо рассеять все сомнения относительно того, что делает алгоритм remove, а также почему и как


Совет 44. Используйте функции контейнеров вместо одноименных алгоритмов

Из книги Технологии программирования автора Камаев В А

Совет 44. Используйте функции контейнеров вместо одноименных алгоритмов Некоторые контейнеры содержат функции, имена которых совпадают с именами алгоритмов STL. Так, в ассоциативных контейнерах существуют функции count, find, lower_bound, upper_bound и equal_range, а в контейнере list


5.4. РЕКОМЕНДАЦИИ НАЧИНАЮЩИМ ПО СОСТАВЛЕНИЮ ОПИСАНИЙ АЛГОРИТМОВ И ЭВРОРИТМОВ

Из книги Стандарты программирования на С++. 101 правило и рекомендация автора Александреску Андрей

5.4. РЕКОМЕНДАЦИИ НАЧИНАЮЩИМ ПО СОСТАВЛЕНИЮ ОПИСАНИЙ АЛГОРИТМОВ И ЭВРОРИТМОВ Первые попытки работы с проектной процедурой требуют огромного количества листов бумаги, но это необходимо, так как позволяет внимательно рассмотреть отдельный лист и относительно


5.7. РЕФАКТОРИНГ АЛГОРИТМОВ И ЭВРОРИТМОВ

Из книги Фундаментальные алгоритмы и структуры данных в Delphi автора Бакнелл Джулиан М.

5.7. РЕФАКТОРИНГ АЛГОРИТМОВ И ЭВРОРИТМОВ Алгоритм Нелдера — Мида является широко известным и применяется в качестве алгоритма прямого поиска локального экстремума вещественных функций от 2 до 6 вещественных переменных.Следующий абзац содержит фрагмент текста из книги Д.


84. Предпочитайте вызовы алгоритмов самостоятельно разрабатываемым циклам

Из книги C++ для начинающих автора Липпман Стенли

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


88. В качестве аргументов алгоритмов и компараторов лучше использовать функциональные объекты, а не функции

Из книги Новый ум короля [О компьютерах, мышлении и законах физики] автора Пенроуз Роджер

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


Анализ алгоритмов

Из книги Разработка ядра Linux автора Лав Роберт

Анализ алгоритмов Рассмотрим два возможных варианта поиска в массиве элемента "John Smith": последовательный поиск и бинарный поиск. Мы напишем код для обоих вариантов, а затем определим производительность каждого из них. Реализация простого алгоритма последовательного


Закон 7. Тайна криптографических алгоритмов не гарантируется

Из книги автора

Закон 7. Тайна криптографических алгоритмов не гарантируется Этот специфический «закон», строго говоря, не является законом в определенном ранее смысле. Теоретически возможно существование безопасного криптографического алгоритма, разработанного в частном порядке,


Стандарты алгоритмов шифрования

Из книги автора

Стандарты алгоритмов шифрования Почему так много алгоритмов шифрования? Почему не стандартизируют один из них? Учитывая большое количество алгоритмов шифрования, следует признать, что на этот вопрос нельзя дать простой ответ. Максимум, что возможно, – это достичь


Неверное использование алгоритмов шифрования

Из книги автора

Неверное использование алгоритмов шифрования Теоретически, имея достаточно времени, атакой «грубой силы» можно взломать любой криптографический алгоритм, но не стоит этим обольщаться, если время взлома больше времени существования вселенной. Поэтому любой «разумный»


Приложение В Сложность алгоритмов

Из книги автора

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


Опасность, связанная со сложностью алгоритмов

Из книги автора

Опасность, связанная со сложностью алгоритмов Очевидно, что будет разумным избегать алгоритмов, которые масштабируются, как О(n!) или O(2?). Более того, замена алгоритма, который масштабируется, как O(n), алгоритмом, который масштабируется, как O(1), — это обычно серьезное