Информационные системы в локальных сетях

Тупики

Если не управлять доступом к совместно используемым объектам, то между пользователями ресурсов могут возникнуть тупиковые ситуации (клинчи, «смертельные объятия» или блокировки).

Существует два основных вида тупиков: взаимные (deadlock) и односторонние (livelock).

Случай взаимного тупика – каждый из двух пользователей стремится захватить данные, уже захваченные другим пользователем (рис. 5.8а). В этой ситуации Пользователь-1 ждет освобождения ресурса N, в то время как Пользователь-2 ожидает освобождения от захвата ресурса M. Следовательно, никто из них не может продолжить работу.

Пример более сложной тупиковой ситуации приведен на рис. 5.8б.

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

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

 
 

 

 


Захват Требование

Ресурса ресурса

M N M N Q

 

 

А) Б)

Рис. 5.8. Примеры взаимных тупиков в распределенных базах данных

 

В локальной вычислительной сети персональных ЭВМ выделяют три варианта создания информационной системы:

o Типа файл-сервер;

o Типа клиент-сервер;

o Основанные на технологии интранет.

Информационную систему типа файл-сервер можно построить двумя способами:

o С использованием несетевых СУБД, предназначенных для применения на отдельной машине;

o С использованием сетевых СУБД, разрабатываемых для применения в локальной вычислительной сети.

Под сетевой СУБД понимается система с произвольной моделью данных (не обязательно сетевой), ориентированная на использование в сети.

Программы несетевой СУБД и используемые ими данные могут храниться на компьютере-сервере (КС) и на компьютере-клиенте (КК).

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

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

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

Примеры несетевых СУБД: dBase III Plus, dBase IV и FoxBase.

 

 
 


хранение

 

копирование физические

соединения