Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1
Вариант решения домашнего задания №6.
Задача 1.
Сформируем протокол возврата для данной последовательности действий. Укажем рядом с каждой записью протокола номер действия, которое вызывает появление этой записи. Пусть контрольная точка стартует сразу после действия 8. Приведем текст протокола с комментариями.






7. // в этот момент новое значение элемента b стало равно 4

8. <Т2, a, 3> // новое значение элемента а=30



// обе стартовавшие транзакции являются активными

11. // новое значение элемента с=3

12.

13.

16. // новое значение элемента a=29

19.

22. // новое значение элемента c=10

23.

24. // новое значение элемента d=1

25.



//активные транзакции контрольной точки Т2 и Т4 завершены


Внутри контрольной точки в данном случае стартуют транзакции Т1 и Т3, причем транзакция Т3 завершается внутри контрольной точки.

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

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

Сканируем протокол с конца:


  • - для транзакции Т1 не было встречено записей или , следовательно, Т1 незавершенная. Действия незавершенных транзакций должны быть отменены, т.е. записываем на диск старое значение элемента а=30.

  • - транзакция Т1 относится к незавершенным, ее действия при восстановлении отменяются, следовательно, записываем в протокол запись об отмене транзакции .

  • - фиксируем, что транзакция T2 относится к завершенным, т.е. полностью зафиксировавшим все изменения на диске.

  • - поскольку транзакция Т2 трактуется как завершенная, данное действие игнорируется.

  • - незавершенными на момент возникновения этой записи в протоколе могут быть только активные транзакции контрольной точки. Однако транзакция Т2 уже зафиксирована как завершенная. Следовательно, моментом окончания процесса сканирования протокола будет запись .

  • <Т2, a, 3> - так как Т2 – завешенная транзакция, действие игнорируется.

  • - транзакция Т4 еще не завершена, действие отменяется, т.е. записывается на диск старое значение элемента b=5.

  • - записываем в протокол - действие по отмене транзакции.

б) Пусть сбой произошел после выполнения контрольной точки, например, сразу после появления в протоколе на диске записи . Сканируем протокол с конца.



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

  • - фиксируется, что транзакция T4 завершена.

  • - действие игнорируется, так как Т4 - завершенная транзакция.

  • - фиксируется, что транзакция Т3 завершена.

  • - действие игнорируется, так как Т3 - завершенная транзакция.

  • - действие игнорируется, так как Т3 - завершенная транзакция.

  • - для транзакции Т1 не было встречено записей или , следовательно, Т1 незавершенная. Отменяем действие - записываем на диск старое значение элемента а=30.

  • - транзакция Т1 относится к незавершенным, ее действия при восстановлении отменялись, следовательно, записываем в протокол запись об отмене транзакции .

  • - фиксируем, что транзакция T2 относится к завершенным, т.е. полностью зафиксировавшим все изменения на диске.

  • - поскольку транзакция Т2 трактуется как завершенная, данное действие игнорируется.

  • - завершаем сканирование.


Задача 2.
Сформируем протокол повтора для данной последовательности действий. Пусть контрольная точка стартует сразу после действия 12.






7.

8. <Т2, a, 30>

11.

12.



13.

16.

19.

22.

23.



24.

25.



Такая установка конца контрольной точки будет корректна, если до этого момента будут записаны на диск все изменения, сделанные транзакциями, завершенными до начала контрольной точки. В нашем случае это транзакция Т2. Таким образом, до момента появления в протоколе записи требуется, чтобы на диск были записаны значения элементов a=30, c=3.


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

а) Пусть сбой произошел во время выполнения контрольной точки, например, сразу после появления на диске записи протокола . Сканируем протокол с конца для определения множеств завершенных и незавершенных транзакций и момента начала прямого сканирования. При обратном сканировании сначала встретим запись . Это означает, что изменения завершенных транзакций до контрольной точки, возможно, еще не были зафиксированы. Следовательно, сканировать надо до начала протокола (в общем случае до предыдущей контрольной точки). При таком сканировании определится, что завершенной транзакцией является только транзакция T2, незавершенными транзакциями - Т1, Т3, Т4. Для всех незавершенных транзакций записываем в протокол записи , и .

