Рубрики

ВОРОТА | GATE-CS-2014- (Set-3) | Вопрос 65

Рассмотрим транзакции T1, T2 и T3 и графики S1 и S2, приведенные ниже.

T1: r1(X); r1(Z); w1(X); w1(Z)
T2: r2(Y); r2(Z); w2(Z)
T3: r3(Y); r3(X); w3(Y)
S1: r1(X); r3(Y); r3(X); r2(Y); r2(Z);
    w3(Y); w2(Z); r1(Z); w1(X); w1(Z)
S2: r1(X); r3(Y); r2(Y); r3(X); r1(Z);
    r2(Z); w3(Y); w1(X); w2(Z); w1(Z) 

Какое из следующих утверждений о расписаниях является ИСТИННЫМ?
(A) Только S1 конфликтно-сериализуем.
(B) Только S2 конфликтно-сериализуем.
(C) S1 и S2 конфликтно-сериализуемы.
(D) Ни S1, ни S2 не являются сериализуемыми конфликтами.

Ответ: (А)
Объяснение: Для сериализуемости конфликта расписания (которое дает тот же эффект, что и для последовательного расписания), мы должны проверить наличие конфликтных операций, таких как чтение-запись, запись-чтение и запись-запись между каждой парой транзакций, и на основе этих конфликтов мы создайте граф приоритета, если граф содержит цикл, это не конфликтный сериализуемый график.

Чтобы построить график приоритетов: если Read (X) в Ti, а затем Write (X) в Tj (отсюда и конфликт), то мы рисуем ребро от Ti до Tj (Ti -> Tj)

Рекомендуемые посты:

ВОРОТА | GATE-CS-2014- (Set-3) | Вопрос 65

0.00 (0%) 0 votes