Новые книги

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

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

3.6 ВЫВОДЫ

 

3.6 ВЫВОДЫ

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

Ядро идентифицирует нужный ему блок по номеру логического устройства и номеру блока. Алгоритм getblk просматривает буферный кеш в поисках блока и, если буфер присутствует и свободен, блокирует буфер и возвращает его. Если буфер заблокирован, обратившийся к нему процесс приостанавливается до тех пор, пока буфер не освободится. Механизм блокирования гарантирует, что только один процесс в каждый момент времени работает с буфером. Если в кеше блок отсутствует, ядро назначает блоку свободный буфер, блокирует и возвращает его. Алгоритм bread выделяет блоку буфер и при необходимости читает туда информацию. Алгоритм bwrite копирует информацию в предварительно выделенный буфер. Если при выполнении указанных алгоритмов ядро не увидит необходимости в немедленном копировании данных на диск, оно пометит буфер для "отложенной записи", чтобы избежать излишнего ввода-вывода. К сожалению, процедура откладывания записи сопровождается тем, что процесс никогда не уверен, в какой момент данные физически попадают на диск. Если ядро записывает данные на диск синхронно, оно поручает драйверу диска передать блок файловой системе и ждет прерывания, сообщающего об окончании ввода-вывода.

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

Предыдущая глава || Оглавление || Следующая глава