Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы_Ткаченко

.pdf
Скачиваний:
142
Добавлен:
20.03.2016
Размер:
2.33 Mб
Скачать

1. Файловый подход к организации информационной базы СОИ – сущность подхода, достоинства и недостатки.

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

Файловый подход:

Факульт. Кол. Мест по плану

Код абитур. факульт. Дата подачи

Код абит Дата подачи Фак

Обл откуда прибыл

Достоинства:

 

 

Факульт

Конкурс

 

 

 

 

Программа

 

 

 

 

ФПИ

4,5

обработки(

 

 

 

ПО1)

 

МЕХФАК

1,5

 

 

 

 

 

 

 

 

 

 

ТХП

2,0

 

 

 

 

 

 

……..

………..

 

 

 

 

 

 

Область

Факульт

Итого

 

 

 

 

Программа

 

 

 

 

обработки(

 

Ростовск

ФПИ

 

 

 

 

 

ПО1)

 

 

 

 

 

 

 

 

 

 

 

Р-н

ГМУ

 

 

 

адыгея

 

 

 

 

 

 

 

 

 

……

……

 

 

 

 

 

 

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

Файловая организация позволяет достигнуть высокой скорости обработки.

Недостатки:

Приложения не используют данные совместно, что приводит к дублированию и противоречивости.

Отсутствие централизованного контроля над данными.

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

2.Организация интегрированной информационной базы СОИ – сущность подхода, достоинства и недостатки.

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

К числу базовых файлов относят: -основные; -рабочие; -промежуточные; -служебные; -архивные.

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

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

Служебные файлы предназначены для ускорения процесса поиска информации в основных файлах. Они включают в себя справочники и каталоги.

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

Существует два способа организации информационной базы (ИБ):

совокупность локальных файлов, которые поддерживаются функциональными пакетами прикладных программ;

интегрированные базы данных, основанные на использовании СУБД.

Основные подходы к построению внутри машинной ИБ: 1) проектирование массива как отображение содержания, 2) проектирование массивов для отдельных процессов управления, 3) п. м. для комплексов процессов управления, 4) проектирование БД, 5) проектирование нескольких БД.

Достоинства:

Эффективное централизованное хранение и актуализация единого файла с минимальным дублированием информации.

Эффективное использование каждой программой минимально необходимой исходной информации.

Использование единой системы взаимосвязующих файлов.

3.Понятие СУБД, основные функции СУБД.

Система управления базами данных — это универсальное программное средство, предназначенное для организации хранения и обработки логически взаимосвязанных данных и обеспечения быстрого доступа к ним.

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

Существуют универсальные системы управления базами данных, используемые для различных приложений. При настройке универсальных СУБД для конкретных приложений они должны обладать соответствующими средствами. Процесс настройки СУБД на конкретную область применения называется генерацией системы. К универсальным СУБД относятся, например системы MicrosoftAccess, MicrosoftVisualFoxPro, BorlanddBase, BorlandParadox, Oracle.

Главная функция СУБД заключается в обеспечении пользователя информационной базы средствами для работы с данными в абстрактных термина, не связанных с особенностью хранения информации в памяти компьютера и для выполнения на этой основе операций по обработке данных для различных приложений.

Косновным функциям СУБД относятся:

- Непосредственное управление данными во внешней и оперативной памяти и обеспечение эффективного доступа к данным в процессе решения задач.

- Поддержание целостности данных и управление транзакциями.

- Ведение системного журнала изменений в базе данных, что обеспечивает восстановление базы данных после технического или программного сбоя.

- Реализация поддержки языка описания данных и языка запросов к данным.

- Обеспечение безопасности данных.

- Обеспечение параллельного доступа к данным нескольких пользователей

4. Обеспечения безопасности и секретности данных.

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

В общем случае обеспечить безопасность баз данных и управления информацией просто. Надо осуществлять проверку полномочий (санкционирование) и подлинности (аутентификация). Аутентификация - означает метод независимого от источника информации установления подлинности информации на основе проверки подлинности её внутренней структуры. Проверка полномочий заключается в том, что для каждого пользователя или процесса БД

