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

Date: 2017-02-26 10:30 pm (UTC)
From: [identity profile] bangor-flying.livejournal.com
не хочу долго спорить, но минимальный набор драйверов в MS_DOS был всегда: "IBMBIO.COM contained the disk, console, and printer drivers, and itself was built on top of the ROM BIOS." Загружаемых драйверов. SYS не было до второй версии, кроме того большинство последующих версий содержало некоторый небольшой набор драйверов или псевдодрайверов - ansi.sys, printer.sys, ega.sys, lcd.sys и что-нибудь еще от OEM-производителя. В некоторых случаях оно же было в .com или .exe-формате. Сам ROM BIOS содержал только некоторый набор стандартных процедур, вызываемых по прерыванию INT 21h, еще там встроенный Бейсик, программу настройки, теста, но не драйверы. Остальное примерно так, отмечу только, что в те времена (конец 80х) DOS и Windows -драйверы под разнообразные приложения типа электронных таблиц часто прикладывались в комплекте к железу (видеокартам чаще всего). Сейчас это все давно забыто.

Date: 2017-02-27 04:00 am (UTC)
From: [identity profile] big-rig-and-bbq.livejournal.com
предлагаю рассматривать ДОС 6.22.

а что такое "псевдодрайвер" ?

"В некоторых случаях оно же было в .com"
----------------
болтался в памяти резидентно, перехватывал маскируемые прерывания

Date: 2017-02-27 06:21 am (UTC)
From: [identity profile] bangor-flying.livejournal.com
Потому что не все из них - настоящие устройства https://sites.google.com/site/pcdosretro/drivers

На самом деле ЕМНИП там разница была - именно драйвер в .com или .exe формате мог ставиться в config.sys (а обычным образом из "командной строки" его запуск скорее всего не работал), а "обычный резидент" в config.sys прописать было нельзя - для них был autoexec.bat

Date: 2017-02-27 08:54 am (UTC)
From: [identity profile] karpion.livejournal.com
минимальный набор драйверов в MS_DOS был всегда: "IBMBIO.COM contained the disk, console, and printer drivers, and itself was built on top of the ROM BIOS."
Интересно, в какой иинфернальной дыре вы откопали этот бредовый текст. Ну, начнём с того, что файл назывался IBMBIO.SYS, и был он не в MS-DOS, а в IBM-DOS (если Вы не в курсе - DOS выпускали разные производители; впрочем, это было примерно одно говно). В MS-DOS это был IO.SYS.
Далее: никакой файл не м.б. встроен в "top of the ROM BIOS". Потому что BIOS - в ПЗУ, и ему пофиг, что там лежит на диске.
И наконец, этот файл содержал немного совсем не те драйверы. Т.е. там был не драйвер диска, а драйвер раздела (партиции); ну или правильнее сказать во множественном числе: "не драйвер дисков, а драйвер разделов", т.к. их м.б. много. Ну и остальное (консоль, принтер) - аналогично. А настоящие драйверы этих устройств были в BIOS, в ПЗУ.
Кстати, драйвера принтера не были ни в BIOS, ни в IBMBIO.SYS. Там был драйвер принтерного порта - что как бы совершенно не совсем одно и то же.

