Там все запутаннее - 32-битные DOS-приложения вполне существовали, но оказались несовместимы с многозадачным режимом Windows (а скорее всего Microsoft намеренно не стала поддерживать эти 32-битные расширители, чтобы выбросить конкурентов с рынка). Большинство из них требовало монопольный режим работы компьютера - еще Win95 имела специальный режим, в котором она выгружалась и запускалась такая программа.
Видите ли, разрядность программы - это ещё не всё, есть ещё маса параметров. Например, 32-битные программы под Windows и под Linux - несовместимы, невзирая на одинаковую разрядность, т.к. используют разные системные вызовы и разные библиотеки.
DOS-программы, работающие с 32-битными расширителями, слишком сильно отличались от программ, под которые делалась Windows (точнее, эти программы были сделаны под Windows - но и Windows делалась под будущие программы, и в документации было описано, какими д.б. эти программы).
Простейшее отличие было в том, как программы работали с железом (видеокартами и остальным):
Windows предоставляет программам высокоуровневый интерфейс, абстрагированный от особенностей конкретной аппаратуры. Конкретно с аппаратурой напрямую работает драйвер, а все остальные, кому нужно - просят драйвер.
DOS изначально не имел в себе никаких драйверов. Драйверы были в BIOS, но весьма убогие, а главное - они были 16-битные. Поэтому DOS-программы обращались куда им надо напрямую, и для этого им надо было нести с собой собственный драйвер данного устройства.
не хочу долго спорить, но минимальный набор драйверов в 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 -драйверы под разнообразные приложения типа электронных таблиц часто прикладывались в комплекте к железу (видеокартам чаще всего). Сейчас это все давно забыто.
Потому что не все из них - настоящие устройства https://sites.google.com/site/pcdosretro/drivers
На самом деле ЕМНИП там разница была - именно драйвер в .com или .exe формате мог ставиться в config.sys (а обычным образом из "командной строки" его запуск скорее всего не работал), а "обычный резидент" в config.sys прописать было нельзя - для них был autoexec.bat
минимальный набор драйверов в 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 мог попасть на исполнение процессору. Объясняю:
Процессор не может выполнять программу, лежащую на диске. Процессор может выполнять только программу, лежащую в оперативной памяти.
Чтобы выполнить программу, лежащую на диске, надо загрузить её в оперативную память.
Чтобы загрузить что-то с диска в оперативную память, надо выполнить программу, которая знает, как работать с диском данного типа (т.е. эта программа - драйвер диска; это я ещё про контроллеры не стал говорить). А для этого эта программа уже д.б. в оперативной памяти.
Т.е. для загрузки любого файла (в т.ч. того, который после включения компьютера загружается первым) нам надо уже иметь в памяти драйвер диска. Ой, я забыл, что для работы с файлами нам также надо иметь программу, которая знает, как по имени файла найти список секторов, где лежит этот файл.
А ещё иметь список файлов, которые надо загрузить. А то если у меня на машине не DOS, а Unix - то и файловая система там другая (т.е. список секторов файла составляется совершенно иначе), и сам файл называется иначе. Вот засада-то!!!
Остальное примерно так, отмечу только, что в те времена (конец 80х) DOS и Windows -драйверы под разнообразные приложения типа электронных таблиц часто прикладывались в комплекте к железу (видеокартам чаще всего).
Правильно! Именно так оно и было! А почему в комплекте к жёстким дискам или SCSI-контроллерам не прикладывали драйвер для электронных таблиц? А про сетевые карты что скажете?
О нет, столько всего сразу. Отсылаю к авторитетному тексту - книге Рэя Дункана "Профессиональная работа в 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 и компании. Да, вот такой я древний.
Системные файлы имхо назывались по-разному из-за проблем с копирайтом или еще чего-то. Там был миллион вариаций на Compaq Dos, Tandy DOS, Toshiba или еще каких-нибудь. Но сути это не меняло (все производные PC-DOS). Иногда IBMBIO с компанией вполне себе сидели в ПЗУ, вроде бы на каких-то Tandy так и было (там вся DOS размещалась в ПЗУ). Вот такие древности. Вспомнил - DOS 2.11 вроде бы оно называлось, какая-то брендовая разновидность DOS 2 версии, засунутая в ROM.
Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур. И только в конце при обнаружении подоходящего дискового устройства туда передается управление. Полагаю, что этот принцип не изменился до сих пор, только расширился. А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа). Типичный пример - консоль Атари 2600.
а Эзернет, это разве протокол ? а Эзернет и физический уровень эталонной модели ОСИ, это разве не одно и то же ? а Windows-программа разве не "делает" это через вызов функций АПИ ?
"DOS изначально не имел в себе никаких драйверов. Драйверы были в BIOS" ----------------------- как это ? драйвер это программка, выполняющаяся в операционной среде, BIOS не является операционной средой.
драйвер это программка, выполняющаяся в операционной среде
Для начала объясните мне, что такое "операционная среда". И приведите примеры программ, которые выполняются не в операционной среде. А если не там - то где же?
Моё определение: Драйверы бывают двух основных типов: "драйвер физического устройства" и "драйвер протокола". Примеры:
Впрочем, учитывая, что жёсткий диск доступен через его контроллер, а взаимодействие очень похоже на взаимодействие по сети, драйвер жёсткого диска можно отнести ко второй категории. Драйвер устройства - это программа-посредник. Со стороны обращающихся к ней программ она реализует стандартизированный интерфейс (API), специфичный для всех устройств данного типа. Со стороны устройства эта программа использует доступ через команды ввода/вывода IN/OUT (ABI), специфичный для конкретной модели устройства. Т.е. со стороны API драйверы видеокарт одинаковые, а со стооны ABI драйверы ATi/AMD и Nvidia совершенно разные. Драйвер протокола - это тоже программа-посредник; только у неё с обеиз сторон - API (ага, драйвер HDD - устроен именно так - у него снизу драйвер контроллера). С верней стороны драйверы всех файловых систем одинаковы, т.к. содержат стандартный набор функций, полагающихся файловой системе. А с нижней стороны драйверы разных файловых систем (FAT, NTFS, EXT*, ZFS, UFS/FFS) совершенно разные, т.к. раскладывают данные каждая как хочет. Это я ещё не стал влезать в том, что существуют сетевые файловые системы, а также виртуальные псевдофайловые псевдосистемы типа DevFS и ProcFS.
BIOS не является операционной средой
Ой, а как же тогда работает загрузчик операционки?
а ничего, что 8-битные программы можно запустить на 64-разрядной операционке ? а ничего, что Виндовсе95/98 не создаются профили пользователей ? в Виндовсе95/98 своя система "ДОСовских" команд
Во-первых, определитесь, профили вам нужны или права. А во-вторых, вот тут (http://komputercnulja.ru/operacionnye-sistemy/klassifikaciya-operacionnyx-sistem) почитайте для общего развития.
FireFox позволяет создать несколько профилей, чтобы пользователи не портили данные (например, сохранённые пароли) других пользователей. При этом никаких прав доступа он не поддерживает.
а ничего, что 8-битные программы можно запустить на 64-разрядной операционке ?
В программном эмуляторе? Не считается!
а ничего, что Виндовсе95/98 не создаются профили пользователей ?
А это как её настроишь. Профили будут обязательно - но можно настроить "общий профиль для всех юзеров".
Впрочем, наличие профилей ни о чём не говорит. Например, MicroMir мог создавать профили, но от этого не стал ни операционкой, ни оболочкой. FireFox тоже умеет создавать профили.
"Впрочем, наличие профилей ни о чём не говорит." --------------------- это говорит о том, что это и есть операционка, потому, что есть разграничение полномочий пользователей, а не оболочка для команд, набираемых с командной строки
А Вы точно уверены, что операционка нужна именно для обслуживания пользователей? Вы не слышали про операционки для автоматического управления устройствами - от кофеварки до атомного реактора?
Ну ладно, а что со смартфонами и планшетами? Есть ли там операционка? А что там с профилями?
"Это что за команды такие? " ------------------------------- Виндовса 98 уже как лет 15 нет под рукой, но там в хелпе перечислены команды. Ну, вот, например, из Виндовса 7
no subject
Date: 2017-02-26 07:25 am (UTC)no subject
Date: 2017-02-26 11:53 am (UTC)no subject
Date: 2017-02-26 06:28 pm (UTC)no subject
Date: 2017-02-26 09:14 pm (UTC)DOS-программы, работающие с 32-битными расширителями, слишком сильно отличались от программ, под которые делалась Windows (точнее, эти программы были сделаны под Windows - но и Windows делалась под будущие программы, и в документации было описано, какими д.б. эти программы).
Простейшее отличие было в том, как программы работали с железом (видеокартами и остальным):
- Windows предоставляет программам высокоуровневый интерфейс, абстрагированный от особенностей конкретной аппаратуры. Конкретно с аппаратурой напрямую работает драйвер, а все остальные, кому нужно - просят драйвер.
- DOS изначально не имел в себе никаких драйверов. Драйверы были в BIOS, но весьма убогие, а главное - они были 16-битные. Поэтому DOS-программы обращались куда им надо напрямую, и для этого им надо было нести с собой собственный драйвер данного устройства.
Понятно, что одно с другим несовместимо.no subject
Date: 2017-02-26 10:30 pm (UTC)no subject
Date: 2017-02-27 04:00 am (UTC)а что такое "псевдодрайвер" ?
"В некоторых случаях оно же было в .com"
----------------
болтался в памяти резидентно, перехватывал маскируемые прерывания
no subject
Date: 2017-02-27 06:21 am (UTC)На самом деле ЕМНИП там разница была - именно драйвер в .com или .exe формате мог ставиться в config.sys (а обычным образом из "командной строки" его запуск скорее всего не работал), а "обычный резидент" в config.sys прописать было нельзя - для них был autoexec.bat
no subject
Date: 2017-02-27 08:54 am (UTC)Далее: никакой файл не м.б. встроен в "top of the ROM BIOS". Потому что BIOS - в ПЗУ, и ему пофиг, что там лежит на диске.
И наконец, этот файл содержал немного совсем не те драйверы. Т.е. там был не драйвер диска, а драйвер раздела (партиции); ну или правильнее сказать во множественном числе: "не драйвер дисков, а драйвер разделов", т.к. их м.б. много. Ну и остальное (консоль, принтер) - аналогично. А настоящие драйверы этих устройств были в BIOS, в ПЗУ.
Кстати, драйвера принтера не были ни в BIOS, ни в IBMBIO.SYS. Там был драйвер принтерного порта - что как бы совершенно не совсем одно и то же.
Фейспалм!!!
Вы бы перед тем, как постить, в Гугль глянули - это же функция DOS, а не BIOS! (https://www.google.ru/search?q=INT+21h)
Ну, расскажите мне, каким образом файл IBMBIO.SYS мог попасть на исполнение процессору. Объясняю:
- Процессор не может выполнять программу, лежащую на диске. Процессор может выполнять только программу, лежащую в оперативной памяти.
- Чтобы выполнить программу, лежащую на диске, надо загрузить её в оперативную память.
- Чтобы загрузить что-то с диска в оперативную память, надо выполнить программу, которая знает, как работать с диском данного типа (т.е. эта программа - драйвер диска; это я ещё про контроллеры не стал говорить). А для этого эта программа уже д.б. в оперативной памяти.
Т.е. для загрузки любого файла (в т.ч. того, который после включения компьютера загружается первым) нам надо уже иметь в памяти драйвер диска.Ой, я забыл, что для работы с файлами нам также надо иметь программу, которая знает, как по имени файла найти список секторов, где лежит этот файл.
А ещё иметь список файлов, которые надо загрузить. А то если у меня на машине не DOS, а Unix - то и файловая система там другая (т.е. список секторов файла составляется совершенно иначе), и сам файл называется иначе. Вот засада-то!!!
Правильно! Именно так оно и было!
А почему в комплекте к жёстким дискам или SCSI-контроллерам не прикладывали драйвер для электронных таблиц? А про сетевые карты что скажете?
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)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-02-27 09:38 am (UTC)Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур. И только в конце при обнаружении подоходящего дискового устройства туда передается управление. Полагаю, что этот принцип не изменился до сих пор, только расширился. А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа). Типичный пример - консоль Атари 2600.
(no subject)
From:no subject
Date: 2017-02-27 04:02 am (UTC)---------------
а что такое "высокоуровневый" и чем он отличается от "низкоуровневого".
no subject
Date: 2017-02-27 08:28 am (UTC)Пример последовательности:
Другой пример:
Windows-программа говорит операционке: "нарисуй кнопку в таком-то месте и чтобы внутри было написано это". А DOS-программа лезет прямо в видеопамять.
no subject
Date: 2017-02-28 12:13 am (UTC)а Эзернет, это разве протокол ?
а Эзернет и физический уровень эталонной модели ОСИ, это разве не одно и то же ?
а Windows-программа разве не "делает" это через вызов функций АПИ ?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-02-27 04:06 am (UTC)-----------------------
как это ?
драйвер это программка, выполняющаяся в операционной среде, BIOS не является операционной средой.
no subject
Date: 2017-02-27 08:10 am (UTC)Моё определение:
Драйверы бывают двух основных типов: "драйвер физического устройства" и "драйвер протокола". Примеры:
- устройства: HDC (контроллер жёсткого диска), HDD (жёсткий диск), модем, сетевая карта;
- протоколы: файловая система, протокол IP, протокол TCP.
Впрочем, учитывая, что жёсткий диск доступен через его контроллер, а взаимодействие очень похоже на взаимодействие по сети, драйвер жёсткого диска можно отнести ко второй категории.Драйвер устройства - это программа-посредник. Со стороны обращающихся к ней программ она реализует стандартизированный интерфейс (API), специфичный для всех устройств данного типа. Со стороны устройства эта программа использует доступ через команды ввода/вывода IN/OUT (ABI), специфичный для конкретной модели устройства. Т.е. со стороны API драйверы видеокарт одинаковые, а со стооны ABI драйверы ATi/AMD и Nvidia совершенно разные.
Драйвер протокола - это тоже программа-посредник; только у неё с обеиз сторон - API (ага, драйвер HDD - устроен именно так - у него снизу драйвер контроллера). С верней стороны драйверы всех файловых систем одинаковы, т.к. содержат стандартный набор функций, полагающихся файловой системе. А с нижней стороны драйверы разных файловых систем (FAT, NTFS, EXT*, ZFS, UFS/FFS) совершенно разные, т.к. раскладывают данные каждая как хочет. Это я ещё не стал влезать в том, что существуют сетевые файловые системы, а также виртуальные псевдофайловые псевдосистемы типа DevFS и ProcFS.
Ой, а как же тогда работает загрузчик операционки?
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-02-27 03:58 am (UTC)а ничего, что Виндовсе95/98 не создаются профили пользователей ?
в Виндовсе95/98 своя система "ДОСовских" команд
no subject
Date: 2017-02-27 08:29 am (UTC)Вы просто не умеете их готовить. (http://adminbook.ru/index.php?men1=4/9/9)
no subject
Date: 2017-02-28 12:05 am (UTC)no subject
Date: 2017-02-28 06:13 am (UTC)А во-вторых, вот тут (http://komputercnulja.ru/operacionnye-sistemy/klassifikaciya-operacionnyx-sistem) почитайте для общего развития.
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-02-28 05:25 pm (UTC)no subject
Date: 2017-02-27 08:31 am (UTC)А это как её настроишь. Профили будут обязательно - но можно настроить "общий профиль для всех юзеров".
Впрочем, наличие профилей ни о чём не говорит. Например, MicroMir мог создавать профили, но от этого не стал ни операционкой, ни оболочкой. FireFox тоже умеет создавать профили.
Это что за команды такие?
no subject
Date: 2017-02-27 11:50 pm (UTC)---------------------
это говорит о том, что это и есть операционка, потому, что есть разграничение полномочий пользователей, а не оболочка для команд, набираемых с командной строки
no subject
Date: 2017-02-28 05:33 pm (UTC)Ну ладно, а что со смартфонами и планшетами? Есть ли там операционка? А что там с профилями?
(no subject)
From:(no subject)
From:no subject
Date: 2017-02-27 11:58 pm (UTC)-------------------------------
Виндовса 98 уже как лет 15 нет под рукой, но там в хелпе перечислены команды.
Ну, вот, например, из Виндовса 7
no subject
Date: 2017-02-28 05:36 pm (UTC)А почему Вы считаете, что "cd" - это команда DOS, а не Unix?
В ещё я вижу команды "compact" и "convert". Какое отношение они имеют к DOS, если они связаны с NTFS???