устанавливают набор санкционированных действий, которые могут выполняться по отношению к определённым объектам.

Идентификация информационных ресурсов - это метод определения полномочий на доступ к документам.

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

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

При этом все объекты подвергаются классификации, а субъекты причисляются к соответствующему уровню доступа к классам объектов.

На государственном уровне обычно применяется следующая иерархия классов допуска:

• совершенно секретно;

секретно;

конфиденциально;

без грифа секретности.

Для коммерческих структур могут применяться следующие уровни допуска:

секретно;

для ограниченного распространения;

конфиденциально;

для служебного пользования;

для неограниченного распространения.

5.Избирательный подход к обеспечению безопасности данных.Обязательный подход к обеспечению безопасности данных.

В современных СУБД поддерживается один из двух наиболее общих подходов к вопросу обеспечения безопасности данных: избирательный подход иобязательный подход. В обоих подходах система безопасности может быть создана как для всей базы данных, так и для любого ее объекта.

Избирательный подход — каждый пользователь обладает определенными правами (полномочиями, привилегиями) при работе с тем или иным объектом БД.

Обязательный подход — каждому объекту БД присваивается уровень доступа, а пользователям

— уровень допуска.

Вслучае избирательного подхода предусмотрены слелующие правила:

имя правила;

правила или привилегии;

диапазон применения привилегий;

идентификаторы пользователей;

действие при нарушении правила.

При обязательном подходе предусмотрено следующее:

пользователь имеет возможность работы с объектом, если уровень его допуска больше или равен уровню доступа объекта;

пользователь имеет возможность модифицировать объект, если уровень его допуска равен уровню доступа объекта.

Эти два подхода отличаются следующими свойствами:

В случае избирательного управления некоторый пользователь обладает различными правами (привилегиями или полномочиями) при работе с данными. Разные пользователи могут обладать разными правами доступа к одному и тому же объекту. Избирательные права характеризуются значительной гибкостью.

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

доступа. При таком подходе доступом к определенному объекту данных обладают только пользователи с соответствующим уровнем доступа.

Для реализации избирательного принципа предусмотрены следующие методы. В базу данных вводится новый тип объектов БД – это пользователи. Каждому пользователю в БД присваивается уникальный идентификатор. Для дополнительной защиты каждый пользователь снабжается также уникальным паролем, причем если идентификаторы пользователей в системе доступны системному администратору, то пароли пользователей хранятся чаще всего в специальном кодированном виде и известны только самим пользователям.

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

6. Контрольный след файла, модификация запроса как подходы к обеспечению безопасности данных.

Запись в файле контрольного следа может содержать информацию:

Запрос

Терминал, с которого вызвана операция

Пользователь, задавший операцию

Дата и время запуска операции

Вовлеченные в процесс исполнения операции базовые отношения, кортежи и атрибуты

Старые значения

Новые значения

7.Безопасность в статистических БД.

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

8.Проблемы обеспечения управляемой избыточности и целостности данных.

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

Ситуация, когда в таблице базы данных имеются неоднократно одни и те же данные,

называют избыточностью данных.

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

Целостность данных (integrity) - происхождение данных из подлинного источника и уверенность в том, что они позже не изменились, и / или их позже несанкционированно не изменяли. Комплексное понятие, которое охватывает действительность данных, используемость данных, правильность данных и целостность данных называют согласованностью данных.

Данные, как правило, связаны с создателем, со временем создания, контекстом и пр., нарушение этих связей может привести к непредвиденным последствиям.

Примеры нарушения целостности:

базы данных

Взломавший базу данных RiigiTeataja хакер может самоуправно изменять законы

В результате ошибочного изменения в Регистре наказаний заключенные раньше освободят.

9.Понятие транзакции, свойства транзакции, способы завершения транзакции.

