LINUX.ORG.RU
Ответ на: комментарий от vasya_pupkin

модель 2133 114

НеХ какая-то. Небойсь, с MCA какой-нить. В любом случае, внятной скорости там ждать не приходится.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Ни DOS, ни BIOS не может вернуть управление в код, расположенный выше 640 килобайт.

Во-первых, насколько я помню, были соответствующие драйверы под Dos, которые позволяли это делать. Во-вторых, какое это имеет отношение к обсуждаемой проблеме? Многие программы под Dos укладывались в этот лимит, что не мешало им работать под W9x через собственные драйверы (модем, звуковые карты, принтеры и т. п.) или вообще через BIOS (доступ к диску).

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

Появление 32-разрядного доступа к файлам в Windows for Workgroups 3.11 означало, что 16-разрядный реальный режим MS-DOS более не использовался для работы с файлами во время выполнения Windows, а внедрение 32-разрядного доступа к диску в Windows 3.1 позволяло избежать использования BIOS для управления жёсткими дисками. В результате, роль MS-DOS фактически свелась к тому, чтобы загружать ядро Windows, работающее в защищённом режиме.

vasya_pupkin ★★★★★
()
Ответ на: комментарий от vasya_pupkin

означало, что 16-разрядный реальный режим MS-DOS более не использовался для работы с файлами во время выполнения Windows, а внедрение 32-разрядного доступа к диску в Windows 3.1 позволяло избежать использования BIOS для управления жёсткими дисками.

Это справедливо только для программ, специально написанных под Windows. При этом программы, написанные под Dos, не запускались в эмуляторе, как это происходит в нормальных OS (те же Linux или Windows NT), где доступ к железу имеет исключительно ядро системы, а получали прямой доступ к железу и BIOS.

Serge10 ★★★★★
()
Ответ на: комментарий от vasya_pupkin

Нет. Но вопрос не коректен.

Почему некорректен? Ответ на него ясно дает понять, что MS Dos остается неотъемлемой частью Windows 1-2-3 и W9x. Т. е. последние не могут рассматриваться в качеcтве независимых OS.

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

получали прямой доступ к железу и BIOS.

Доступ к железу они получали потому, что отсутствовала защита памяти, а к BIOS доступа они не получали.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

а к BIOS доступа они не получали.

Да ладно, а как же тогда они к диску обращались? А с модемами и звуковыми картами как работали? Забыли все эти истории с IRQ?

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

К диску обращались через вызовы ATA/IDE, также, как и Линукс. Модемы работали через COM порт, и «драйвер» его представлял из себя текстовый файл, «обучающий» венду AT-командам. Winмодемы появились позже. Что за истории с IRQ - понятия не имею.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от lenin386

Что за истории с IRQ - понятия не имею.

Я про истории по назначению уникальных IRQ разным устройствам. Частично это решалось на уровне BIOS, частично - на самих устройствах. При наличии большого количества таких устройств данное занятие превращалось в серьезную проблему.

К диску обращались через вызовы ATA/IDE, также, как и Линукс.

Программы под Dos? Уверены? Всегда считал, что они через 13 прерывание работали.

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

Я про истории по назначению уникальных IRQ разным устройствам.

Товарищ, ты будешь смеяться, но эта история актуальная до сих пор, и внезапно в Линуксе тоже. И даже в PCI, где драйверы обязаны разрешать конфликты IRQ методом определения своего прерывания, однако делают это _внезапно не все драйверы и не всегда.

При наличии большого количества таких устройств данное занятие превращалось в серьезную проблему.

Да :-) И сейчас превращается. Просто в PCI линий IRQ больше, но не сильно, и при наличии однотипных устройств в количестве скажем 6, бывает уходит в коллизии и PCI.

Программы под Dos? Уверены? Всегда считал, что они через 13 прерывание работали.

Профессор, причём тут программы под ДОС. Мы обсуждаем программы для Windows 9x. Они, какбэ, другие. Другой формат, всё другое.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 5)
Ответ на: комментарий от lenin386

но эта история актуальная до сих пор

Да ладно, со времен появления устройств Plug and Play эта проблема разруливается автоматически на уровне BIOS.

Товарищ, причём тут программы под ДОС. Мы обсуждаем программы для Windows 9x.

А Вы перечитайте внимательно дискуссию. Речь с самого начала идет про программы, написанные под Dos, но запущенные под Windows 1-2-3 или W9x.

Собственно говоря, я защищаю крайне простой тезис - в нормальных полноценных OS (Windows NT, Linux) такие программы запускаются в эмуляторе. А в Windows 1-2-3 и W9x они (программы) получают прямой доступ к железу и BIOS в обход стандартных средств Windows.

Serge10 ★★★★★
()
Ответ на: комментарий от Serge10

Да ладно, со времен появления устройств Plug and Play эта проблема разруливается автоматически на уровне BIOS.

Нет, профессор. Технология PnP - это всего лишь механизм получения конфигурация устройства. Если раньше адреса и прерывания требовалось указывать драйверу в параметрах или конфиге, то PnP устройство драйвер конфигурирует сам. Но если устройства заняли одно прерывание, но никакой PnP не поможет. Это не сложно - в PCI всего лишь 15 линий прерываний (IRQ), из которых ~10 занято. В ISA конфликты IRQ не допускались, в PCI драйверы обязаны разрешать конфликты, но делают это не всегда. Есть ещё конечно костыли типа APIC, но тут теже проблемы - драйверы, которые должны, но прощают.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 3)
Ответ на: комментарий от Serge10

