[identity profile] urod.livejournal.com posting in [community profile] useful_faq
Хуже ли новые версии винды, чем винда 7? Если да, чем они хуже и насколько?

Date: 2017-02-27 01:52 pm (UTC)
From: [identity profile] bangor-flying.livejournal.com
Я-то, конечно, могу, с чего вы взяли, что я этого не знаю? В ранних версиях DOS были жесткие ограничения - эти самые системные файлы должны были располагаться в последовательных секторах в первых файлах в начале диска, то есть сами эти файлы должны были быть первыми и непрервными. Потому что загрузчик был как раз тупой и только так их умел читать. Я не помню, когда эти ограничения сняли. В CP/M тоже было примерно так.

Date: 2017-02-27 03:09 pm (UTC)
From: [identity profile] karpion.livejournal.com
Что такое "первые файлы"?

Видимо, надо рассказать Вам, как оно устроено и работает на писюках (упрощённо).
  • При включении компьютера происходит аппаратная инииализация микросхем. Грубо говоря - напряжение на разные элементы должно подаваться в определённой последовательности. Поэтому при коротком сбое питания, когда остаточное напряжение не успевает стечь, техзника часто зависает.
  • После аппаратной инициализации процессор начинает выполнение программы, находящейся по адресу FFFF:0000. Там находится ПЗУ. Программы тестируют память, устанавливают векторы прерываний и делают всякую другую инийиализацию.
  • Наконец, программа, записананя в ПЗУ, загружает самый первый скутор диска на адрес 0000:7C00 и передаёт туда управление.
    Тут возникает вопрос о том, как именно присходит загрузка сектора. Очевидно, в этот момент в памяти уже д.б. драйвер HDC+HDD - и этот драйвер находится в ПЗУ (в системном ПЗУ на мат.плате или на плате HDC.
  • Если в первом секторе диска находится "стандартный MBR", то он копирует себя на адрес 0000:0600 (хотя тут возможны варианты) и передаёт управление в копию на этом адресе.
    Затем он сканирует таблицу разделов и ищет там запись об активном разделе. если такой найден - то он загружает BR (самый первый сектор) этого раздела на адрес 0000:7C00 и передаёт туда управление.
  • Что делает BR - зависит от операционки. Но в целом его поведение достаточно стандартно - он загружает и конкретных секторов диска или операционку (в DOS это как раз два непрерывных файла), или загрузчик ядра, или "первую ступень" загрузчика.
  • Загрузчик ядра уже имеет в себе драйвер файловой системы - но не имеет драйвера HDC+HDD; поэтому он пользуется драйвером, который зашит в ПЗУ (в BIOS). В загрузчике также прописано, какие файлы надо загружать дальше (или приописано, в каком файле прочитать список того, что надо загружать).
  • В современных операционках загрузчик загружает ядро и драйверы, в т.ч. драйверы HDC+HDD. И после этого можно обойтись без использования BIOS.
Вот Вам короткое, чёткое, достаточно полное, логичное и непротиворечивое описание процесса загрузки без отсылки к непонятным словам типа "первые файлы". Заодно видно, какой маразм вся эта писюковая архитектура с её загрузкой операционки с диска - операционка в ПЗУ была бы намного проще и логичнее, а также надёжнее.