Самоучители для программиста

         

Active Sensors



Active Sensors

(Активные датчики) содержит два списка: Available Sensors (Возможные датчики) слева и Current Sensors (Текущие датчики) справа. Кнопками Add (Добавить) и Remove (Удалить) можно скорректировать текущий набор применяемых датчиков, а кнопка Properties (Свойства) открывает доступ к настройке свойств датчиков. Флажок Smart Scan определяет приоритет операций при выполнении сканирования. Если флажок установлен, то работа датчиков оказывает минимальное воздействие на работу клавиатуры, мыши, дисков.









Advanced



Advanced


На вкладке Advanced (Дополнительно) имеется группа элементов управления Test to Skip (Пропуск тестов).

Skip CMOS Tests (Пропустить тест CMOS) - следует использовать в том случае, если Norton Disk Doctor неверно определяет параметры жесткого диска и фиксирует их отличие от данных CMOS.

Only One Hard Disk (Только один жесткий диск) - следует использовать, если Norton Disk Doctor в системе с одним жестким диском обнаруживает более одного диска.

Skip File Date & Time Tests (Пропустить проверку даты и времени создания файлов) - следует использовать при искусственном изменении показаний системных часов.

Skip Partition Tests (Пропустить проверку таблиц разделов) - Norton Disk Doctor может фиксировать ошибки таблицы разделов в том случае, если разделы

диска создавались не штатной программой fdisk.exe, а иной, например Partition Magic.

Skip Compression Testing (Пропустить проверку сжатых дисков) - этот режим может потребоваться, если для сжатия дисков использовалась не штатная системная программа DriveSpace, а какое-то иное средство.

Skip Host Drive Testing (Пропустить проверку несущего диска) - сокращает время проверки сжатого диска, но если на нем будут обнаружены ошибки, эту проверку надо подключить. Ремонт сжатого диска без соответствующего ремонта его несущего диска может привести к появлению новых ошибок.

Scan for Auto-Mount Disks (Автоматическое присоединение несущего диска). Допустим, вам надо проверить большое количество дискет, некоторые из которых сжаты, а некоторые - нет. В таком случае при переходах от одних дискет к другим может потребоваться выполнять операцию присоединения или отсоединения несущего диска, иначе может быть зафиксирована ошибка. Установка флажка приведет к тому, что эти операции будут происходить автоматически.

Norton Disk Doctor может выполнять проверку дисков в фоновом режиме. Это особенно актуально при проверке качества поверхности, которая занимает продолжительное время. Для этого надо запустить Norton Disk Doctor и начать проверку, щелкнув на кнопке Diagnose (Диагностика). Теперь можно свернуть окно программы и на панели индикации рядом с часами появится значок Norton Disk Doctor.
На вкладке Advanced в группе Background Operations (Фоновый режим) счетчиками Begin after... idle minutes, and ... seconds (Начинать через ... минут и ... секунд простоя) можно задать время простоя жесткого диска, по истечении которого происходит возобновление проверки в фоновом режиме.
В раскрывающемся списке When errors are found (Если найдены ошибки) можно выбрать сигнальные действия фонового режима:

·Sound a short alarm (короткий звуковой сигнал);
·Flash taskbar area (Мигание Панели задач);  
·Sound alarm and flash taskbar (Звуковой сигнал и мигание Панели задач);  
·Display report window (Вывести окно отчета).  

Если при проверке в фоновом режиме ошибок не обнаружено, работа Norton Disk Doctor завершается без каких-либо сообщений.











Advanced (Дополнительно) Окно



Advanced (Дополнительно). Окно разделено на две панели. На левой панели иерархическая структура представляет способ сортировки, который можно изменить с помощью раскрывающегося списка Sort by (Сортировка по):
·Symptoms (По признаку);  
·Severity (По степени опасности);  
·Scanners (По датчикам).  

В последнем случае неисправности отображаются непосредственно в порядке тестирования.









Alarms



Alarms

(Сигнализация) можно задать параметры всплывающих предупреждающих окон, появляющихся при достижении параметрами критических уровней. Раскрывающийся список содержит три категории предупреждений:

·Notice (Замечание);  
·Caution (Внимание);  
·Alert (Тревога).  

Для каждого из видов предупреждений можно задать свой режим отображения: Show Alarm Message On Top of All Windows (Отображать предупреждение поверх всех окон) или Show Alarm Message In The Background (Отображать предупреждение в фоновом режиме).




























Алгоритм обработки макровызова следующий



Алгоритм обработки макровызова следующий

Обработка макровызова. На входе этого модуля есть номер элемента в Таблице имен макроопределений и разобранный текст оператора макровызова. Создание пустых: Таблицы локальных переменных, Таблицы меток. Чтение первой строки из Таблицы макроопределений по адресу, записанному в элементе Таблице имен макроопределений. (Здесь и далее мы подразумеваем, что после чтения очередной строки макроопределения указатель для следующего чтения устанавливается на адрес следующей строки, если он не изменен явным образом.) Проверка параметров: сопоставление фактических параметров вызова с формальными параметрами, описанными в заголовке макроопределения (Заголовок находится в строке, только что считанной из Таблицы макроопределений). При несоответствии фактических параметров формальным выдается сообщение об ошибке... ... и обработка макровызова завершается При правильном задании фактических параметров параметры и их значения заносятся в Таблицу локальных переменных. Создается и заполняется Таблица меток макроопределения. При этом текст макроопределения просматривается до оператора MEND, выявляются метки и заносятся в таблицу. Проверяется уникальность меток. После заполнения таблицы меток указатель чтения из Таблицы макроопределений устанавливается на вторую (следующую за заголовком строку) текста макроопределения. Читается следующая строка текста макроопределения. Если строка является комментарием Ассемблера, строка выводится в макрорасширение. Если строка является комментарием Макроязыка, управление передается на чтение следующей строки макроопределения. Выполняется разбор строки. Алгоритм ветвится в зависимости от мнемоники оператора. При обработке оператора LOCL имя локальной переменной ищется сначала в Таблице локальных переменных... ... а затем - в Таблице глобальных переменных. Если имя найдено в одной из таблиц, формируется сообщение о неуникальном имени. В противном случае заносится новая строка в таблицу локальных имен. В любом случае управление передается на чтение следующей строки макроопределения. Обработка оператора GLBL отличается от оператора LOCL только тем, что новая строка создается в Таблице глобальных переменных. При обработке оператора LOCL вычисляется выражение - операнд команды. Вычисление включает в себя подстановку значений входящих в выражение переменных. Возможны ошибки - из-за использования неопределенных имен и ошибок в синтаксисе выражения. Имя переменной ищется сначала в Таблице локальных переменных. Если имя найдено, изменяется его значение в Таблице локальных переменных. Если имя переменной не найдено, оно ищется в Таблице глобальных переменных. Если имя найдено в Таблице глобальных переменных, изменяется его значение в этой таблице. Если имя не найдено ни в одной из таблиц, формируется сообщение о неопределенном имени. При обработке оператора MIF вычисляется условное выражение - 1-й операнд команды (возможны ошибки). Проверяется значение вычисленного условного выражения. Если значение выражения "истина", имя метки - 2-го операнда команды ищется в Таблице меток макроопределения. Если метка найдена в таблице, указатель для следующего чтения из Таблице макроопределений устанавливается на адрес соответствующий метке Если метка найдена в таблице, выдается сообщение о неопределенной метке. При обработке оператора MGO имя метки - операнда команды ищется в Таблице меток макроопределения. Если метка найдена в таблице, указатель для следующего чтения из Таблице макроопределений устанавливается на адрес соответствующий метке. Если метка найдена в таблице, выдается сообщение о неопределенной метке. При обработке оператора MNOTE выводится сообщение, определяемое операндом. Устанавливается и анализируется код серьезности. Код серьезности является общим для всей работы Макропроцессора, его значение изменяется только, если новое значение больше текущего (более серьезная ошибка) Если код серьезности не допускает продолжения работы Макропроцессора, устанавливается признак завершения работы. При обработке оператора MEXIT устанавливается и анализируется код серьезности. Если код серьезности не допускает продолжения работы Макропроцессора, устанавливается признак завершения работы. Освобождаются структуры данных, созданные для обработки макровызова... ...и обработка макровызова завершается. При обработке оператора MEND освобождаются структуры данных, созданные для обработки макровызова... ...и обработка макровызова завершается. Любая другая мнемоника операции означает, что оператор является не оператором Макроязыка, а оператором языка Ассемблера. В этом случае прежде всего проверяется, не имеет ли оператор метки, которая должна быть уникальной. Если оператор имеет такую метку, формируется имя уникальной метки и индекс уникальных меток увеличивается на 1. Выполняются подстановки в операторе языка Ассемблера (значение имен ищутся в Таблицах локальных и глобальных переменных, возможны ошибки). Оператор языка Ассемблера записывается в макрорасширение.









