| ||||||||||||||||||
Запись на диски и в файлы
Программу DEBUG можно использовать для коррекции содержимого секторов на диске. Допустим, что вы вводите следующую инструкцию DEBUG:
-L 100 10 1
В результате ее выполнения в текущий сегмент памяти со смещением 100h будет загружено содержимое сектора 0 (загрузочный сектор тома — VBS) диска В: (порядковый номер — 1). Запишем теперь этот сектор в файл на диске С: с помощью следующих инструкций:
C:\B-BOOT.SEC -R СХ
СХ 0000
:200
-W
Writing 00200 bytes (Записывается 200h байт) -Q
Введя инструкцию N(ame), вы задали имя файла, в который будет производиться запись.
После ввода инструкции R(egister) вы получаете возможность просмотреть и скорректировать содержимое регистра. В регистре СХ хранятся младшие байты числа, определяющего размер считываемого или записываемого файла, а в регистре ВХ — его старшие байты. До тех пор, пока размер файла не превышает 65535 байт (64 К), содержимое регистра ВХ должно равняться нулю. Введя в регистр СХ число 200, вы задаете размер файла, равный 200h (или 512) байтам.
В результате выполнения инструкции W(rite) хранящиеся в памяти 512 байт, начиная (по умолчанию) с текущего адреса (т.е. со смещения 100h, заданного самой первой инструкцией L), будут сохранены в виде файла с именем, определенным инструкцией N(ame).
После выхода из программы DEBUG вы найдете на диске С: файл под названием В-BOOT.SEC, в котором хранится копия VBS диска В:.
Конфликты между резидентными программами
Одной из самых больших головных болей для пользователей являются резидентные программы (TSR — Terminate and Stay Resident). Будучи загруженными в память, они в ней и остаются. Некоторые из них ожидают вызова* с помощью "красной кнопки" (обычно некоторой комбинации нажатых клавишей) — такие программы часто называют "всплывающими" (pop-up utilities).
Основная проблема заключается в том, что такие программы часто конфликтуют как друг с другом, так и с прикладными программами или даже с DOS. Проявления этих конфликтов могут быть самыми разнообразными. Иногда они носят эпизодический характер, иногда присутствуют постоянно. Многие пользователи недолюбливают всплывающие программы именно из-за их склонности к конфликтам, и используют только в случае крайней необходимости.
Резидентные программы другого типа — например, MOUSE.COM — загружаются обычно из файла AUTOEXEC.BAT. Такие программы, как правило, не создают тех конфликтов, которые свойственны всплывающим программам. Дело в том, что последние в ожидании "горячей клавиши" (hot key) постоянно отслеживают состояние клавиатуры, а для этого (или для обнаружения иного запускающего сигнала) им часто приходится "подцепляться" к адресам памяти, используемым другими программами. В отличие от них, упомянутая программа M0USE.COM ведет себя гораздо "спокойнее", не опрашивает клавиатуру в ожидании "горячей клавиши", и, как правило, не обращается к тем же адресам памяти, что и другие программы.
Еще одним примером резидентных программ являются драйверы, загружаемые из файла CONFIG.SYS, и они тоже могут стать источниками конфликтов и прочих проблем.
Если вы выяснили, что причиной ваших бед является резидентная программа одного из вышеперечисленных типов, то проще всего от нее отказаться. Иногда удается избавиться от проблем, изменив порядок загрузки в память системы драйверов и резидентных программ. Некоторые из них должны загружаться в первую очередь, другие — в последнюю. Иногда эта особенность оговаривается в документации на программу, но чаще всего оптимальный порядок загрузки приходится определять методом проб и ошибок.
Выигрыш от многопроцессорной системы можно получить лишь при использовании систем, поддерживающих такую архитектуру - Windows NT/2000/XP/2003, Solaris, SCO UNIX MPX, UNIXWare, Linux, FreeBSD. При этом различные подзадачи могут независимо и одновременно выполняться на различных (или всех одновременно) процессорах. В случае "однопроцессорной" ОС или при отсутствии активных процессов с более чем одной подзадачей дополнительные процессоры выигрыша не дают.
| На главную |