Мегаобучалка Главная | О нас | Обратная связь


Основные проблемы реализации архивных хранилищ



2016-01-26 433 Обсуждений (0)
Основные проблемы реализации архивных хранилищ 0.00 из 5.00 0 оценок




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

Синхронизация: семафоры, мьютексы, барьеры, взаимоблокировки — реентерабельность.

 

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

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

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

Windows предоставляет четыре объекта, предназначенных для синхронизации потоков и процессов. Три из них — мьютексы, семафоры и события — являются объектами ядра, имеющими дескрипторы. События используются также для других целей, например, для асинхронного ввода/вывода

Семафоры

Семафоры – примитивы синхронизации предложены Дейкстрой (Dijkstra) в 1968 г. в качестве компонента операционной системы THE

Семафор - это целочисленная неотрицательная переменная, для которой определены 2 операции: P (от датского слова proberen – проверять) и V (от verhogen – увеличивать).

Операции P и V выполняются атомарно

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

P(S): пока S == 0 процесс блокируется;

S = S - 1;

V(S): S = S + 1;

Эта запись означает следующее: при выполнении операции P над семафором S сначала проверяется его значение. Если оно больше 0, то из S вычитается 1. Если оно меньше или равно 0, то процесс блокируется до тех пор, пока S не станет больше 0, после чего из S вычитается 1. При выполнении операции V над семафором S к его значению просто прибавляется 1.

Виды семафоров

Двоичный семафор

·S может принимать значения 0 и 1, инициализируется значением 1

·обеспечивает эксклюзивный доступ к ресурсу (например, при работе в критической секции)

·одновременно может выполняться только один поток

Счетный семафор

·S инициализируется значением N (число доступных единиц ресурса)

·представляет ресурсы, состоящие из нескольких однородных элементов

·позволяет потокам исполняться, пока есть неиспользуемые элементы

Мьютексы

Мьютекс – двоичный семафор, обычно используемый для организации согласованного доступа к неделимому общему ресурсу. Мьютекс может принимать значения 1 (свободен) и 0 (занят).

Операции над мьютексами:

·acquire(mutex) – уменьшить (занять) мьютекс

·release(mutex) – увеличить (освободить) мьютекс

·tryacquire(mutex) – часто реализуемая неблокирующая операция, выполняющая попытку уменьшить (занять) мьютекс

Мьютексы в конкретных реализациях могут иметь дополнительные свойства

·Запоминание владельца – освободить мьютекс может только поток, захвативший его

·Рекурсивность – поток может многократно захватить мьютекс (вызывать aquire()); для освобождения мьютекса поток должен соответствующее число раз вызвать release()

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

 

Барьеры

Барьеры (barrier) – примитив синхронизации во времени нескольких потоков/процессов  Поток, остановившийся на барьере, ожидает другой (другие потоки), когда они «дойдут» до этого же барьера

Взаимоблокировки

Для возникновения взаимоблокировок необходимо:

1. условия взаимного исключения – каждый ресурс или отдан одному процессу, или доступен.

2. условия выдерживания и ожидания – процесс, использующий ресурс может запросить новый ресурс.

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

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

 

При возникновении взаимоблокировок используются 4 стратегии:

1. пренебрежение взаимоблокировки.

2. обнаружение и восстановление – при возникновении блокировки – откат

3. избежание взаимоблокировки путем контроля распределения ресурсов

4. избежание взаимоблокировок структурным опровержением одного из условий.


Реентерабельность

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

 

Синхронизация ядра Windows при высоком IRQL. Синхронизация при низком IRQL. Механизмы синхронизации режима ядра. Объекты диспетчера ядра. Условия освобождения различных синхронизирующих объектов.

 



2016-01-26 433 Обсуждений (0)
Основные проблемы реализации архивных хранилищ 0.00 из 5.00 0 оценок









Обсуждение в статье: Основные проблемы реализации архивных хранилищ

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (433)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)