Проводим прямое сканирование для повтора завершенной транзакции T2.


  • - игнорируем

  • - игнорируем

  • - игнорируем, так как Т4 - незавершенная транзакция

  • <Т2, a, 30> - записываем новое значение элемента a=30.

  • - записываем новое значение элемента с=3

  • - завершение процесса прямого сканирования, так как все завершенные транзакции просмотрены.

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



  • - игнорируем

  • - повторяем действие, т.е. записываем b=4

  • <Т2, a, 30> - игнорируем как действие завершенной до контрольной точки транзакции

  • - игнорируем

  • - игнорируем

  • - игнорируем

  • - игнорируем как действие незавершенной транзакции

  • - игнорируем

  • - повторяем действие, т.е. записываем c=10.

  • - игнорируем

  • - повторяем действие, т.е. записываем d=1.

  • - завершаем процесс сканирования.


Задача 3.
Сформируем протокол возврата-повтора для данной последовательности действий. Пусть контрольная точка стартует сразу после действия 12, как и в протоколе повтора.






7.

8. <Т2, a, 3, 30>

11.

12.



13.

16.

19.

22.

23.



24.

25.



Такая установка конца контрольной точки будет корректна, если до этого момента будут записаны на диск все изменения, сделанные транзакциями, причем как завершенными, так и незавершенными, до начала контрольной точки. В нашем случае до момента появления в протоколе записи требуется, чтобы изменения, сделанные действиями, которые соответствуют записям протокола , <Т2, a, 3, 30>, были зафиксированы, т.е. произошла запись элементов b=4, a=30, c=3.


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

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



  • - транзакция Т1 незавершенна, поскольку для нее не было встречена запись , следовательно, отменяем действие, записывая старое значении элемента a=30.

  • - записываем в протокол запись об отмене .

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

  • - заносим транзакцию Т2 в множество завершенных транзакций для последующего повтора.

  • - игнорируем как действие завершенной транзакции.

  • <Т2, a, 3, 30> - игнорируем по той же причине.

  • - так как Т4 – незавершенная транзакция, отменяем действие, записывая старое значение b=5.

  • - записываем в протокол запись об отмене .

  • - окончание обратного сканирования.

Далее проводим прямое сканирование с целью повтора завершенных транзакций, т.е. транзакции Т2. Укажем только действия транзакции Т2.

  • <Т2, a, 3, 30> - повторяем действие, записывая новое значение a=30.

  • - повторяем действие, записывая новое значение c=3.

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

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



  • - отменяем действие, так как транзакция Т4 является незавершенной, т.е. записываем старое значение d=4.

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

  • - фиксируем транзакцию Т3 как завершенную.

  • - игнорируем как действие завершенной транзакции.

  • - игнорируем.

  • - транзакция Т1 незавершенна, следовательно, отменяем действие, записывая старое значении элемента a=30.

  • - записываем в протокол запись об отмене .

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

  • - игнорируем.

  • - игнорируем.

  • <Т2, a, 3, 30> - игнорируем.

  • - так как Т4 – незавершенная транзакция, отменяем действие, записывая старое значение b=5.

  • - записываем в протокол запись об отмене , окончание обратного сканирования.

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

  • - записываем новое значение c=10.

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

Вариант решения домашнего задания №6. Задача 1
78.03kb.

14 10 2014
1 стр.


Приложения: №1 Для проверки домашнего задания 1 вариант Тест «Поверхность и водоёмы нашего края»

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

54.63kb.

08 10 2014
1 стр.


Урок 29. Задания 3,6,7 Урок 30. Задания 1, 3, 4, 5 Урок 31. Задания 4 Урок 32. Задания 1, 2, 3, 4

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

16.13kb.

14 10 2014
1 стр.


Приложение № Проверка домашнего задания 3х-у=3, у=3х-3, у=3х-3

С помощью ключа получить нужное слово: (-4;5) т

18.9kb.

14 12 2014
1 стр.


Презентация по теме, аудиозаписи, схемы диалогов, заготовка для домашнего задания

Тип урока: Урок закрепления изучаемого материала

43.61kb.

14 09 2014
1 стр.


Программа В. В. Пасечник Проверка выполнения домашнего задания

Какие изменения генофонда позволяют делать вывод о происходящих в популяции эволюционных изменениях?

20.33kb.

17 12 2014
1 стр.


1. Операционная система ms dos

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

179.27kb.

12 10 2014
1 стр.


Задача проверяется на нескольких тестах. Задача считается решенной, если она проходит все тесты. Баллы за частичные решения не начисляются

Ваша программа должна читать данные с клавиатуры и выводить результат на экран в точности в таком формате, как указано в задаче. Каждая задача проверяется на нескольких тестах. Зад

28.57kb.

09 10 2014
1 стр.