Алгоритм работы Макропроцессора



Алгоритм работы Макропроцессора

Очевидно, что когда Макропроцессор обрабатывает макровызов, он уже должен "знать" макроопределение данной макрокоманды. Для обеспечения этого таблицы макроопределений и имен макроопределений должны быть созданы до начала обработки макровызовов. Поэтому Макропроцессор должен состоять из двух проходов, на первом проходе строятся таблицы макроопределений и имен макроопределений, а на втором осуществляется обработка макровызовов. Если макроопределения сосредоточены в начале исходного модуля, то Макропроцессор может быть и однопроходным.

Ниже мы приводим алгоритм работы 2-проходного Макропроцессора, при этом мы исходим из следующих предпосылок: наш Макропроцессор является независимым от Ассемблера; таблица параметров объединяется с таблицей локальных переменных, в дальнейшем мы называем объединенную таблицу таблицей локальных переменных; операторы Макроязыка включают в себя: MACRO, MEND, MEXIT, MNOTE, LOCL, GLBL, SET, MGO, MIF; обеспечиваются локальные и глобальные переменные макроопределений, уникальные метки.



Алгоритм работы Непосредственно Связывающего Загрузчика



Алгоритм работы Непосредственно Связывающего Загрузчика

Наиболее простой алгоритм работы Загрузчика - двухпроходный.

На вход Загрузчика обязательно подается список объектных модулей, из которых составляется программа. Этот список может быть параметром программы-Загрузчика или находиться в отдельном файле. На первом проходе Загрузчик просматривает все объектные модули по списку и решает 2 задачи: определяет общий объем области памяти, необходимый для программы и размещение объектных модулей в этой области; составляет Глобальную таблицу внешних имен программы.

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

В конце 1-го прохода Загрузчик выделяет память и, уже зная фактический начальный адрес программы в памяти корректирует все адреса в Глобальной таблице внешних символов.

На 2-ом проходе Загрузчик снова читает все объектные модули по списку. При этом он уже размещает коды модуля в памяти и формирует для каждого модуля Таблицу внешних символов (локальную для модуля) и Таблицу перемещений. Адресные поля в этих таблицах он заполняет или корректирует с учетом фактического адреса модуля в памяти и содержимого Глобальной таблицы внешних символов. Затем он выполняет обработку Таблицы перемещений, используя для коррекции адресных кодов в программе значения из Локальной Таблицы внешних символов.



Алгоритм выполнения 1го прохода следующий



Алгоритм выполнения 1-го прохода следующий:

1-й проход Макропроцессора Инициализация: открытие исходного файла, создание пустых таблиц, признак "обработка макроопределения" устанавливается в FALSE. Чтение следующей строки исходного файла с проверкой конца файла. Если при чтении строки найден конец файла, выводится сообщение об ошибке, закрываются файлы, освобождается память... ... и Макропроцессор завершается с признаком ошибки. Если конец файла не достигнут, выполняется лексический разбор прочитанной строки с выделением имени и мнемоники операции. Алгоритм Макропроцессора разветвляется в зависимости от мнемоники операции Если мнемоника операции MACRO - заголовок макроопределения, то в таблицу имен макроопределений заносится имя, находящееся в этом операторе и начальный адрес свободной области в таблице макроопределений. (При занесении имени в таблицу имен макроопределений проверяется, нет ли уже в таблице такого имени, если есть - ошибка) Оператор MACRO записывается в таблицу макроопределений. Признак "обработка макроопределения" устанавливается в TRUE. Если мнемоника операции MEND - конец макроопределения, то оператор записывается в таблицу макроопределений... ... и признак "обработка макроопределения" устанавливается в FALSE. Если мнемоника операции END - конец программы, то проверяется установка признака "обработка макроопределения". Если этот признак установлен в TRUE, т.е., конец программы встретился до окончания макроопределения, то выводится сообщение об ошибке, закрываются файлы, освобождается память... ... и Макропроцессор завершается с признаком ошибки. Если этот признак установлен в FALSE, то выполняются завершающие операции ... ... и заканчивается 1-й проход Макропроцессора. При любой другой мнемонике оператора проверяется установка признака "обработка макроопределения". Если этот признак установлен в TRUE, то оператор записывается в таблицу макроопределений, если признак установлен в FALSE, то оператор игнорируется Макропроцессором.









Алгоритм выполнения 2го прохода следующий



Алгоритм выполнения 2-го прохода следующий:

2-й проход макропроцессора Начальные установки: открытие файлов, создание пустых таблиц, etc. Признак режима обработки устанавливается в значение "обработка программы". Признак конца обработки установлен ? Если признак конца обработки установлен, выполняются завершающие операции... .. и работа Макропроцессора заканчивается. Выполняется разбор строки. Проверяется признак режима обработки. Если признак режима установлен в значение "обработка макроопределения", то проверяется мнемоника оператора. Если в режиме обработки макроопределения встречается мнемоника MEND, то режим переключается в "обработка программы", все прочие операторы в режиме обработки макроопределения игнорируются. Если признак режима работы установлен в значение "обработка программы", происходит ветвление алгоритма в зависимости от мнемоники оператора. Обработка оператора MACRO заключается в установке режима обработки в значение "обработка программы". Обработка директивы Ассемблера END заключается в установке признака окончания работы и выводе оператора в выходной файл. Любая другая мнемоника ищется в Таблице машинных команд и в Таблице директив Ассемблера. Если мнемоника найдена в одной из этих таблиц, то... ... оператор просто выводится в выходной файл. Если оператор не является оператором языка Ассемблера, то предполагается, что это макровызов и соответствующее мнемонике имя ищется в Таблице имен макроопределений. Если имя не найдено в Таблице имен макроопределений, то оно ищется в библиотеках макроопределений (см. ниже). Если имя не найдено и в библиотеках макроопределений, вырабатывается сообщение об ошибке и управление передается на чтение следующего оператора программы. Если имя не найдено в библиотеках макроопределений, соответствующие элементы включаются в Таблицу имен макроопределений и в Таблицу макроопределений. Если имя есть в Таблице макроопределений, выполняется обработка макровызова (см. ниже), после чего управление передается на чтение следующего оператора программы.









Алгоритмы работы Ассемблеров



Алгоритмы работы Ассемблеров

Ассемблер просматривает исходный программный модуль один или несколько раз. Наиболее распространенными являются двухпроходные Ассемблеры, выполняющие два просмотра исходного модуля. На первом проходе Ассемблер формирует таблицу символов модуля, а на втором - генерирует код программы



Appearance



Appearance


Эта вкладка содержит настройки оформления процесса проверки. Нам доступны следующие возможности:

·Enable Animation (Разрешить анимацию);  
·Play Music (Воспроизводить музыку);  
·Show custom message (Отображать заданное сообщение).  








·Ask Me First (Выдать запрос);




·Ask Me First (Выдать запрос);  
·Auto-Repair (Исправлять автоматически);  
·Skip Repairs (Пропустить);  
·Custom (Заказная настройка).








At End



at End

(Файлы в конце диска). На этой вкладке можно указать файлы, которые редко используются, например архивные. Они не нуждаются в быстром доступе и будут записаны в самый конец диска.







Battery Power (Заряд батареи)



Battery Power (Заряд батареи). Датчик показывает разряд батареи питания и используется на портативных компьютерах с автономным питанием.

CPU Usage (Загрузка процессора). Датчик измеряет время, затрачиваемое процессором на выполнение команд, по отношению ко времени его простоя. Если загрузка процессора все время высока, это может означать, что неэффективно расходуются ресурсы или открыто слишком много приложений. Датчик помогает контролировать работу системы, диагностировать неполадки и анализировать работу конкретных приложений.

Open Files (Открытые файлы). Датчик контролирует количество файлов, открываемых в ходе работы приложений и процессов. В Windows нет ограничений на число одновременно открытых файлов (за исключением ограниченности ресурсов GDI и USER), но чем больше файлов открыто одновременно, тем более снижается быстродействие системы.

Rescue Disk (Аварийный комплект). Датчик следит за своевременностью обновления аварийного комплекта дискет. По истечении заданного промежутка времени или при изменении системных данных он может автоматически запускать программу Rescue для обновления аварийного комплекта.

Threads (Потоки). Новые 32-разрядные приложения и 32-разрядный сегмент самой операционной системы могут разбивать свое выполнение на отдельные потоки (подпроцессы). Длительная операция (например загрузка большого документа) разбивается на потоки, что позволяет в это же время выполнять и другие задачи. Большое количество одновременно работающих потоков приводит к повышенному потреблению ресурсов памяти и замедлению работы процессора.

WinDoctor (Проверка системы). Датчик использует программу Norton WinDoctor для периодической проверки системы на наличие типичных проблем. При их обнаружении датчик может выдать сигнал, либо предпринять действия по исправлению ситуации с помощью программы Norton WinDoctor.










Библиотеки макроопределений



Библиотеки макроопределений

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

Мы в нашей схеме алгоритма показали, что обращение к библиотекам макроопределений происходит на 2-ом проходе Макропроцессора - если мнемоника оператора не распознана ни как оператор языка Ассемблера, ни как макрокоманда, определенная в данном исходном модуле. Возможны, однако, и другие алгоритмы использования библиотек.

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



·Bookmarks (Закладки); ·Find Results



·Bookmarks (Закладки);  
·Find Results (Результаты поиска);  
·Undo (Отмена);  
·Tracker History (Журнал снимков).  

Панель инструментов содержит следующие кнопки:

- Найти;
- Вырезать выделенное и поместить в буфер обмена;
- Копировать выделенное и поместить в буфер обмена;
- Вставить содержимое буфера обмена;
- Установить закладку;
- Удалить закладку;





- Режимы отображения панели значений.


Далее рассмотрим некоторые практические задачи, которые можно выполнить с помощью программы Norton Registry Editor.









By Date



By Date

(По датам). Поскольку Frequently (Часто) и Infrequently (Редко) - понятия относительные, на этой вкладке их можно конкретизировать, задав с помощью переключателя интервал времени, который будет использован при оценке регулярности открытия файлов: Day (День), Week (Неделя), Month (Месяц), Quarter (Квартал), Year (Год). Сортировку файлов по регулярности их открытия можно запретить, сбросив флажок Sort files by last access date (Сортировка файлов по дате открытия).









Cache Hits (Обращения в кэш) Датчик



Cache Hits (Обращения в кэш). Датчик показывает, сколько данных, необходимых программам, было получено из кэша, а не напрямую с диска. Событие "обращение в кэш" подразумевает, что кэш содержит необходимые данные, а "обращение мимо кэша" - что данные пришлось отыскивать на диске. Поскольку кэш-память использует область ОЗУ, доступ к ней осуществляется значительно быстрее, чем к диску.

Cache Memory Utilization (Загрузка кэша). Датчик контролирует объем физической памяти (ОЗУ), занятый под дисковый кэш. Доступ к данным, хранящимся в ОЗУ, происходит значительно быстрее, чем к данным, хранящимся на диске, поэтому чем больше объем чем больше объем дискового кэша, тем выше производительность работы компьютера. Размер дискового кэша динамически изменяется системой Windows для достижения оптимального соотношения между потребностями системы и объемом оперативной памяти, установленной в компьютере.

Disk Throughput (Скорость обмена с диском). Датчик измеряет скорость, с которой компьютер обрабатывает запросы к данным, хранящимся на диске. Поскольку часть этих данных сохраняется в кэш-памяти диска, на результат оценки влияет и производительность оперативной памяти и свойства диска. Низкая скорость может быть вызвана большим количеством процессов, одновременно запрашивающих данные, или малым объемом кэш памяти.

Windows Performance Status (Статистика работы Windows). Это не отдельный датчик, а группа датчиков, предназначенных для интеграции со стандартной служебной программой Системный монитор, входящей в состав Windows. Для каждого контролируемого параметра может быть добавлен отдельный датчик. На вкладке Свойства датчика можно задать разные заголовки для большого и малого размеров датчиков.









Caution


Среди пользователей часто можно встретить мнение, что Norton Utilites 2002 неправильно работает с локализованной версией Windows. Это выражается в том, что при проверке жесткого диска Norton Disk Doctor все русские имена файлов меняются на ??????. Чтобы избежать подобных проблем внимательно прочитайте этот раздел.

