О нет, столько всего сразу. Отсылаю к авторитетному тексту - книге Рэя Дункана "Профессиональная работа в MS-DOS", в свое время была зачитана до дыр, там все это описано в каноничном виде. И что за проблема с IBMBIO.COM? Вот копипаста из мануала к PC-DOS от января 1982 года. Кстати, называться оно может по разному. Вообще DOS система достаточно тупая и не особо интересно. У многих ее современников внутренности и процесс загрузки были гораздо интереснее. Например, та же Amiga DOS была куда продвинутее - могла сидеть в ПЗУ и грузиться с любого устройства, находя там загрузочный сектор.
The IBMBIO.COM program. IBMBIO.COM is an I/O (input/output) device handler program that reads and writes data to and from the computer memory and the devices attached to the computer. This program is on your DOS diskette, but it is not listed when you list the files on the diskette. IBMBIO.COM is also put on your diskette by the FORMAT program and occupies a specific location on the diskette.
почему в комплекте к жёстким дискам или SCSI-контроллерам не прикладывали драйвер для электронных таблиц?
Это смотря к каким дискам и контроллерам. К платам памяти LIM EMS, когда они еще выпускались, вполне прикладывались драйверы для Lotusa 1-2-3 и компании. Да, вот такой я древний.
Например, та же Amiga DOS была куда продвинутее - могла сидеть в ПЗУ и грузиться с любого устройства, находя там загрузочный сектор.
А зачем программа, сидящая в ПЗУ .должна грузиться? Она же может выполняться прямо из ПЗУ!
IBMBIO.COM is also put on your diskette by the FORMAT program and occupies a specific location on the diskette.
Опять дебильный текст, объясняющий непонятное через другое такое же непонятное.
Ну, попробую научить Вас читать такие тексты правильно. "IBMBIO.COM заносится на дискету программой FORMAT" - ну, более-менее правильно. Хотя FORMAT это делает только если ему специально приказать. А кроме того, есть программа SYS, которая именно кладёт системные файлы. А ещё были более поздние PC-Tools и Norton Utilities, которые тоже это делали. "and occupies a specific location on the diskette" - вот тут мне непонятно выражение "specific location". Можете объяснить, что это значит? Ведь дискета - это просто набор секторов, там нет специфического места.
Я-то, конечно, могу, с чего вы взяли, что я этого не знаю? В ранних версиях DOS были жесткие ограничения - эти самые системные файлы должны были располагаться в последовательных секторах в первых файлах в начале диска, то есть сами эти файлы должны были быть первыми и непрервными. Потому что загрузчик был как раз тупой и только так их умел читать. Я не помню, когда эти ограничения сняли. В CP/M тоже было примерно так.
Видимо, надо рассказать Вам, как оно устроено и работает на писюках (упрощённо).
При включении компьютера происходит аппаратная инииализация микросхем. Грубо говоря - напряжение на разные элементы должно подаваться в определённой последовательности. Поэтому при коротком сбое питания, когда остаточное напряжение не успевает стечь, техзника часто зависает.
После аппаратной инициализации процессор начинает выполнение программы, находящейся по адресу FFFF:0000. Там находится ПЗУ. Программы тестируют память, устанавливают векторы прерываний и делают всякую другую инийиализацию.
Наконец, программа, записананя в ПЗУ, загружает самый первый скутор диска на адрес 0000:7C00 и передаёт туда управление. Тут возникает вопрос о том, как именно присходит загрузка сектора. Очевидно, в этот момент в памяти уже д.б. драйвер HDC+HDD - и этот драйвер находится в ПЗУ (в системном ПЗУ на мат.плате или на плате HDC.
Если в первом секторе диска находится "стандартный MBR", то он копирует себя на адрес 0000:0600 (хотя тут возможны варианты) и передаёт управление в копию на этом адресе. Затем он сканирует таблицу разделов и ищет там запись об активном разделе. если такой найден - то он загружает BR (самый первый сектор) этого раздела на адрес 0000:7C00 и передаёт туда управление.
Что делает BR - зависит от операционки. Но в целом его поведение достаточно стандартно - он загружает и конкретных секторов диска или операционку (в DOS это как раз два непрерывных файла), или загрузчик ядра, или "первую ступень" загрузчика.
Загрузчик ядра уже имеет в себе драйвер файловой системы - но не имеет драйвера HDC+HDD; поэтому он пользуется драйвером, который зашит в ПЗУ (в BIOS). В загрузчике также прописано, какие файлы надо загружать дальше (или приописано, в каком файле прочитать список того, что надо загружать).
В современных операционках загрузчик загружает ядро и драйверы, в т.ч. драйверы HDC+HDD. И после этого можно обойтись без использования BIOS.
Вот Вам короткое, чёткое, достаточно полное, логичное и непротиворечивое описание процесса загрузки без отсылки к непонятным словам типа "первые файлы". Заодно видно, какой маразм вся эта писюковая архитектура с её загрузкой операционки с диска - операционка в ПЗУ была бы намного проще и логичнее, а также надёжнее.
Это разные варианты одной и той же системы Amiga DOS - были как машинки Amiga, на которых она полностью находилась в ПЗУ емкостью 512 килобайт или 1 мегабайт вместе с мышью, окнами и многозадачностью, так и те, в которых система загружалась с дискеты. Функциональность при этом у них не отличалась. Так же например и на Atari ST ранние версии ОС загружались с дискет, затем их перенесли в ROM. Архитектура этих систем позволяла такие вещи.
no subject
Date: 2017-02-27 09:33 am (UTC)The IBMBIO.COM program. IBMBIO.COM is an
I/O (input/output) device handler program that
reads and writes data to and from the computer
memory and the devices attached to the computer.
This program is on your DOS diskette, but it is
not listed when you list the files on the diskette.
IBMBIO.COM is also put on your diskette by the
FORMAT program and occupies a specific
location on the diskette.
почему в комплекте к жёстким дискам или SCSI-контроллерам не прикладывали драйвер для электронных таблиц?
Это смотря к каким дискам и контроллерам. К платам памяти LIM EMS, когда они еще выпускались, вполне прикладывались драйверы для Lotusa 1-2-3 и компании. Да, вот такой я древний.
no subject
Date: 2017-02-27 10:36 am (UTC)Опять дебильный текст, объясняющий непонятное через другое такое же непонятное.
Ну, попробую научить Вас читать такие тексты правильно.
"IBMBIO.COM заносится на дискету программой FORMAT" - ну, более-менее правильно. Хотя FORMAT это делает только если ему специально приказать. А кроме того, есть программа SYS, которая именно кладёт системные файлы. А ещё были более поздние PC-Tools и Norton Utilities, которые тоже это делали.
"and occupies a specific location on the diskette" - вот тут мне непонятно выражение "specific location". Можете объяснить, что это значит? Ведь дискета - это просто набор секторов, там нет специфического места.
no subject
Date: 2017-02-27 01:52 pm (UTC)no subject
Date: 2017-02-27 03:09 pm (UTC)Видимо, надо рассказать Вам, как оно устроено и работает на писюках (упрощённо).
- При включении компьютера происходит аппаратная инииализация микросхем. Грубо говоря - напряжение на разные элементы должно подаваться в определённой последовательности. Поэтому при коротком сбое питания, когда остаточное напряжение не успевает стечь, техзника часто зависает.
- После аппаратной инициализации процессор начинает выполнение программы, находящейся по адресу FFFF:0000. Там находится ПЗУ. Программы тестируют память, устанавливают векторы прерываний и делают всякую другую инийиализацию.
- Наконец, программа, записананя в ПЗУ, загружает самый первый скутор диска на адрес 0000:7C00 и передаёт туда управление.
- Если в первом секторе диска находится "стандартный MBR", то он копирует себя на адрес 0000:0600 (хотя тут возможны варианты) и передаёт управление в копию на этом адресе.
- Что делает BR - зависит от операционки. Но в целом его поведение достаточно стандартно - он загружает и конкретных секторов диска или операционку (в DOS это как раз два непрерывных файла), или загрузчик ядра, или "первую ступень" загрузчика.
- Загрузчик ядра уже имеет в себе драйвер файловой системы - но не имеет драйвера HDC+HDD; поэтому он пользуется драйвером, который зашит в ПЗУ (в BIOS). В загрузчике также прописано, какие файлы надо загружать дальше (или приописано, в каком файле прочитать список того, что надо загружать).
- В современных операционках загрузчик загружает ядро и драйверы, в т.ч. драйверы HDC+HDD. И после этого можно обойтись без использования BIOS.
Вот Вам короткое, чёткое, достаточно полное, логичное и непротиворечивое описание процесса загрузки без отсылки к непонятным словам типа "первые файлы". Заодно видно, какой маразм вся эта писюковая архитектура с её загрузкой операционки с диска - операционка в ПЗУ была бы намного проще и логичнее, а также надёжнее.Тут возникает вопрос о том, как именно присходит загрузка сектора. Очевидно, в этот момент в памяти уже д.б. драйвер HDC+HDD - и этот драйвер находится в ПЗУ (в системном ПЗУ на мат.плате или на плате HDC.
Затем он сканирует таблицу разделов и ищет там запись об активном разделе. если такой найден - то он загружает BR (самый первый сектор) этого раздела на адрес 0000:7C00 и передаёт туда управление.
no subject
Date: 2017-02-28 09:18 am (UTC)Это разные варианты одной и той же системы Amiga DOS - были как машинки Amiga, на которых она полностью находилась в ПЗУ емкостью 512 килобайт или 1 мегабайт вместе с мышью, окнами и многозадачностью, так и те, в которых система загружалась с дискеты. Функциональность при этом у них не отличалась. Так же например и на Atari ST ранние версии ОС загружались с дискет, затем их перенесли в ROM. Архитектура этих систем позволяла такие вещи.