Речь с самого начала идет про программы, написанные под Dos, но запущенные под Windows 1-2-3 или W9x.

Это так сделано специально, для совместимости с этими программами. В OS/2, например, сделано ещё больше - там даже можно назначить объём нижней памяти, которую ОС не будет использовать. Вы OS/2 тоже считаете оболочкой на DOS ?

lenin386 ★★★★
()
Ответ на: комментарий от Serge10

Собственно говоря, я защищаю крайне простой тезис - в нормальных полноценных OS (Windows NT, Linux) такие программы запускаются в эмуляторе.

Ты путаешь тёплое с мягким. В 95 виндах отсутствует защита памяти, поэтому проги могли обращаться куда угодно. У тебя под виндой досовая прога вполне может зависнуть, не вызывая краха винды (но может и завалить винду) и ты её вполне можешь прибить. В чистом досе у тебя такого варианта прибить прогу нет.

vasya_pupkin ★★★★★
()
Последнее исправление: vasya_pupkin (всего исправлений: 1)
Ответ на: комментарий от lenin386

В ISA конфликты IRQ не допускались, в PCI драйверы обязаны разрешать конфликты

Собственно говоря, Вы сами объяснили, что кошмар с IRQ остался в прошлом ;).

но делают это не всегда. Есть ещё конечно костыли типа APIC, но тут теже проблемы - драйверы, которые должны, но прощают.

Косяки в софте, в том числе и в драйверах, были, есть и будут всегда. С этим, увы, вряд ли удастся что-то сделать. Но косяки можно исправлять. В отличие от ситуации с ISA, где проблема в принципе не имела программного решения. И именно поэтому я, например, за последние 20 лет ни разу (!) не слышал о проблемах с IRQ. А сколько раз Вам пришлось с ней столкнуться за последнюю пару десятилетий?

Serge10 ★★★★★
()
Ответ на: комментарий от lenin386

Вы OS/2 тоже считаете оболочкой на DOS ?

Я никогда не видел эту OS, но из того, что читал, у меня сложилось впечатление, что она гораздо ближе к Windows NT, чем к W9x. Неужели там Dos-программы имеют прямой доступ к железу? Ведь давать прямой доступ к железу прикладным программам означает жертвовать стабильностью ради совместимости. А стабильность является, пожалуй, одним из самых важных свойств OS.

Serge10 ★★★★★
()
Ответ на: комментарий от vasya_pupkin

досовая прога вполне может зависнуть, не вызывая краха винды

Это если очень повезет. Отсутствие защиты памяти и конкуренция за железо как правило, вели к краху всей системы :(. Я еще на Windows 3.11 наелся этого дерьма по полной, не случайно же при первой же возможности свалил на Windows NT.

Serge10 ★★★★★
()
Ответ на: комментарий от mandala

За хрюнделя не пить!

Может ты имел в виду пить, но не чокаясь?

Qwentor ★★★★★
()
Ответ на: комментарий от Serge10

кошмар с IRQ остался в прошлом ;).

Для большинства пользователей - да. Но в общем и целом, проблема не решилась до сих пор.

. А сколько раз Вам пришлось с ней столкнуться за последнюю пару десятилетий?

За последний год - один раз.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от Serge10

Неужели там Dos-программы имеют прямой доступ к железу?

Смотря, где расположено его IO. Если оно расположено в 16 битных адресах, доступных из DOS, то да, имеют.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

За последний год - один раз.

Это само по себе удивительно, но даже если и так, сравните с актуальностью проблемы в 90-е годы. Где разрулить конфликт IRQ между звуковой картой, мышкой, принтером и модемом уже зачастую представляло собой нетривиальную задачу.

Serge10 ★★★★★
()
Ответ на: комментарий от lenin386

Смотря, где расположено его IO. Если оно расположено в 16 битных адресах, доступных DOS, то да, имеют.

Вот цитата из Wikipedia:

OS/2 v2.00 (весна 1992 года)

Эта версия 32-разрядная (за исключением видеоподсистемы), продвигалась IBM под слоганом «лучшая DOS,
чем MS-DOS, и лучшая Windows, чем Windows». Использование виртуальных DOS-машин (VDM) позволяет 
запускать сразу несколько DOS- и Windows-задач. Для запуска программ Windows используется Win-OS/2, 
основанная на лицензированной IBM Windows 3.1. Использование виртуальных машин позволило изолировать 
Windows и DOS-задачи, в результате чего 
сбои в программах не препятствовали продолжению выполнения других программ. Реализованы также такие 
механизмы межпрограммного взаимодействия, как динамический обмен данных (Dynamic Data
Exchange) и буфер обмена.

Минимально необходимым для работы этой версии системы является процессор 80386, ядром системы 
используется его защищённый режим. DOS-приложения используют режим виртуального 8086. Для 
работы требуется объём оперативной памяти 8 мегабайт.

Т. е. уже начиная с версии 2.0, в OS/2 досовские программы запускались в изолированных виртуальных машинах без доступа к реальному железу. Как раз из соображений стабильности.

Serge10 ★★★★★
()
Последнее исправление: Serge10 (всего исправлений: 2)
Ответ на: комментарий от Serge10

Изоляция была там, куда загружена OS/2. Была опция, позволяющая загружать OS/2 в верхние N памяти. То, что ниже - было доступно DOS полностью.

lenin386 ★★★★
()
Ответ на: комментарий от lenin386

Trident 8900 до 1 мб памяти мог иметь, другое дело что он этот 1 мб адски медленно перерисовывал.

steemandlinux ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.