Если при первой проверке диска программой Norton Disk Doctor обнаружатся ошибки, связанные с именами файлов, то
НИ В КОЕМ СЛУЧАЕ не предпринимайте никаких мер по лечению!

Пакет Norton Utilites 2002 корректно работает с любой локализованной версией операционной системы, в том числе и с русифицированной. Ключевая информация определяется по региональным настройкам, которые были выполнены при установке операционной системы на компьютер. Однако в силу различных причин эти настройки могут быть нарушены. Поэтому перед началом эксплуатации Norton Utilites 2002 необходимо проверить региональные установки и восстановить их в случае необходимости.

Обязательно убедитесь, что строки в файле config.sys выглядят правильно:
device=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)  
country=007,866,C:\WINDOWS\COMMAND\country.sys  


В файле autoexec.bat настройки должны быть такими:

mode con codepage prepare=((866) C:\WINDOWS\COMMAND\ega3.cpi)  
mode con codepage select=866  
keyb ru,,C:\WINDOWS\COMMAND\keybrd3.sys  

Кроме того, к региональным установкам относятся некоторые строки файла C:\Windows\win.ini в группе [int]:

iCountry=7  
sCountry=Russia  
sLanguage=rus  










Close



   Очень внимательно отнеситесь к региональным настройкам операционной системы, так как пакет Norton Utilities 2002 использует их для своей работы. Если при первом запуске Norton Disk Doctor сообщает о том, что обнаружены ошибки в длинных именах файлов, не торопитесь их "исправлять", а прежде всего проверьте региональные установки в файлах config.sys, autoexec.bat, win.ini. Подробнее>>

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

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

   Norton Utilities 2002 - мощный инструмент, требующий бережного обращения. Не спешите выполнять действия, смысл которых вам не вполне понятен. Действуйте только в том случае, если четко представляете, что делаете и с какой целью.








Create Создание аварийного комплекта;




Create - Создание аварийного комплекта;

Update - Обновить;

Options - Параметры;

Show Details - Показать подробности

Кнопка Create (Создать) служит для запуска процесса создания аварийного комплекта.
С помощью кнопки Update (Обновить) можно обновить комплект восстановительных утилит.
Настройки программы выполняются в окне Options, которое открывается после щелчка на кнопке Options(Параметры).
Это окно содержит две вкладки. На вкладке Rescue Files вы можете выбрать какие файлы будут включены в аварийный комплект. Вкладка Format Settings позволяет определить параметры форматирования дискет, на которые будут записаны необходимые файлы.

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

Программа создает аварийный комплект, состоящий из трех дискет. Рассмотрим их содержание подробнее.

Basic Rescue Boot Disk (Загрузочный диск).
Кроме ядра операционной системы, загружающейся в режиме MS-DOS, здесь находится вспомогательная оболочка Rescue Disk Shell (рисунок ниже) для запуска служебных программ, а также DOS-модуль программы Rescue для восстановления жесткого диска и необходимые для этого файлы данных (файлы cmosinfo.dat, bootinfo.dat, partinfo.dat).

NU Emergency Utilities Disk 1 (Аварийные программы, диск 1).
На этой дискете находятся DOS-модули программ: Norton Disk Doctor, UnErase, а также копии системных служебных программ: fdisk.exe, format.com, sys.com, attrib.exe, с помощью которых можно разбить жесткий диск на разделы и выполнить его форматирование.

NU Emergency Utilities Disk 2 (Аварийные программы, диск 2).
На этом диске находится программа UnFormat. Она позволит восстановить содержимое жесткого диска после форматирования с помощью образа диска, созданного программой Image. Здесь также присутствует редактор Disk Editor, предназначенный для просмотра и непосредственного редактирования содержимого секторов диска.

В конце операции будет предложено выполнить проверку комплекта, перезагрузив компьютер с загрузочного диска. После перезагрузки компьютера с использованием дискеты Basic Rescue Boot Disk мы увидим оболочку Rescue Disk Shell (рисунок ниже).
Из этой оболочки можно запустить одну из служебных программ, выбрав ее курсорными клавишами: Rescue Recovery (Восстановление диска), Disk Doctor (Проверка диска), Norton UnErase (Восстановление удаленных файлов).
В нижней части экрана имеется командная строка, в которой можно вводить прямые команды MS-DOS или параметры запуска программ.




























Data Files



Data Files

(Файлы данных) позволяют кроме текстовых задать любые другие, изменения в которых требуется фиксировать. По умолчанию не заданы никакие файлы.









Датчики быстродействия



Датчики быстродействия










Датчики дисков



Датчики дисков



Disk Doctor (Проверка диска). Датчик периодически сканирует диск, проверяя его на наличие ошибок в таблице размещения файлов, наличие файлов с общими кластерами и "потерянных" кластеров. Красный сигнал указывает на наличие ошибок, желтый - на существование "потерянных" кластеров, зеленый - на отсутствие ошибок. При обнаружении ошибок датчик может автоматически запустить программу Norton Disk Doctor.

Disk Doctor Surface Test (Тест поверхности). В обычном режиме работы проверка поверхности диска монополизирует системные ресурсы, но этот датчик не создает помех другим системным операциям, поскольку использует время простоя жесткого диска. Если тест прервется обращением к диску, датчик возобновит его позднее с того места, где он был приостановлен. Индикатор датчика отражает процент выполнения текущего теста поверхности. При обнаружении неполадок возможен автоматический запуск программы Norton Disk Doctor.

Disk Health (Состояние диска). Датчик объединяет результаты проверок датчиков Disk Doctor (Проверка диска), Image (Образ диска) и Disk SMART Status (Статус SMART) и может одновременно использоваться для проверки одного или всех дисков. При обнаружении проблем датчик может запускать соответствующую программу Norton Utilities.

Disk Optimization (Фрагментация диска). Датчик можно настроить на показ либо фрагментированной, либо не фрагментированной доли диска. Один датчик может выполнять проверку одного или всех дисков. По результатам проверки возможен автоматический запуск программы Speed Disk. Датчики Disk Doctor (Проверка диска), Disk Health (Состояние диска) и Disk Optimization (Фрагментация диска) проверяют диск за один цикл опроса. Поэтому если для одного датчика изменить периодичность проверки, соответствующий параметр изменится и для двух других датчиков.

Disk Slack Space (Неполные кластеры). Очень часто данные файла занимают отведенный для них кластер не полностью. Такие кластеры называются неполными. Остающееся в них свободное пространство все равно считается занятым и не может быть выделено для других файлов. Наличие неполных кластеров приводит к тому, что часть дискового пространства не используется.

Disk SMART Status (Статус SMART). Технология самоконтроля SMART встречается во всех новых моделях жестких дисков. Она позволяет дискам самим контролировать свою работу и предсказывать большинство аппаратных сбоев до того, как они произойдут. Этот датчик действует только для дисков, имеющих встроенную функцию SMART.

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

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










Diagnose Начало проверки Options



Diagnose - Начало проверки

Options - Параметры

Undo - Отмена ремонта

