Там все запутаннее - 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 и компании. Да, вот такой я древний.
Например, та же 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 тоже было примерно так.
Это разные варианты одной и той же системы Amiga DOS - были как машинки Amiga, на которых она полностью находилась в ПЗУ емкостью 512 килобайт или 1 мегабайт вместе с мышью, окнами и многозадачностью, так и те, в которых система загружалась с дискеты. Функциональность при этом у них не отличалась. Так же например и на Atari ST ранние версии ОС загружались с дискет, затем их перенесли в ROM. Архитектура этих систем позволяла такие вещи.
Системные файлы имхо назывались по-разному из-за проблем с копирайтом или еще чего-то. Там был миллион вариаций на Compaq Dos, Tandy DOS, Toshiba или еще каких-нибудь. Но сути это не меняло (все производные PC-DOS). Иногда IBMBIO с компанией вполне себе сидели в ПЗУ, вроде бы на каких-то Tandy так и было (там вся DOS размещалась в ПЗУ). Вот такие древности. Вспомнил - DOS 2.11 вроде бы оно называлось, какая-то брендовая разновидность DOS 2 версии, засунутая в ROM.
Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур. И только в конце при обнаружении подоходящего дискового устройства туда передается управление. Полагаю, что этот принцип не изменился до сих пор, только расширился. А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа). Типичный пример - консоль Атари 2600.
Системные файлы имхо назывались по-разному из-за проблем с копирайтом или еще чего-то.
Ну, отлично. А откуда компьютер знает, какой именно из файлов надо загружать первым? Вот на Вашем компьютере - какой файл загружается первым? Если Вы додумаетесь сами - отлично. Если просто осознаете проблему - уже хорошо. Ну а если нет - то я, конечно, могу рассказать - но педагогический эффект будет слабый.
Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур.
Я просил последовательность загрузки, а тестирование памяти и прочее - это всё делается до загрузки.
А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа).
Хм-м-м, а где Вы видели компьютер, в котором вообще нет ПЗУ? И почему Вы уверены, что в картридже нет ПЗУ?
а Эзернет, это разве протокол ? а Эзернет и физический уровень эталонной модели ОСИ, это разве не одно и то же ? а Windows-программа разве не "делает" это через вызов функций АПИ ?
"Ethernet" - это термин, включающий в себя набор протоколов 1го и 2го уровней модели OSI. Т.е. это не один протокол, а много.
Физический электрический сигнал - это нижняя часть 1го уровня модели OSI; и "нулевой уровень", который относится уже не к сетевому стеку протоколов и вообще не к компьютерным наукам, а к физике. Там довольно сложно, и надо помнить, что модель OSI не слишком адекватна.
Windows-программа говорит операционке действительно через API. А вот DOS-программа лезет в видеопамять через ABI.
"и вообще не к компьютерным наукам, а к физике." ---------------- почему ? от частоты сигнала зависит объём передаваемых данных, "чаще" сигнал (выше частота) больше данных можно передать. К тому же данные передаются не только по проводам, но и по воздуху и светом.
"DOS изначально не имел в себе никаких драйверов. Драйверы были в BIOS" ----------------------- как это ? драйвер это программка, выполняющаяся в операционной среде, BIOS не является операционной средой.
драйвер это программка, выполняющаяся в операционной среде
Для начала объясните мне, что такое "операционная среда". И приведите примеры программ, которые выполняются не в операционной среде. А если не там - то где же?
Моё определение: Драйверы бывают двух основных типов: "драйвер физического устройства" и "драйвер протокола". Примеры:
Впрочем, учитывая, что жёсткий диск доступен через его контроллер, а взаимодействие очень похоже на взаимодействие по сети, драйвер жёсткого диска можно отнести ко второй категории. Драйвер устройства - это программа-посредник. Со стороны обращающихся к ней программ она реализует стандартизированный интерфейс (API), специфичный для всех устройств данного типа. Со стороны устройства эта программа использует доступ через команды ввода/вывода IN/OUT (ABI), специфичный для конкретной модели устройства. Т.е. со стороны API драйверы видеокарт одинаковые, а со стооны ABI драйверы ATi/AMD и Nvidia совершенно разные. Драйвер протокола - это тоже программа-посредник; только у неё с обеиз сторон - API (ага, драйвер HDD - устроен именно так - у него снизу драйвер контроллера). С верней стороны драйверы всех файловых систем одинаковы, т.к. содержат стандартный набор функций, полагающихся файловой системе. А с нижней стороны драйверы разных файловых систем (FAT, NTFS, EXT*, ZFS, UFS/FFS) совершенно разные, т.к. раскладывают данные каждая как хочет. Это я ещё не стал влезать в том, что существуют сетевые файловые системы, а также виртуальные псевдофайловые псевдосистемы типа DevFS и ProcFS.
BIOS не является операционной средой
Ой, а как же тогда работает загрузчик операционки?
"Для начала объясните мне, что такое "операционная среда"." ------------------------------- вернее "оперирующая" среда, а не "операционная". Правильный перевод слова operating - оперирующий, т.е. приводящий в действие.
Совокупность программулек, обеспечивающих управление ресурсами компа, раздачей полномочий процессам (другим программулькам) по доступу к ресурсам компа
" "BIOS не является операционной средой" Ой, а как же тогда работает загрузчик операционки? " ------------------------------ Причём тут загрузчик операционки ?
БИОС проверяет аппаратуру согласно программке, "зашитой" в микросхеме, а операционка "загружается" исполнением файла с определённого места на диске - загрузочной области диска
Совокупность программулек, обеспечивающих управление ресурсами компа, раздачей полномочий процессам (другим программулькам) по доступу к ресурсам компа
Это "операционная система".
А теперь внимание: драйверы начинают работу до того, как в системе появляются процессы. Поэтому Ваше мнение "драйвер это программка, выполняющаяся в операционной среде" (с уточнениями о значении этих терминов) совершенно ложно.
Причём тут загрузчик операционки ?
Смотрим внимательно:
Загрузчик операционки загружает ядро и прочую хрень. Загружает с диска (или по сети - тут это без разницы).
Чтобы обратиться к диску (или к сети) - в RAM или в ROM д.б. программа, знающая, как работать с данным конкретным HDC+HDD.
Эта программа и есть драйвер. Причём этот драйвер должен работать тогда, когда в системе нет не только процессов, но даже и ядра - т.е. некому распределять ресурсы. Да собственно, их распределять незачем - практически нет желающих их получить. А те, которые есть - распределяют их кооперативным способом.
БИОС проверяет аппаратуру согласно программке, "зашитой" в микросхеме
Не только, очень даже не только. При использовании DOS - BIOS работал на протяжении всей работы компьютера, до выключения.
Чтобы диалог был продуктивным, мне надо понять, что Вы знаете, а чего не знаете. Знаете ли Вы, какие функции выполнял BIOS уже после загрузки DOS?
а операционка "загружается" исполнением файла с определённого места на диске - загрузочной области диска
У меня складывается чёткое ощущение, что Вы не понимаете смысл слова "загрузка/загружается".
Где именно находится "загрузочная область диска"? Это фиксированное место, или для разных операционок оно может меняться?
Допустим, у меня на компьютере (на одном диске, в разных разделах) установлены DOS, W'XP и Linux с возможностью выбора операционки при старте. Где в этом случае находится "загрузочная область диска"?
"Загрузочная область диска" - это один сектор или много? Если много - то где содержится их список? Как список секторов передаётся на диск?
"Понимает" ли диск разницу между загрузкой операционки и штатным режимом работы? Может, в стандарте IDE/ATA/SATA/SCSI есть какие-то функции, относящиеся только к загрузке, которые не нужны в штатном режиме работы? Пруф есть?
"А теперь внимание: драйверы начинают работу до того, как в системе появляются процессы." -------------------- а теперь внимание, что такое процесс и откуда они "появляются" ? А теперь усильте внимание - от сырости или от запуска исполняемого файла в оперативной памяти, запрошенной исполняемым файлом и выделенной (ещё усильте внимание) чем ?
короче говоря, драйвер - системная программулька, приводящая в действие нечто или позволяющая использовать что-то (ресурс компа).
"Драйвер устройства - это программа-посредник. Со стороны обращающихся к ней программ она реализует стандартизированный интерфейс (API)" ---------------- вот я и говорю, что для "работы" драйвера нужна операционная среда (реализующая (выполняющая), в том числе функции АПИ).
Драйвер сам реализует некоторый API, операционная среда ему для этого вовсе не обязательна. Более того: в ряде случаев ядро операционки подстраивается под существующие драйверы.
Повторю ещё раз: драйвер должен работать до того, как начало работать ядро операционки. Чисто потому, что это ядро ещё надо затянуть в RAM с HDD, а драйвер нужен для того, чтобы использовать HDD.
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
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)
From:no subject
Date: 2017-02-28 09:18 am (UTC)Это разные варианты одной и той же системы Amiga DOS - были как машинки Amiga, на которых она полностью находилась в ПЗУ емкостью 512 килобайт или 1 мегабайт вместе с мышью, окнами и многозадачностью, так и те, в которых система загружалась с дискеты. Функциональность при этом у них не отличалась. Так же например и на Atari ST ранние версии ОС загружались с дискет, затем их перенесли в ROM. Архитектура этих систем позволяла такие вещи.
no subject
Date: 2017-02-27 09:38 am (UTC)Полная последовательность процедур загрузки даже на простейшем 8-разрядном компьютере Атари 400 занимала в расписанном виде примерно 50 страниц мануала - еще в то время, когда и жестких дисков не было. Там очень много всего делается, включая тестирование памяти, установка всевозможных векторов прерываний, включение регистров клавиатуры и тому подобное, тысяча мелких процедур. И только в конце при обнаружении подоходящего дискового устройства туда передается управление. Полагаю, что этот принцип не изменился до сих пор, только расширился. А вот если комп вообще без какого-либо ПЗУ (его там ноль байт) - нужно все это как-то писать самому, включая процедуру начальной загрузки а готовые программы запускаются аппаратной схемой (например, с картриджа). Типичный пример - консоль Атари 2600.
no subject
Date: 2017-02-27 10:28 am (UTC)Если Вы додумаетесь сами - отлично. Если просто осознаете проблему - уже хорошо. Ну а если нет - то я, конечно, могу рассказать - но педагогический эффект будет слабый.
Я просил последовательность загрузки, а тестирование памяти и прочее - это всё делается до загрузки.
Хм-м-м, а где Вы видели компьютер, в котором вообще нет ПЗУ? И почему Вы уверены, что в картридже нет ПЗУ?
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
Date: 2017-02-28 12:09 pm (UTC)Физический электрический сигнал - это нижняя часть 1го уровня модели OSI; и "нулевой уровень", который относится уже не к сетевому стеку протоколов и вообще не к компьютерным наукам, а к физике. Там довольно сложно, и надо помнить, что модель OSI не слишком адекватна.
Windows-программа говорит операционке действительно через API. А вот DOS-программа лезет в видеопамять через ABI.
no subject
Date: 2017-02-28 02:26 pm (UTC)----------------
через прерывания
(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2017-02-28 02:28 pm (UTC)----------------
почему ?
от частоты сигнала зависит объём передаваемых данных, "чаще" сигнал (выше частота) больше данных можно передать. К тому же данные передаются не только по проводам, но и по воздуху и светом.
(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
Date: 2017-02-28 12:32 am (UTC)-------------------------------
вернее "оперирующая" среда, а не "операционная". Правильный перевод слова operating - оперирующий, т.е. приводящий в действие.
Совокупность программулек, обеспечивающих управление ресурсами компа, раздачей полномочий процессам (другим программулькам) по доступу к ресурсам компа
" "BIOS не является операционной средой"
Ой, а как же тогда работает загрузчик операционки? "
------------------------------
Причём тут загрузчик операционки ?
БИОС проверяет аппаратуру согласно программке, "зашитой" в микросхеме,
а операционка "загружается" исполнением файла с определённого места на диске - загрузочной области диска
no subject
Date: 2017-02-28 05:16 pm (UTC)А теперь внимание: драйверы начинают работу до того, как в системе появляются процессы. Поэтому Ваше мнение "драйвер это программка, выполняющаяся в операционной среде" (с уточнениями о значении этих терминов) совершенно ложно.
Смотрим внимательно:
Не только, очень даже не только. При использовании DOS - BIOS работал на протяжении всей работы компьютера, до выключения.
Чтобы диалог был продуктивным, мне надо понять, что Вы знаете, а чего не знаете. Знаете ли Вы, какие функции выполнял BIOS уже после загрузки DOS?
У меня складывается чёткое ощущение, что Вы не понимаете смысл слова "загрузка/загружается".
Где именно находится "загрузочная область диска"? Это фиксированное место, или для разных операционок оно может меняться?
Допустим, у меня на компьютере (на одном диске, в разных разделах) установлены DOS, W'XP и Linux с возможностью выбора операционки при старте. Где в этом случае находится "загрузочная область диска"?
"Загрузочная область диска" - это один сектор или много? Если много - то где содержится их список? Как список секторов передаётся на диск?
"Понимает" ли диск разницу между загрузкой операционки и штатным режимом работы? Может, в стандарте IDE/ATA/SATA/SCSI есть какие-то функции, относящиеся только к загрузке, которые не нужны в штатном режиме работы? Пруф есть?
no subject
Date: 2017-03-03 11:20 pm (UTC)--------------------
а теперь внимание, что такое процесс и откуда они "появляются" ? А теперь усильте внимание - от сырости или от запуска исполняемого файла в оперативной памяти, запрошенной исполняемым файлом и выделенной (ещё усильте внимание) чем ?
(no subject)
From:no subject
Date: 2017-02-28 12:40 am (UTC)"Драйвер устройства - это программа-посредник. Со стороны обращающихся к ней программ она реализует стандартизированный интерфейс (API)"
----------------
вот я и говорю, что для "работы" драйвера нужна операционная среда (реализующая (выполняющая), в том числе функции АПИ).
no subject
Date: 2017-02-28 05:23 pm (UTC)Повторю ещё раз: драйвер должен работать до того, как начало работать ядро операционки. Чисто потому, что это ядро ещё надо затянуть в RAM с HDD, а драйвер нужен для того, чтобы использовать HDD.
(no subject)
From:(no subject)
From: