Программирование загрузчиков — одна из тех немногих областей, в которых применение ассемблера действительно обоснованно. Языки высокого уровня для этого слишком абстрагированы от оборудования. Кроме того, они недостаточно гибки. Вот почему хакеры так любят возиться с загрузчиками, добавляя сюда множество новых возможностей, включая автоматическую загрузку с CD-ROM или дисков SCSI, противодействие вирусам, парольную защиту с шифрованием данных и т.д. Здесь действительно есть, где развернуться, и есть на чем показать все свои возможности. В качестве дополнительного чтения я рекомендовал бы вам несколько весьма интересных источников. Вот они:
□
□
□ http://www.koders.com (рис. 5.6) — отличный поисковик, нацеленный на поиск исходных кодов, по ключевому слову MBR выдает огромное количество загрузчиков на любой вкус;
Рис. 5.6. Поиск исходных текстов загрузчиков MBR на сайте Koders
□
Рис. 5.7. Просмотр легендарного "Списка прерываний" Ральфа Брауна
□ OpenBIOS — проект "Открытого BIOS", распространяемого в исходных текстах. Помогает понять некоторые неочевидные моменты обработки системного загрузчика: http://www.openbios.info/docs/index.html.
Динамические диски
Динамические диски, впервые появившиеся в Windows 2000, представляют собой все тот же программный RAID, призванный преодолеть ограничения стандартных механизмов разбиения диска на разделы. Он учитывает ошибки своего прямого предшественника — программных реализаций RAID в Windows NT, хранящих конфигурационную информацию в системном реестре. Этот недостаток препятствовал переносу RAID с компьютера на компьютер, и делало эти массивы чрезвычайно чувствительными к повреждениями реестра.
Начиная с Windows 2000, операционные системы этого семейства поддерживают следующие типы динамических дисков:
□
• Избыточность данных — отсутствует
• Эффективность — низкая
□
• Избыточность данных — отсутствует
• Эффективность — низкая
□
• Избыточность данных — отсутствует
• Эффективность — средняя
□
• Избыточность данных — средняя
• Эффективность — средняя
□
• Избыточность данных — высокая
• Эффективность — высокая
□
• Избыточность данных — средняя
• Эффективность — высокая
По умолчанию Windows создает базовые диски (basic volumes). Однако любой базовый диск в любой момент времени может быть обновлен до динамического, и это не потребует даже перезагрузки системы.