Help - Помощь

Close - Закрыть

Select drive(s) to diagnose - Выбор диска для проверки

Automatically fix errors - Автоматическое исправление ошибок



Следует иметь в виду, что параметр Автоматическое исправление ошибок имеет приоритет перед настройками параметров, заданными в диалоговом окне Options for Norton Disk Doctor. Это предназначено для начинающих и полностью исключает вмешательство в процесс поиска и устранения неисправностей.










Директивы



Директивы

Директивы являются указаниями Ассемблеру о том, как проводить ассемблирование. Директив м.б. великое множество. В 1-ом приближении мы рассмотрим лишь несколько практически обязательных директивы (мнемоники директив везде - условные, в конкретных Ассемблерах те же по смыслу директивы могут иметь другие мнемоники).

EQU Определение имени. Перед этой директивой обязательно стоит имя. Операнд этой директивы определяет значение имени. Операндом может быть и выражение, вычисляемое при ассемблировании. Имя может определяться и через другое имя, определенное выше. Как правило, не допускается определение имени со ссылкой вперед.
DD Определение данных. Выделяются ячейки памяти и в них записываются значения, определяемые операндом директивы. Перед директивой может стоять метка/имя. Как правило, одной директивой могут определяться несколько объектов данных. В конкретных Ассемблерах может существовать либо одна общая директива DD, тогда тип данных, размещаемых в памяти определяется формой записи операндов, либо несколько подобных директив - для разных типов данных. В отличие от других,, эта директива приводит непосредственной к генерации некоторого выходного кода - значений данных.
BSS Резервирование памяти. Выделяются ячейки памяти, но значения в них не записываются. Объем выделяемой памяти определяется операндом директивы. Перед директивой может стоять метка/имя.
ENDКонец программного модуля. Указание Ассемблеру на прекращение трансляции. Обычно в модуле, являющемся главным (main) операндом этой директивы является имя точки, на которую передается управление при начале выполнения программы. Во всех других модулях эта директива употребляется без операндов.



Disks



Disks -









Display



Display

(Отображение) позволяет настроить оформление окна. Установка флажка Show Only Changed Files in Snapshot View (Показывать только измененные объекты) позволит частично скрыть лишнюю информацию и отображать только те объекты, которые были

изменены. Флажок Details (Подробно) позволяет отображать содержание измененных строк, а не только фиксировать наличие изменений. ФФлажокLegend (Условные обозначения) включает небольшую подсказку в нижней части окна с условными обозначениями.
На следующих вкладках заданы конкретные объекты, подлежащие сканированию.









Двухпроходный Ассемблер 1й проход



Двухпроходный Ассемблер - 1-й проход

Алгоритм работы 1-го прохода двухпроходного Ассемблера показан на рисунке.

Начало 1-го прохода ассемблирования. Начальные установки: установка в 0 счетчика адреса PC; создание пустой таблицы символов; создание пустой таблицы литералов; открытие файла исходного модуля; установка в FASLE признака окончания. Признак окончания TRUE? Считывание следующей строки исходного модуля. Добавка к счетчику адреса устанавливается равной 0. При считывании был обнаружен конец файла? Если конец файла обнаружен до того, как обработана директива END, - ошибка (преждевременный конец файла), при этом также устанавливается признак окончания обработки.. Лексический разбор оператора программы. При этом: выделяется метка/имя, если она есть; выделяется мнемоника операции; выделяется поле операндов; удаляются комментарии в операторе; распознается строка, содержащая только комментарий. Строка содержит только комментарий? В этом случае обработка оператора не производится. Мнемоника операции ищется в таблице директив. Завершился ли поиск в таблице директив успешно? Если мнемоника была найдена в таблице директив, происходит ветвление, в зависимости от того, какая директива была опознана. Обработка директив типа DD (определения данных) включает в себя: выделение элементов списка операндов (одной директивой DD может определяться несколько объектов данных); определение типа и, следовательно, размера объекта данных, заданного операндом; обработка для каждого операнда возможного коэффициента повторения. Добавка к счетчику адреса устанавливается равной суммарному размеру объектов данных, определяемых директивой. Обработка директив типа BSS подобна обработке директив типа DD. Добавка к счетчику адреса устанавливается равной суммарному объему памяти, резервируемому директивой. Обработка директивы END состоит в установке в TRUE признака окончания обработки. Обработка директивы включает в себя вычисление значения имени и занесение его в таблицу символов. Обработка прочих директив ведется по индивидуальным для каждой директивы алгоритмам. Существенно, что никакие директивы, кроме DD и BSS, не изменяют нулевого значения добавки к счетчику адреса. Если мнемоника операции не найдена в таблице директив, она ищется в таблице команд. Завершился ли поиск в таблице команд успешно? Если мнемоника не была найдена в таблице команд, - ошибка (неправильная мнемоника). Если мнемоника найдена в таблице команд - определение длины команды, она же будет добавкой к счетчику адреса. Есть ли в операторе литерал? Занесение литерала в таблицу литералов (если его еще нет в таблице). Была ли в операторе метка? Поиск имени в таблице символов. Имя в таблице символов найдено? Если имя найдено в таблице символов - ошибка (повторяющееся имя).Если имя не найдено в таблице символов - занесение имени в таблицу символов. Формирование и печать строки листинга. Модификация счетчика адреса вычисленной добавкой к счетчику Печать строки листинга и переход к чтению следующего оператора. При окончании обработки - закрытие файла исходного модуля. Были ли ошибки на 1-ом проходе ассемблирования? Формирование литерального пула Выполнение 2-го прохода ассемблирования. Конец работы Ассемблера.

Примечания Определение длины команды (п.21). Эта задача может решаться существенно разным образом для разных языков. В языках некоторых Ассемблеров мнемоника команды однозначно определяет ее формат и длину (S/390, все RISC-процессоры). В этом случае длина команды просто выбирается из таблицы команд. В других языках длина и формат зависит от того, с какими операндами употреблена команда (Intel). В этом случае длина вычисляется по некоторому специфическому алгоритму, в который входит выделение отдельных операндов и определение их типов. В последнем случае должна производиться также необходимая проверка правильности кодирования операндов (количество операндов, допустимость типов). Обнаружение литералов (п.22). Требует, как минимум, выделения операндов команды. (Подробнее об обработке литералов см. ниже). Листинг. Строка листинга печатается в конце каждой итерации обработки команды. Строка листинга 1-го прохода содержит: номер оператора, значение счетчика адреса (только для команд и директив, приводящих к выделению памяти), текст оператора. Листинг 1-го прохода не является окончательным, фактически он используется только для поиска ошибок, поэтому печатать его необязательно. Режим печати листинга 1-го прохода может определяться параметром Ассемблера или специальной директивой. После листинга программы может (опционно) печататься таблица символов. /i>Ошибки. На первом проходе выявляются не все ошибки, а только те, которые связаны с выполнением задачи 1-го прохода. Сообщение об ошибке включает в себя: код ошибки, диагностический текст, номер и текст оператора программы, в котором обнаружена ошибка.



Двухпроходный Ассемблер 2й проход