Сам ROM BIOS содержал только некоторый набор стандартных процедур, вызываемых по прерыванию INT 21h
Фейспалм!!!
Вы бы перед тем, как постить, в Гугль глянули - это же функция DOS, а не BIOS! (https://www.google.ru/search?q=INT+21h)

еще там встроенный Бейсик, программу настройки, теста, но не драйверы.
Ну, расскажите мне, каким образом файл IBMBIO.SYS мог попасть на исполнение процессору. Объясняю:
  1. Процессор не может выполнять программу, лежащую на диске. Процессор может выполнять только программу, лежащую в оперативной памяти.
  2. Чтобы выполнить программу, лежащую на диске, надо загрузить её в оперативную память.
  3. Чтобы загрузить что-то с диска в оперативную память, надо выполнить программу, которая знает, как работать с диском данного типа (т.е. эта программа - драйвер диска; это я ещё про контроллеры не стал говорить). А для этого эта программа уже д.б. в оперативной памяти.
Т.е. для загрузки любого файла (в т.ч. того, который после включения компьютера загружается первым) нам надо уже иметь в памяти драйвер диска.
Ой, я забыл, что для работы с файлами нам также надо иметь программу, которая знает, как по имени файла найти список секторов, где лежит этот файл.

А ещё иметь список файлов, которые надо загрузить. А то если у меня на машине не DOS, а Unix - то и файловая система там другая (т.е. список секторов файла составляется совершенно иначе), и сам файл называется иначе. Вот засада-то!!!

Остальное примерно так, отмечу только, что в те времена (конец 80х) DOS и Windows -драйверы под разнообразные приложения типа электронных таблиц часто прикладывались в комплекте к железу (видеокартам чаще всего).
Правильно! Именно так оно и было!
А почему в комплекте к жёстким дискам или SCSI-контроллерам не прикладывали драйвер для электронных таблиц? А про сетевые карты что скажете?

Date: 2017-02-27 09:33 am (UTC)
From: [identity profile] bangor-flying.livejournal.com
О нет, столько всего сразу. Отсылаю к авторитетному тексту - книге Рэя Дункана "Профессиональная работа в 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 и компании. Да, вот такой я древний.

Date: 2017-02-27 10:36 am (UTC)
From: [identity profile] karpion.livejournal.com
Например, та же 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". Можете объяснить, что это значит? Ведь дискета - это просто набор секторов, там нет специфического места.

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.
Вот Вам короткое, чёткое, достаточно полное, логичное и непротиворечивое описание процесса загрузки без отсылки к непонятным словам типа "первые файлы". Заодно видно, какой маразм вся эта писюковая архитектура с её загрузкой операционки с диска - операционка в ПЗУ была бы намного проще и логичнее, а также надёжнее.

Date: 2017-02-28 09:18 am (UTC)
From: [identity profile] bangor-flying.livejournal.com
зачем программа, сидящая в ПЗУ .должна грузиться?

Это разные варианты одной и той же системы Amiga DOS - были как машинки Amiga, на которых она полностью находилась в ПЗУ емкостью 512 килобайт или 1 мегабайт вместе с мышью, окнами и многозадачностью, так и те, в которых система загружалась с дискеты. Функциональность при этом у них не отличалась. Так же например и на Atari ST ранние версии ОС загружались с дискет, затем их перенесли в ROM. Архитектура этих систем позволяла такие вещи.

Date: 2017-02-27 09:38 am (UTC)
From: [identity profile] bangor-flying.livejournal.com
Системные файлы имхо назывались по-разному из-за проблем с копирайтом или еще чего-то. Там был миллион вариаций на Compaq Dos, Tandy DOS, Toshiba или еще каких-нибудь. Но сути это не меняло (все производные PC-DOS). Иногда IBMBIO с компанией вполне себе сидели в ПЗУ, вроде бы на каких-то Tandy так и было (там вся DOS размещалась в ПЗУ). Вот такие древности. Вспомнил - DOS 2.11 вроде бы оно называлось, какая-то брендовая разновидность DOS 2 версии, засунутая в ROM.

Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур. И только в конце при обнаружении подоходящего дискового устройства туда передается управление. Полагаю, что этот принцип не изменился до сих пор, только расширился. А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа). Типичный пример - консоль Атари 2600.
Edited Date: 2017-02-27 10:17 am (UTC)

Date: 2017-02-27 10:28 am (UTC)
From: [identity profile] karpion.livejournal.com
Системные файлы имхо назывались по-разному из-за проблем с копирайтом или еще чего-то.
Ну, отлично. А откуда компьютер знает, какой именно из файлов надо загружать первым? Вот на Вашем компьютере - какой файл загружается первым?
Если Вы додумаетесь сами - отлично. Если просто осознаете проблему - уже хорошо. Ну а если нет - то я, конечно, могу рассказать - но педагогический эффект будет слабый.

Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур.
Я просил последовательность загрузки, а тестирование памяти и прочее - это всё делается до загрузки.

А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа).
Хм-м-м, а где Вы видели компьютер, в котором вообще нет ПЗУ? И почему Вы уверены, что в картридже нет ПЗУ?