Принципы функционирования системы Командный процессор Размещение файлов Взаимодействие с накопителями Недоработки и дефекты Маркировка плохих секторов Основные узлы системного блока Технические характеристики слоты расширения

Ошибка 0x0000021А - STATUS_SYSTEM_PROCESS_TERMINATED
Ошибка вызвана сбоем сервиса, работающего не в режиме ядра, а в режиме пользователя. Это сообщение появляется, когда одна из подсистем (например, Winlogon или CSRSS) настолько повреждена, что операционная система не может гарантировать безопасности и переключается в режим ядра с генерацией этой ошибки.

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

Так как при сохранении или создании файла DOS всегда использует первый доступный элемент списка файлов в каталоге, имена перезаписанных или стертых файлов, чье содержимое еще теоретически можно восстановить, "вычеркиваются" из перечня. Ни одна коммерческая или иная программа, предназначенная для быстрого восстановления стертых данных, не в состоянии найти на диске ни одной записи из стертого или перезаписанного файла в первую очередь потому, что эти программы в поисках записи об уничтоженном файле просматривают только каталог. В некоторых из современных программ предусматривается загрузка в память небольшой резидентной подпрограммы, основной задачей которой является отслеживание всех операций стирания. При этом фактически создается независимый от DOS перечень файлов каталога. Если в программе восстановления не предусмотрена загрузка резидентной подпрограммы, или она не активизируется перед стиранием, то восстановить файлы, упоминание о которых "вычеркнуто" из списка каталога, невозможно.

Поскольку программы восстановления не просматривают FAT и данные в самих кластерах (если, конечно, процедуры стирания не отслеживаются специально), то они не в состоянии обнаружить ни одной записи, свидетельствующей о существовании на диске данных из ранее стертых файлов. Единственный способ восстановить данные, структуру FAT и элементы каталога в такой ситуации — это просматривать свободные кластеры на диске с помощью какого-либо дискового редактора. Таким способом можно восстановить стертые файлы даже в тех случаях, когда после их уничтожения на диск записывались новые данные.

Взаимодействие с накопителями

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

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

Функции DOS, вызываемые через прерывание 21h (INT 21h).

Функции DOS, вызываемые через прерывания 25/26h (INT 25/26h).

Дисковые функции системной BIOS, вызываемые через прерывание 13h (INT 13h).

Команды, направляемые в порт В/В контроллера диска.

Подпрограммы, относящиеся к разным уровням, реагируют на различные управляющие команды, выполняют разные функции и по-разному представляют "отчеты о проделанной работе". Все четыре уровня интерфейса используются при взаимодействии с накопителями как на гибких, так и на жестких дисках, хотя, например, наборы функции, вызываемых через прерывание INT 13h, для них разные. Контроллеры для вышеуказанных накопителей тоже сильно отличаются друг от друга, но на каждом уровне программного обеспечения предусмотрены функции, одинаковые для накопителей обоих типов.

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

Расчет характеристик надежности Надежность информационных систем Взаимодействие операционной системы с аппаратным обеспечением