Двухпроходный Ассемблер - 2-й проход

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

Текст исходного оператора нужен только для печати листинга, Ассемблер на 2-ом проходе использует только первые 4 поля записи. Первое поле позволяет исключить строки, целиком состоящие из комментария. Второе поле позволяет избежать подсчета адресов, третье - поиска мнемоники в таблицах. Основная работа 2-го прохода состоит в разборе поля операндов и генерации объектного кода.

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

Виды адресных выражений зависят от способов адресации вычислительной системы, некоторые (возможно, наиболее типовые) способы адресации: абсолютный адрес; [базовый регистр]+смещение (здесь и далее квадратные скобки означают) "содержимое того, что взято в скобки); [базовый регистр]+[индексный регистр]+смещение; имя+смещение; литерал.

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

Имена в адресных выражениях должны заменяться на значения. Замена абсолютных имен (определенных в директиве EQU) очень проста - значение имени из таблицы символов просто подставляется вместо имени. Перемещаемые имена (метки и имена переменных) превращаются Ассемблером в адресное выражение вида [базовый регистр]+смещение. В таблице символов значения этих имен определены как смещение соответствующих ячеек памяти относительно начала программы. При трансляции имен необходимо, чтобы: Ассемблер "знал", какой регистр он должен использовать в качестве базового; Ассемблер "знал", какое значение содержится в базовом регистре; в базовом регистре действительно содержалось это значение.

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

В Intel Ассемблер использует в качестве базовых сегментные регистры (DS при трансляции имен переменных, CS при трансляции меток). Для простой программы, состоящей из одной секции, Загрузчик перед выполнением заносит во все сегментные регистры сегментный адрес начала программы и Ассемблер считает все смещения относительно него. Сложная программа может состоять из нескольких секций, и в сегментном регистре может содержаться адрес той или иной секции, причем содержимое сегментного регистра может меняться в ходе выполнения программы. Загрузка в сегментный регистр адреса секции выполняется машинными командами: MOV AX,секция MOV сегментный_регистр,AX

Для того, чтобы Ассемблер знал, что адрес секции находится в сегментном_регистре, применяется директива: ASSUME сегментный_регистр:секция

Далее при трансляции имен Ассемблер превращает имена в адресные выражения вида [сегментный_регистр]+смещение в секции

Отмена использования сегментного регистра задается директивой: ASSUME сегментный_регистр:NOTHING

Обратим внимание на то, что при трансляции команды MOV AX,секция в поле операнда заносится относительный адрес секции, при выполнении же здесь должен быть ее абсолютный адрес. Поэтому поля операндов такого типа должны быть модифицированы Загрузчиком после размещения программы в оперативной памяти.

Более гибкая система базовой адресации применяется в S/360, S/370, S/390. В качестве базового может быть использован любой регистр общего назначения. Директива: USING относительный_адрес,регистр сообщает Ассемблеру, что он может использовать регистр в качестве базового, и в регистре содержится адрес - 1-й операнд. Чаще всего относительный_адрес кодируется как * (обозначение текущего значения счетчика адреса), это означает, что в регистре содержится адрес первой команды, следующей за директивой USING. Занесение адреса в базовый регистр выполняется машинной командой BALR. Обычный контекст определения базового регистра: BALR регистр,0 USING *,регистр С такими операндами команда BALR заносит в регистр адрес следующей за собой команды.

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

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

Директива DROP регистр отменяет использование регистра в качестве базового.

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

Выше мы говорили, что Ассемблер "знает" базовый регистр и его содержимое. Это "знание хранится в таблице базовых регистров. Обычно таблица содержит строки для всех регистров, которые могут быть базовыми и признак, используется ли регистр в таком качестве. Формат строки таблицы:

Алгоритм выполнения 2-го прохода представлен на рисунке. Мы исходили из того, что 2-й проход использует промежуточный файл, сформированный 1-ым проходом. Если же 2-й проход использует исходный модуль, то алгоритм должен быть расширен лексическим разбором оператора, распознаванием мнемоники и подсчетом адресов - так же, как и в 1-ом проходе.

Начало 2-го прохода ассемблирования. Начальные установки: создание пустой таблицы базовых регистров; открытие промежуточного файла исходного модуля; установка в FASLE признака окончания Признак окончания TRUE? Считывание следующей записи промежуточного файла. Если запись промежуточного файла описывает комментарий, переход на печать строки листинга Выясняется, содержит оператор команду или директиву Если оператор содержит команду, формируется байт кода операции (код выбирается из таблицы команд) в объектном коде. Выделение следующего элемента из списка операндов с удалением его из списка и с проверкой, не обнаружен ли при выделении конец списка операндов? Если конец не обнаружен, обрабатывается выделенный операнд. Проверяется, не превысило ли число операндов требуемого для данного типа команды (выбирается из таблицы команд) Если число операндов превышает требуемое - формирование сообщения об ошибке Если число операндов правильное, распознается и проверяется тип операнда. Если тип операнда не распознан или недопустим для данной команды - формирование сообщения об ошибке. Есть ли в команде имя? Если в команде есть имя, оно ищется в таблице символов. Если имя в таблице символов не найдено - формирование сообщения об ошибке. Если найдено имя в таблице символов, оно переводится в "база-смещение" Если имени в команде нет, выполняется разбор и интерпретация операнда с проверкой правильности его кодирования. Если обнаружены ошибки в кодировании операнда - формирование сообщения об ошибке. Формируется код поля операнда и заносится в объектный код команды и обрабатывается следующий элемент списка операндов. Если обнаружен конец списка операндов, проверяется, не меньше ли число операндов требуемого для данного типа команды. Если число операндов соответствует требуемого, управление переходит на вывод объектного кода. Если число операндов меньше требуемого - формирование сообщения об ошибке Если обрабатываемый оператор является директивой, алгоритм разветвляется, в зависимости от того, какая это директива. При обработке любой директивы производится разбор и анализ ее операндов и (не показано на схеме алгоритма) возможно формирование сообщения об ошибке. Обработка директивы типа DD включает в себя: выделение элементов списка операндов; для каждого элемента - распознавание типа и значения константы; генерация объектного кода константы; обработка возможных коэффициентов повторения. Обработка директивы типа BSS может вестись точно так же, как и DD за исключением того, что вместо кода константы генерируются некоторые "пустые" коды. Однако, эти коды не нужны в объектном модуле, они могут не генерироваться, в этом случае должны предприниматься некоторые действия, формирующие "разрыв" в объектных кодах. Обработка директивы типа USING (ASSUME) включает в себя занесение в соответствующую строку таблицы базовых регистров значения операнда-адреса и установку для данного регистра признака использования. Обработка директивы типа USING (ASSUME) включает в себя занесение в соответствующую строку таблицы базовых регистров значения операнда-адреса и установку для данного регистра признака использования. Обработка директивы END устанавливает признак окончания в TRUE. При обработке этой директивы в объектный модуль также может заносится стартовый адрес программы - параметр директивы. Обработка прочих директив ведется по своим алгоритмам. После окончания обработки команды или директивы сформированный объектный код выводится в файл объектного модуля. Печать строки листинга. На эту точку также управление передается при выявлении ошибок. При наличии ошибки сообщение об ошибке печатается после строки листинга. Управление затем передается на считывание следующей записи промежуточного файла. После того, как установлен признак окончания работы формируются и выводятся в объектный модуль коды литерального пула, таблицы связываний и перемещений. Закрываются файлы, освобождается выделенная память. Работа Ассемблера завершается