Транзакция - это последовательность операторов манипулирования данными, выполняющаяся как единое целое (все или ничего) и переводящая базу данных из одного целостного состояния в другое целостное состояние.

Транзакция обладает четырьмя важными свойствами, известными как свойства АСИД:

(А) Атомарность. Транзакция выполняется как атомарная операция - либо выполняется вся транзакция целиком, либо она целиком не выполняется.

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

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

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

Транзакция обычно начинается автоматически с момента присоединения пользователя к СУБД и продолжается до тех пор, пока не произойдет одно из следующих событий:

Подана команда COMMIT WORK (зафиксировать транзакцию).

Подана команда ROLLBACK WORK (откатить транзакцию).

Произошло отсоединение пользователя от СУБД.

Произошел сбой системы.

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

Фиксация транзакции это действие, обеспечивающее запись на диск изменений в базе данных, которые были сделаны в процессе выполнения транзакции.

До тех пор пока транзакция не зафиксирована, допустимо аннулирование этих изменений, восстановление в то состояние, в котором она была на момент начала транзакции. Фиксация транзакции означает, что все результаты выполнения транзакции становятся постоянными. Они станут видимыми другим транзакциям только после того, как текущая транзакция будет зафиксирована. До этого момента все данные, затрагиваемые транзакцией, будут "видны" пользователю в состоянии на начало текущей транзакции.

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

данных, которые были сделаны операторами SQL в теле текущей незавершенной транзакции.

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

Если с БД работают одновременно несколько пользователей, то СУБД должна не только корректно выполнять индивидуальные транзакции и восстанавливать согласованное состояние БД после сбоев,

но она призвана обеспечить корректную параллельную работу всех пользователей над одними и теми же данными. По теории каждый пользователь и каждая транзакция должны обладать свойством изолированности, то есть они должны выполняться так, как если бы только один пользователь работал с БД. И средства современных СУБД позволяют изолировать пользователей друг от друга именно таким образом. Однако в этом случае возникают проблемы замедления работы пользователей.

Основные проблемы, которые возникают при параллельном выполнении транзакций, делятся условно на 4 типа:

Пропавшие изменения.

Проблемы промежуточных данных.

Проблемы несогласованных данных.

Проблемы строк-призраков (строк-фантомов).

Проблемы параллельной работы транзакций

Каким образом транзакции различных пользователей могут мешать друг другу? Различают три основные проблемы параллелизма:

Проблема потери результатов обновления.

Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).

Проблема несовместимого анализа.

Рассмотрим подробно эти проблемы.

Рассмотрим две транзакции, A и B, запускающиеся в соответствии с некоторыми графиками. Пусть транзакции работают с некоторыми объектами базы данных, например со строками таблицы.

Операцию чтение строки будем обозначать , где - прочитанное значение.

Операцию записи значения в строку будем обозначать .

11. Проблема пропавших изменений.

Параллельное выполнение транзакций

Если с БД работают одновременно несколько пользователей, то обработка транзакций должна рассматриваться с новой точки зрения. В этом случае СУБД должна не только корректно выполнять индивидуальные транзакции и восстанавливать согласованное состояние БД после сбоев, но она призвана обеспечить корректную параллельную работу всех пользователей над одними и теми же данными. По теории каждый пользователь и каждая транзакция должны обладать свойством изолированности, то есть они должны выполняться так, как если бы только один пользователь работал с БД. И средства современных СУБД позволяют изолировать пользователей друг от друга именно таким образом. Однако в этом случае возникают проблемы замедления работы пользователей. Рассмотрим более подробно проблемы, которые возникают при параллельной обработке транзакций.

Пропавшие изменения.

