Очистка оперативной и внешней памяти
Проверяется тестом memtest.
Перераспределение внешней памяти, занимаемой файлами базы данных, может происходить только в двух случаях: расширении таблиц и удалении таблиц. При изменении содержимого таблиц (удалении данных) перераспределения не происходит. Для тестирования освобождения внешней памяти анализируется содержимое памяти до, и после удаления некоторой таблицы.
Реализация:
-
на гибком диске создается БД. Очередь файлов БД устанавливается равной 5 файлам;
-
в процессе работы теста создаются таблицы
TEST1
,TEST2
,TEST3
,TEST4
, состоящие из 1 столбца типа char(20). В таблицуTEST1
заносится строкаTESTING
. С помощью последующего открытия таблицTEST2
,TEST3
,TEST4
таблицаTEST1
вытесняется на диск; -
производится сканирование диска для определения количества строк
TESTING
; -
производится удаление таблицы
TEST1
; -
повторяется сканирование диска. Если количество строк
TESTING
не изменилось, значит, очистка памяти не происходит, иначе остаточная информация удаляется. Т.к. обрабатываемая информация хранится в системном журнале и в файлах таблицы БД, то при удалении таблицы выполняется очистка записанной в её файлах информации. Однако эта информация может некоторое время оставаться в системном журнале. Именно поэтому в данном тесте после удаления таблицы количество строк TESTING уменьшается, но не становится равным 0. Файлы системного журнала не перераспределяются при удалении таблицы, и в них остается остаточная информация до тех пор, пока она не будет перезаписана новой информацией.
Примечание
При выполнении теста в ОС должны быть загружены драйвера работы с гибким диском (devb-fdc для ОС QNX, floppy – для ОС Linux). Все компьютеры должны быть оборудованы приводом гибкого диска.
При использовании для проверки устройств, отличных от гибкого диска, может потребоваться изменение исходных текстов memtest2 и последующая компиляция тестов.