При рассмотрении алгоритма мы принимали во внимание только генерацию объектных кодов, соответствующих командам и константам. Мы не рассматривали то, какова общая структура объектного модуля. Эти вопросы будут рассматриваться в Теме 4.



File>Backup Entire Registry



File>Backup Entire Registry (Файл>Резервировать весь реестр). Процесс может занять несколько минут, поэтому через пару секунд окно экспорта автоматически сворачивается и дальнейшая работа происходит в фоновом режиме. В результате создается текстовый файл с расширением .REG.
Командой File>Export Registry File (Файл>Экспорт файла реестра) можно экспортировать в текстовый файл только выделенную ветвь. Команда File>Save Symantec Registry Archive (Файл>Сохранить в виде архива Symantec) сохраняет выбранную ветвь Реестра в двоичном файле с расширением .SRG.

Операцию импорта файлов выполняют командой File>Import Registry File (Файл>Импорт файла реестра) - для файлов .REG или командой File>Restore Key From Symantec Registry Archive (Восстановить раздел из архива Symantec) для файлов .SRG. Если происходит импорт данных в формате .REG, то поступающие данные заменяют имеющиеся. Если же импортируются данные в формате .SRG, то необходимо точно указать место назначения в структуре разделов, иначе импортируемые данные попадут не по адресу. Это свойство можно использовать для копирования целых ветвей Реестра в новое место.









Files



Files









Files (Файлы) Folders (Папки)



Files (Файлы), Folders (Папки), Free Space (Свободное пространство). В случае выбора файлов или папок в следующем окне будет предложено указать их с помощью кнопки Add to List (Добавить в список). В случае выбора свободного пространства потребуется указать диск.

Далее переходим к следующему этапу, на котором предстоит выбрать метод стирания.
Переключатель What wipe options do you want to use (Какие параметры использовать) позволяет выбрать два варианта.

В положении Fast Wipe (Быстрое стирание) поверх удаляемого файла будет выполнена запись одинаковых байтов, конкретное значение которых вводится в поле Write once the value (Запись постоянного значения).

В положении переключателя Government Wipe (Регламентированное стирание) предусмотрена особая 7-ступенчатая процедура, предусмотренная для правительственных органов США. В этом случае каждый бит данных на диске сначала обнуляется, затем устанавливается в "единицу". Эта процедура может повторяться многократно: в поле Number of times to repeat this (Число повторов перезаписи) можно ввести требуемую величину.


Далее выполняется запись любого случайного числа от 0 до 255, которое задается в поле Then write once the value (Запись случайного значения). При этом предусмотрена обязательная проверка, гарантирующая выполнение записи. Процедура стирания данных может быть повторена многократно: число повторов для любого варианта задается в поле Times to perform this delete (Число повторов).

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









Files First



Files First

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









Files Last



Files Last

(Последние файлы). На этой вкладке можно вручную указать временные файлы или файлы, наиболее подверженные фрагментации по своей природе, чтобы они расположились последними (то есть в непосредственной близости к свободному месту). Это упростит последующую дефрагментацию. По умолчанию такими считаются файлы, хранящиеся в Корзине, временные файлы в папке Windows\Temp и некоторые другие.









Find disk problems



Find disk problems

(Проверка диска)
При обнаружении ошибок жесткого диска в качестве средства ремонта может быть вызвана программа Norton Disk Doctor или стандартная служебная программа Проверка диска.









Find What (Что искать) Установка



Find What (Что искать).
Установка флажка Match Whole String Only (Соответствие строки целиком) ограничивает условия поиска только полным соответствием строки, иначе будут найдены все объекты, для которых введенный текст является составной частью.
Раскрывающийся список Find Where (Где искать) позволяет ограничить область поиска только Реестром или только INI-файлами.

Вкладка Advanced (Дополнительно) определяет прочие условия поиска. При поиске в Реестре становится доступна группа элементов управления Look In (Искать в). Возможные варианты: All (Во всем Реестре), Selected Branch (В выделенной ветви) - имеется в виду ветвь, выделенная в главном окне программы. Для повторного поиска можно использовать раскрывающийся список. Возможен поиск в одном из четырех основных разделов. В группе Look At (Просматривать) можно уточнить зону поиска флажками:

·Key Names (Названия разделов);  
·Value Names (Названия параметров);  
·Value Data (Значения параметров).  

Поиск начинают щелчком на кнопке Find Now (Искать). Результаты поиска отображаются в информационной панели главного окна на вкладке Find Results (Результаты поиска). Каждая запись имеет свойства закладки - по двойному щелчку происходит быстрый переход к любому из найденных элементов.









Find Windows problem



Find Windows problem

(Проверка Windows)
Проверка операционной системы является ядром программы Norton System Check - поэтому ее интерфейс столь похож на интерфейс Norton WinDoctor. Поэтому для получения подробных сведений об элементах управления и настройках программы перейдите в раздел Norton WinDoctor. Отличие заключается только в том, что нет возможности настроить средства контроля.









First_options



После завершения процесса установки часть программ из пакета Norton Utilites 2002 сразу же принимается за работу, поэтому прежде чем подробно рассматривать каждую из них, надо знать, как их отключить. В окне Интегратора нажмите на кнопку Options
- откроется диалоговое окно Norton Utilites Options, в котором имеется шесть вкладок. Для первичной настройки программы проделайте операции описанные ниже.

1. Откройте вкладку General Settings (Общие установки). Сбросьте флажок Replace ScanDisk with Norton Disk Doctor (Заменить ScanDisk программой Norton Disk Doctor). Имеется в виду предварительное сканирование диска, которое происходит при нештатном завершении работы Windows).

2. На вкладке Startup Programs (Загрузка при старте Windows) сбросьте все флажки: Norton Disk Doctor (Проверка диска) и Norton System Doctor (Системный монитор).

3. На вкладке Recycle Bin (Корзина) переключатель Double-clicking item opens (По двойному щелчку открывать) установите в положение Standard Recycle Bin (Стандартная корзина).

4. На вкладке Norton Protection (Защита корзины) щелкните на кнопке Remove Norton Protection (Отключить защиту корзины).

5. Закройте окно Norton Utilites Options, щелкнув на кнопке ОК.

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








Folders



Folders

(Папки) отображает папки, содержимое которых должно контролироваться. По умолчанию здесь заданы папки \Windows и \Windows\System.









Формат объектного модуля



Формат объектного модуля

Объектный модуль, поступающий на вход Загрузчика должен в той или иной форме содержать: размер модуля; машинные коды; входные точки (те адреса в модуле, к которым возможны обращения извне); внешние точки (те имена во внешних модулях, к которым есть обращения в данном модуле); информация о размещении в модуле перемещаемых данных.

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