Эта ситуация может возникать, если две транзакции одновременно изменяют одну и ту же запись в БД. Например, работают два оператора на приеме заказов, первый оператор принял заказ на 30 мониторов. Когда он запрашивал склад, то там числилось 40 мониторов, и он, получив подтверждение от клиента, выставил счет и оформил продажу 30 мониторов из 40. Параллельно с ним работает второй оператор, который принимает заказ на 20 таких же мониторов (ну уж очень хорошая модель и дешево) и, в свою очередь запросив состояние склада и получив исходно ту же цифру 40, он успешно оформляет заказ для своего клиента. Заканчивая работу с данным заказом, он выполняет команду Обновить (UPDATE), которая заносит 20 как остаток любимых мониторов на складе. Но после этого, наконец, любезно попрощавшись со своим клиентом и заверив его в

скорейшей доставке заказанных мониторов, заканчивает работу со своим заказом первый оператор и также выполняет команду Обновить и заносит 10 как остаток тех же мониторов на складе. Каждый из них доволен своей работой, но мы-то знаем, что произошло. Прежде всего, они продали 50 мониторов из наличествующих 40 штук, и далее на складе еще числится 10 подобных мониторов. БД теперь находится в несогласованном состоянии, а у фирмы возникли серьезные проблемы. Изменения, сделанные вторым оператором, были проигнорированы программой выполнения заказа, с которой работал первый оператор.

12.Проблема промежуточных данных.

Проблемы промежуточных данных. Рассмотрим ту же проблему одновременной работы двух операторов. Допустим, первый оператор, ведя переговоры со своим заказчиком, ввел заказанные 30 мониторов, но перед окончательным оформлением заказа клиент захотел выяснить еще некоторые характеристики товара. Приложение, с которым работает первый оператор, уже изменило остаток мониторов на складе, и там сейчас находится информация о 10 оставшихся мониторах. В это время второй оператор пытается принять заказ от своего клиента на 20 мониторов, но его приложение показывает, что на складе осталось всего 10 мониторов, и оператор вынужден отказать выгодному клиенту, который идет в другую фирму, весьма неудовлетворенный работой нашей компании. А в этот момент клиент оператора 1 заканчивает обсуждение дополнительных характеристик наших мониторов и принимает весьма невыгодное решение не покупать у нас мониторы, и приложение оператора 1 выполняет откат транзакции, и на складе снова оказывается 40 мониторов. Мы потеряли выгодного заказчика, но еще хуже было бы, если бы клиент второго оператора согласился на 10 оставшихся мониторов, и приложение, с которым работает оператор два, отработав свой алгоритм, занесло О (ноль) оставшихся мониторов на складе, а после этого приложение оператора один снова бы записало исходные 40 мониторов на складе, хотя 10 их них уже проданы. Такая ситуация оказалась возможной потому, что приложение второго оператора имело доступ к промежуточным данным, которые сформировало первое приложение.

13.Проблема несогласованных данных.

Проблемы несогласованных данных. Рассмотрим ту же самую ситуацию с заказом мониторов. Предположим, что ситуация несколько изменилась. И оба оператора начинают работать практически одновременно. Они оба получают начальное состояние склада 40 мониторов, а далее первый оператор успешно завершает переговоры со своим клиентом и продает ему 30 мониторов. Он завершает работу своего приложения, и оно выполняет команду фиксации транзакции COMMIT. Состояние базы данных непротиворечивое. В этот момент, выяснив все тонкости и характеристики наших мониторов, клиент второго оператора также решает сделать заказ, и второй оператор, повторно получая состояние склада, видит, что оно изменилось. База данных находится в непротиворечивом состоянии, но второй оператор считает, что нарушена целостность его транзакции, в течение выполнения одной работы он получил два различных состояния склада. Эта ситуация возникла потому, что приложение первого оператора смогло изменить кортеж с данными, который уже прочитало приложение второго оператора.

14.Проблема данных–призраков.

Проблемы строк-призраков (строк-фантомов). Предположим, что администратор нашей фирмы поручил секретарю напечатать итоговый отчет по результатам работы за текущий месяц. И допустим, что приложение печатает отчет в двух видах: в подробном и в укрупненном. В момент, когда приложение печати начало формировать свой первый вид отчета, один из операторов принимает еще один заказ, поэтому к моменту формирования укрупненного отчета в БД появились новые сведения о продажах, которые и были внесены в укрупненный отчет. Мы получили два отчета в одном приложении, которые содержат разные цифры и не совпадают друг с другом. Такое стало возможно потому, что приложение печати выполнило два одинаковых запроса и получило два разных результата. БД находится в согласованном состоянии, но приложение печати работает некорректно.

15. Синхронизация запросов к БД с использованием блокировок. Элементы БД. Необходимость блокировки элементов БД. Элемент как примитив синхронизации. Легальное расписание.

Основные элементы:

Поле – элементарная единица логической организации данных, которая соответствует неделимой единице информации – реквизиту.

Для описания поля используются следующие характеристики:

-имя, например, Фамилия, Имя, Отчество, Дата рождения;

-тип, например, символьный, числовой календарный;

-длина, например, 15 байт, причем будет определяться максимально возможным количеством символов;

-точность для числовых данных, например два десятичных знака для отображения дробной части числа.

Запись – совокупность логически связанных полей. Экземпляр записи – отдельная реализация записи, содержащая конкретные значения ее полей.

Файл (таблица) – совокупность экземпляров записей одной структуры. Основные рабочие характеристики баз данных:

-полнота – чем полнее база данных, тем вероятнее, что она содержит нужную информацию

(однако не должно быть избыточной информации);

-правильная организация – чем лучше структурирована база данных, тем легче в ней найти необходимые сведения;

-актуальность – любая база данных может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею объекта;

-удобство для использования – база данных должна быть проста и удобна в использовании, и иметь развитые методы доступа к любой части информации.

Блокировка.

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

1)блокировка со взаимным доступом, называемая также S-блокировкой (от Sharedlocks) и блокировкой по чтению.

2)монопольная блокировка (без взаимного доступа), называемая также X-блокировкой от (eXclusivelocks) или блокировкой по записи. Этот режим используется при операциях изменения, добавления и удаления объектов.

При этом:

1)если транзакция налагает на объект X-блокировку, то любой запрос другой транзакции с блокировкой этого объекта будет отвергнут.

2)если транзакция налагает на объект S-блокировку, то

3)запрос со стороны другой транзакции с X-блокировокй на этот объект будет отвергнут

4)запрос со стороны другой транзакции с S-блокировокй этого объекта будет принят

Транзакция, запросившая доступ к объекту, уже захваченному другой транзакцией в несовместимом режиме, останавливается до тех пор, пока захват этого объекта не будет снят. Доказано, что сериализуемость транзакций (или, иначе, их изоляция) обеспечивается при использовании двухфазного протокола блокировок (2LP - Two-PhaseLocks), согласно которому все блокировки, произведенные транзакцией, снимаются только при ее завершении. Т.евыполение транзакции разбивается на две фазы: (1) - накопление блокировок, (2) - освобождение блокировок в результате фиксации или отката.

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

1)блокируется вся база данных - очевидно, этот вариант неприемлим, поскольку сводит многопользовательский режим работы к однопользовательскому

2)блокируются отдельные таблицы

3)блокируются страницы (страница - фрагмент таблицы размером обычно 2-4 Кб, единица выделения памяти для обработки данных системой)

4)блокируются записи

5)блокируются отдельные поля

6)Современные СУБД, как правило, могут осуществлять блокировку на уровне записей или страниц.

Элемент, как примитив синхронизации

// Адекватного ответа не нашел Неблокирующая синхронизация — подход в параллельном программировании на симметрично-

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

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

Легальное расписание:

Расписание правильно оформленных логических элементов работы, в котором повторная блокировка ранее блокированного объекта происходит после его разблокирования, называется легальным расписанием.

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

16.Бесконечные ожидания. Решение проблемы бесконечного ожидания.

Ожидание и тупики. При использовании механизма блокировок сталкиваются с такими двумя нежелательными явлениями, как бесконечные ожидания и тупиковые ситуации.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]