Объектный модуль состоит из записей четырех типов. В каждой записи первый байт содержит идентификатор типа записи, следующие 2 байта - размер записи. Количество и формат следующих байтов записи определяется ее типом.

Кодовая запись содержит адрес относительно начала модулей и коды программы. Кодовые записи строятся Ассемблером при генерации объектного кода - кодов команд и директив типа DC. Каждая кодовая запись начинается с адреса (относительно начала модуля), с которого начинается размещение ее содержимого. Разрывы в линейном пространстве адресов могут быть обусловлены директивами выделения памяти без записи в нее значений (директивы типа BSS) или разрывами, управляемыми программистом (директивы типа ORG).

Запись связываний содержит один или несколько элементов Таблицы внешних символов. Элемент Таблицы внешних символов имеет следующий формат:

Ассемблер формирует новые элементы Таблицы перемещений при обработке директив типа SEGMENT, ENT, EXT.

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

Относительный адрес и длина - адрес и длина того кода, который должен быть модифицирован. Имя символа - имя из Таблицы внешних символов, которое прибавляется к значению кода или вычитается из него. Бит операции - признак операции сложения или вычитания. Ассемблер генерирует элемент Таблицы перемещений, когда обрабатывает адресные выражения. Адресное выражение может быть абсолютным (независящими от адреса загрузки) или перемещаемым (зависящими от адреса загрузки) . Элементы Таблицы перемещений генерируются только для перемещаемых выражений. Рассмотрим адресное выражение: ADDR1 - ADDR2 Если ADDR1 и ADDR2 являются именами, перемещаемыми внутри одного и того же сегмента SEGM (их адресные значения определяются относительно начала сегмента), то адресное выражение является абсолютным, так как его значение: SEGM+ADDR1 - (SEGM+ADDR2) не зависит от адреса сегмента. Для такого выражения элемент Таблицы перемещений не строится. Если ADDR1 является именем, перемещаемым внутри сегмента SEGM, а ADDR2 - абсолютный адрес, то выражение является простым перемещаемым. В кодовое представление этого выражения записывается разность между относительным адресом в сегменте ADDR1 и абсолютным значением ADDR2. Для такого выражения строится элемент Таблицы перемещений: адрес SEGN + длина Загрузчик прибавит к содержимому кода адрес сегмента SEGM. Если ADDR1 является внешним именем, а ADDR2 - абсолютный адрес, то выражение также является простым перемещаемым. В кодовое представление этого выражения абсолютное значение ADDR2. Элемент Таблицы перемещений для такого выражения содержит: адрес ADDR1 + длина Если ADDR1 и ADDR2 являются внешним именем, то выражение является сложным перемещаемым. В кодовое представление этого выражения записывается 0. Для такого выражения строятся два элемента Таблицы перемещений: адрес ADDR1 + длина адрес ADDR2 - длина При загрузке к нулевому значению записанному по адресу адрес будет прибавлен адрес внешней точки ADDR1, а затем вычтен адрес внешней точки ADDR2.

Запись окончания формируется Ассемблером при обработке директивы END, она содержит стартовый адрес программы. Естественно, эта запись должна быть заполнена только в одном из объектных модулей, составляющих программу.



Функционально программа Norton




Функционально программа Norton Registry Editor аналогична стандартной программе RegEdit (Редактор реестра), но имеет дополнительные функции, позволяющие сделать редактирование более удобным и безопасным.









Главное окно By File (Отображение



Главное окно

- By File (Отображение по объектам);

- By Snapshot (Отображение по снимкам);

- Compare (Сравнение);

- Quick Fix (Быстрое исправление);

- Restore (Восстановление);

- Settings (Настройки).


Выполнить снимок вручную можно в любой момент с помощью команды File>New Snapshot (Файл>Новый снимок). Такие снимки в регистрационном журнале называются ручными снимками (Manual Snapshot), хотя по запросу можно ввести им произвольное название. Командой Options>Reset Snapshot Log (Параметры>Очистить журнал снимков) можно удалить все записи из журнала.
При отслеживании часто меняющихся объектов, таких как динамические ключи Реестра, возникает огромное количество снимков. Подобные объекты не рекомендуется отслеживать - следует ввести их в список исключений. Для этого нужно найти в журнале снимков требуемый объект, щелкнуть на нем правой кнопкой мыши и в контекстном меню выбрать команду Exclude from tracking (Отключить отслеживание).

При необходимости можно восстановить предыдущее состояние системы, например, предшествующее установке нового приложения. Щелчок на кнопке Quick Fix (Быстрое восстановление) восстанавливает состояние системы на момент предыдущего снимка. Кнопкой Restore (Восстановить) можно восстановить состояние системы на основе любого из снимков, сделанных ранее. Операция восстановления занимает довольно продолжительное время. По ее окончании выполняется новый снимок, называемый Snapshot after Restore (Снимок после восстановления), в котором зафиксированы обратные изменения. Они касаются только контролируемых системных объектов и не затрагивают программные папки и файлы, созданные в ходе установки нового приложения.









Глобальные переменные макроопределения



Глобальные переменные макроопределения

Значения локальных переменных макроопределения сохраняются только при обработке данного конкретного макровызова. В некоторых случаях, однако, возникает необходимость, чтобы значение переменной макроопределения было запомнено Макропроцессором и использовано при следующей появлении той же макрокоманды в данном модуле. Для этого могут быть введены глобальные переменные макроопределения (в сильносвязанных Макропроцессорах в них опять-таки нет необходимости).

Объявление глобальной переменной макроопределения может иметь, например, вид: имя_переменной GLBL начальное_значение (последнее необязательно)

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



History)



History)


Независимо от способа устранения неисправностей ведется журнал ремонта. Просмотреть его можно с помощью кнопки







History В этом окне можно выделить



History. В этом окне можно выделить одну или несколько неисправностей и отменить их исправление с помощью контекстного меню. Для этого необходимо выбрать в контекстном меню команду Undo. Эту же операцию можно выполнить с помощью одноименной кнопки на панели инструментов.
Настроить режим хранения данных об исправлениях можно с помощью окна Options.









Improve performance



Improve performance

(Повышение производительности)
Повышение производительности сводится к контролю за фрагментацией системного жесткого диска. В случае необходимости может быть вызвана программа Norton Speed Disk или стандартная служебная программа Дефрагментация диска.









Информационные датчики



Информационные датчики


Current Date and Time (Текущие дата и время). Датчик всегда выдает данные в календарном формате.

Norton Utilities Live Update (Обновление Norton Utilities). Датчик напоминает о том, что пора проверить, не появились ли новые версии пакета Norton Utilities. Он может запустить программу LiveUpdate, которая подгружает обновленные версии Norton Utilities с сервера Symantec.

Norton Protected Files (Защищенные файлы). Датчик показывает количество файлов, находящихся в данный момент под защитой Norton Protection.

Windows Up Time (Время работы Windows). Датчик показывает время, прошедшее с момента последнего запуска Windows. Этот датчик всегда выдает данные в календарном формате.








Information



Information -