Комментарии 118
А вы когда-нибудь работали с такой оболочкой для DOS?
видя уже существующее все боятся написать что-нибудь подобное из статьи - единственное: на свой vc с длинными имена решаются
Первые версии Windows не были операционными системами в привычном понимании. Их можно назвать оболочками, значительно расширяющими возможности MS-DOS.
Нет, это все-таки была именно операционной системой.
Да, основанной поверх ДОС, обратно совместимая с ним архитектурно. Но это была именно платформа, под которую можно было писать софт, используя функции ОС, обращаться к устройствам через вызовы функций ОС и так далее.
Время было такое, что переписать весь софт под новую системы как бы нельзя за короткое время, а без софта, ОС никому не нужна. Поэтому первые версии Win и вся линейка 9x были почти полностью обратно совместимы с DOS, но предлагали уже и свой win32 подход.
Если ты писал что-то уже под Windows, то это уже не было софтом, который написан под дос с расширениями, нативные приложения написанные под win32 в будущем уже спокойно могли запускаться под WinNT без DOS вообще.
Вот например Андроид - это же не оболочка для Линукс, это отдельная ОС которая базируется на ядре Линукс, но не является Линуксом.
Windows до 9х были именно графическими оболочками DOS с описанным API, которым для работы нужна была настроенная среда DOS, с загруженными драйверами DOS Himem и EMM386. Так же Window до 9х могли работать под управление OS/2 где они работали устойчивее чем под DOS, а её падение не приводило к перезагрузке всей машины.
Ничего себе оболочка, которая дает доступ ко всему объему памяти, защищенный режим, многозадачность, имеет свои драйвера, свое API для приложений, не имеющее ничего общего с DOS. По сути, DOS там используется только как загрузчик и как слой совместимости для запуска старых приложений.
Только этот доступ к памяти обеспечивают драйвер DOS. Как в прочем доступ к файлам на диске обеспечивает сама DOS.
Эндрю Шульман: "Недокументированная Windows 95". Книга, вышедшая примерно в то же время, что и сама Windows 95. Зачитывал её до дыр. До сих пор стоит на полке. Там очень технически подробно всё это описано. И да, именно с 32-битового доступа к диску всё начиналось. Чёткой грани между оболочкой и полноценной операционкой нет. Windows 95 шла к этому постепенно, начиная с 3.x. Многие подсистемы постепенно переносились в защищённый режим, заменяя куски MSDOS своими собственными драйверами. Собственно уже в тот момент, когда "оболочка" переводила DOS в защищённый режим, всё становилось с ног на голову и DOS находился c этого момента в slave-режиме. Все аппаратные прерывания шли сначала через драйвер защищённого режима и только сам драйвер решал, обрабатывать прерывание самому или передать его в старый код MSDOS.
Чёткой грани между оболочкой и полноценной операционкой нет.
На мой взгляд необходимый критерий для чего то, чтобы называться операционкой - возможность запуска на голом железе не используя другого программного обеспечения, кроме зашитого в ПЗУ (скажем, BIOS/UEFI). Так что Windows 95 операционкой считать можно - необходимый для работы код MS DOS включён в её состав - а вот Windows 3.x нет, её на компьютер без DOS не поставишь.
Ну если считать, что Windows 95 стала завершающей стадией "поглощения" MSDOS путём переписывания/переноса большей части кода в защищённый режем, то да. Просто в Windows 95 пользователя избавили от необходимости каждый раз руками набирать win.com :-) Он кстати сохранился там. После прочтения вышеупомянутой книги я много экпериментировал с Win 95. Благо в книге было достаточно практических примеров. Там можно было легко получить систему без графической оболочки. Это был DOS в защищённом режиме с полным комплектом возможностей 95-ки. Например была возможность работы с длинными именами файлов. Всё это я "запихивал" на дискету 1.44 Мб, чем очень удивлял преподавателя на практических занятиях, который уверял, что в DOS невозможно получить поддержку длинных имён файлов, потому что это прерогатива именно Win 95 :-)
Там именно что была MS-DOS 7.0 в комплекте. Насколько помню, последняя версия "независимой" MS-DOS (которую можно поставить и использовать отдельно от Windows) была 6.22, и для установки, скажем, Windows 3.11 на голое железо нужно было сначала отдельно поставить MS-DOS 6.22, настроить запуск himem.sys и emm.sys, и только потом можно было запускать установку Windows 3.11, которая "под капотом" всё же использовала вызовы MS-DOS в определённых ситуациях.
А начиная с Windows 95 уже с ней в комплекте поставлялась MS-DOS 7.0 (которую отдельно от Windows 95 поставить было нельзя, во всяком случае штатными средствами), и можно было прям на голом железе запускать установщик Windows, который ставил одновременно и DOS и Windows. Режим "голой" MS-DOS при этом никуда не девался, достаточно было в AUTOEXEC.BAT закомментировать последнюю строчку, где установщик прописывал win.com, и всё - после загрузки получаем голый дос, в котором можно уже руками выполнить win.com и "дозагрузиться" до Win95.
Впрочем, в 3.11 уже точно был 32 Bit Disk Access и 32-bit file access для доступа к диску и ФС в обход DOS.
Который появился только в последней версии Win3.x - Windows for Workgroup 3.11. ЕМНИП для его работы требовался контроллер дисков на VLBus или PCI.
Нет. dos это всего три файла - msdos.sys и io.sys и интерпретатор.
Почему вы считаете, что msdod.sys и io.sys нельзя считать частью MS Windows, если их автором и владельцем является MS, и ей проще было именно так начать сложную миграцию из консоли в графическую систему, оставляя пользователям максимально возможный выбор?
Вы же знаете, что в то время множество софта, даже если загрузить himem.sys, не умело к нему обращаться и юзало первые 640 кб, в результате из-под графической оболочки особо "тяжелому" софту нельзя было запуститься?
Множество софта напрямую лезло к устройствам (без драйверов)
И вообще из драйверов под дос, в основном известны драйвера мышки и сетевушки. Звук/видео обычно тянули разработчики продуктов, а не ОС.
И только под Windows прямой доступ ко всем устройствам(включая мышь, клавиатуру) уже полностью заменялся на OS API
Почему вы считаете, что msdod.sys и io.sys нельзя считать частью MS Windows
Вот когда начали продавать вместе с Windows (95), тогда и можно считать частью, до этого они входили в отдельный продукт за отдельные деньги.
Который назывался "операционная система Windows"
То, что продвинутые юзеры могли расколупать внутренности и найти там остатки дос, это проблема продвинутых юзеров
Я мог купить Windows 95 и не был обязан покупать DOS, оно все шло в комплекте.
Нет. dos это всего три файла - msdos.sys и io.sys и интерпретатор.
Не только три файла, в отсутствии himem.sys widows Win3.x откажется запускатя ссылаясь на отсутствие менеджера XMS памяти.
Почему вы считаете, что msdod.sys и io.sys нельзя считать частью MS Windows
DOS это отдельный продукт продававшийся и продвигавшийся на рынке Microsoft независимо.
оставляя пользователям максимально возможный выбор?
Из системных требований Windows 3.x "Требуется MS DOS версии 3.3 или старше."
Вы же знаете, что в то время множество софта, даже если загрузить himem.sys, не умело к нему обращаться и юзало первые 640 кб,
Так это проблема тяп-ляп написанных программ, а не DOS который предоставил все API для доступа к памяти. Но даже для этих косоруких, наличие himem.sys и менеджера UMB позволяло получить выгоду вставив в config.sys DOS=HIGH,UMB
в результате из-под графической оболочки особо "тяжелому" софту нельзя было запуститься?
А нахрена запускать "тяжелый" софт из под графической оболочки которая не дает ему ни каких преимуществ? Изобразить картину маслом "сам себе злобный Буратино стреляет себе в ногу?" "Тяжелый" софт вполне сам умел работать со всей памятью? что XMS/EMS в случае чего умел, какая неожиданность, переходить в режим VM86 избавляться от самого страшного проклятия x86 первого поколения, размера сегмента в 64кб. Более того этот "тяжелый" сам умел использовать файл подкачки при недостаке памяти.
Множество софта напрямую лезло к устройствам (без драйверов)
Это было неправильно, но в случае однозадачной системы приемлемо.
И вообще из драйверов под дос, в основном известны драйвера мышки и сетевушки.
А ещё драйверы scsi устройств (диски/ленточные накопители/сканеры). Так же были драйверы виртуальных устройств таких как к примеру Stacker
Звук/видео обычно тянули разработчики продуктов, а не ОС.
Пардон муа, а кто должен писать конкретный драйвер под свою железяку как не сам её производитель? Иван Фёдорович Крузенштерн?
И только под Windows прямой доступ ко всем устройствам(включая мышь, клавиатуру) уже полностью заменялся на OS API
OS/2 тоже запрещался прямой доступ к оборудованию, и вводила более уровень абстракций.
VESA кстати вполне успешно стандартизировало API доступа к видеокартам под DOS, разработало API для унифицированного доступа к звуковым устройствам, к API для аппаратного ускорения 2d графики.
разработало API для унифицированного доступа к звуковым устройствам
А можно поподробнее про API для звуковух от VESA? В досовских игрушках тип карты надо было выбирать явно и только в позднее время появились умные инсталляторы, автоматически определяющие порты/IRQ на карточках, совместимых с SB.
PS Нашёл ключевое слово VBE/AI, но не знаю, где оно реально использовалось. Насколько понял, оно даже гуся не поддерживало.
А можно поподробнее про API для звуковух от VESA?
Можно
В досовских игрушках тип карты надо было выбирать явно и только в позднее время появились умные инсталляторы, автоматически определяющие порты/IRQ на карточках, совместимых с SB.
Тут был такой же принцип как Vesa BIOS extension для видеокарт, программа опрашивала BIOS о возможностях устройства, и выбирала максимально подходящий режим.
PS Нашёл ключевое слово VBE/AI, но не знаю, где оно реально использовалось.
SDK VBE/AI лежит тут
Видел небольшое количество игр с его поддержкой
Насколько понял, оно даже гуся не поддерживало.
"This document describes the VESA VBE/AI Software Developers
Kit as found on the VBE/AI SDK release diskette. Included
are sample WAVE drivers for the Pro Audio Spectrum, Disney
Sound Source, and Sound Blaster cards. Also included are
sample MIDI drivers for the OPL2, OPL3 FM chip, and Roland
MPU-401 MIDI transmitter/receiver."
Живьём его не видел, всё таки поддержка железа слабовата, что и видно по цитате. Вот обычный VBE использовался вовсю, ручного выбора видеокарты в DOS играх времён SVGA не помню - даже если BIOS от производителя не хватало, UNIVBE обеспечивал поддержку для всех распространённых карточек.
VESA VBE/AI появился слишком поздно (1994), и в той части рынка мультимедиа где бушевали настоящие "железные" войны, где стандарты звуковых карт появлялись и исчезали. Причем технологическое совершенство (как у Mediavision) или инновации (как у Gravis) не давали существенного преимущества на рынке. Плюс ко всему этому цикл разработки игр, обычно было очень тяжело добавить поддержку нового стандарта звука в уже почти готовую игру. А выход Win95 забил окончательный гвоздь в крышку гроба VESA VBE/AI, DOS игры стали терять актуальность.
обычно было очень тяжело добавить поддержку нового стандарта звука в уже почти готовую игру
Всё таки в основном пользовались сторонними библиотеками типа DIGPAK или Miles Sound System (хотя, скажем, у Sierra были свои драйвера - но в любом случае поддержка аудиокарты сильно отвязана от основного кода игры). И пару лет после появления Win95 топовые игры ещё выходили или только под дос (скажем, Daggerfall), или с вариантами дос/Win32 (первый Fallout). Но, видимо, сложившееся положение вещей, когда зоопарк карточек разруливался идущей с игрой библиотекой, всех более менее устраивало - для крупных производителей карточек была явная поддержка, мелкие обеспечивали совместимость с SB. Была ещё спецификация WSS (причём поддерживалась и в досовских игрушках), но тоже осталась скорее нишевой.
Всё таки в основном пользовались сторонними библиотеками типа DIGPAK или Miles Sound System
А кстати, DIGPAK поддерживал VESA VBE/AI и ESS488/688? да и MSS когда он назывался AIL (Audio Interface Library) тоже поддерживал их. И заметных аудиобиблиотек нужно ещё вспомнить HMI Sound Operating System library которая тоже была востребована.
(хотя, скажем, у Sierra были свои драйвера - но в любом случае поддержка аудиокарты сильно отвязана от основного кода игры).
Кто-то использовал сторонние библиотеки, а кто-то как Microprose, Origine, Cryo использовал библиотеки разработанные внутри компании.
И пару лет после появления Win95 топовые игры ещё выходили или только под дос (скажем, Daggerfall), или с вариантами дос/Win32 (первый Fallout).
Так я и говорю, цикл разработки игры, нельзя просто так взять и перенести игру которую затачивали под DOS взять и перенести под Win32. Да и до выхода DirectX написание динамических игр было ещё тем удовольствием.
Но, видимо, сложившееся положение вещей, когда зоопарк карточек разруливался идущей с игрой библиотекой, всех более менее устраивало - для крупных производителей карточек была явная поддержка, мелкие обеспечивали совместимость с SB.
Поэтому звуковые библиотеки в первой половине 90-хи приобрели такую популярность у разработчиков игр, потому что упрощали и ускоряли разработку игр, позволяя сосреодоточится на создании игры.
Была ещё спецификация WSS (причём поддерживалась и в досовских игрушках), но тоже осталась скорее нишевой.
Ооо, великий и ужасный Windows Sound System, ЕМНИП исторически первый 16 битный стерео на 48кГц. Но есть но! Существовал он в трех ипостасях спецификаций: в двух аппаратных (версия 1.0 и 2.0) под DOS, и программной описывающая характеристики драйвера для Windows карты не обязательно совместимой аппаратно с WSS.
А кстати, DIGPAK поддерживал VESA VBE/AI
Да, вижу, но это был просто один из поддерживаемых типов железа, а не общий стандарт - и вопрос, насколько часто встречалось такое железо.
Так всё банально, стандарт не успел прижиться, только он появился и тут Билл Гейтс публично говорит "Мы вас похороним DOS is dead!". И всё забИли на устаревший стандарт. Будь у него больше времени, может и получил признание программистов. Тот же VESA VBE, чтобы добиться признания потратил четыре года.
Так это проблема тяп-ляп написанных программ, а не DOS который предоставил все API для доступа к памяти. Но даже для этих косоруких, наличие himem.sys и менеджера UMB позволяло получить выгоду вставив в config.sys DOS=HIGH,UMB
А нахрена запускать "тяжелый" софт из под графической оболочки которая не дает ему ни каких преимуществ?
Знаете, за всю историю создания программ, вы никак не сможете обязать всех программистов писать согласно всем требованиям и рекомендациям.
Особенно в финтехе и госсекторе.
Поэтому у МС просто не было выхода - требовалось и новую ОС продвигать и полную совместимость с ДОС обеспечить.
Между прочим, вы в курсе, что Novell Netware тоже можно было запустить из ДОС. Это тоже просто оболочка?
кто должен писать конкретный драйвер под свою железяку
Драйвер пишут не под железяку, а под ОС. Вам напомнить, что драйверов под юникс/линукс зачастую днем с огнем не найти было в свое время? Если устройство как-то соблюдало стандарты и можно было стандартным драйвером для этого типа устройств обойтись, то продвинутые фичи были доступны только под windows, потому что как-то не писали производители железа драйвера под все ОС.
Знаете, за всю историю создания программ, вы никак не сможете обязать всех программистов писать согласно всем требованиям и рекомендациям.
У Apple получается, и в те времена, и сейчас.
Особенно в финтехе и госсекторе.
Это какие же "тяжелые" программы были в финтехе и госсекторе в коне 80-х, начале 90-х? :)) Расскажите, я люблю "котоламповые истории"
Поэтому у МС просто не было выхода - требовалось и новую ОС продвигать и полную совместимость с ДОС обеспечить.
А как это с финтехом и госсектором связано? ЕЯНО там всё было завязано на мейнфреймы и UNIX?
Драйвер пишут не под железяку, а под ОС.
И под железо, и под ОС.
Вам напомнить, что драйверов под юникс/линукс зачастую днем с огнем не найти было в свое время?
Охренеть! А почему тогда на дискете под мою 486 мать на sis486/487 были драйверы под SCO UNIX, IBM AIX? Почему на дискете для сетевой карте ISA были драйверы не только под DOS/Win/Netware но и под разные UNIX?
Если устройство как-то соблюдало стандарты и можно было стандартным драйвером для этого типа устройств обойтись, то продвинутые фичи были доступны только под windows, потому что как-то не писали производители железа драйвера под все ОС.
Если производитель железа забИл и забЫл писать драйверы под что-то другое отличающееся от Выня актуальной версии, то это косяк именно производителя железа.
У Apple получается, и в те времена, и сейчас.
Ну для начала, Apple с самого начала задрал планку, вдобавок если вы вспомните, Стив часто любил фразу что правильный производитель сам производит и софт и железо. То есть сторонние девелоперы в Apple появились не сразу, а тогда когда основной набор офисных программ уже был создан самой компанией.
А взлет Windows собственно был хорошо разогнан благодаря офису (а именно экселю с вордом).
Во-вторых у Apple не было перехода с чего-то вроде ДОС на что-то вроде Windows. Был ребрендинг макинтош на мак, но основная операционка появилась примерно одновременно вместе с ДОС и развивалась уже с достаточной обратнойсовместимостью. Не нужна была такая сложная миграция как у MS.
Это какие же "тяжелые" программы были в финтехе и госсекторе в коне 80-х, начале 90-х? :)) Расскажите, я люблю "котоламповые истории"
Там не было завязано на мейнфремы. Но тогда еще не было 1С.
Было полным полно более-менее ровных или кривых поделок на базе фокспро, который мог выжрать почти все 640 из 640 и не умел в himem. Обычные складские учеты, обслуживание торговых точек, банковский софт и так далее. В основном с этого софта все массово перелезли к двухтысячному году, параллельно решая "проблему двухтысячного года".
А почему тогда на дискете под мою 486 мать на sis486/487
Ну под мать еще ладно, а вот под принтер или тем более сканер мог быть драйвер только под винду и ОС/2, а под юникс нет, например. Тоже с 3д видеокарточками. Да, можно сказать что это косяк производителя, но это было.
Ну для начала, Apple с самого начала задрал планку, вдобавок если вы вспомните, Стив часто любил фразу что правильный производитель сам производит и софт и железо.
Расскажите это Apple III и Lisa 8))
То есть сторонние девелоперы в Apple появились не сразу, а тогда когда основной набор офисных программ уже был создан самой компанией.
Так в этом и был заключен Mac Way, путь сектантства, мессианства и личной исключительности :D
Только этот путь привел Apple на край гибели, ещё чуть чуть и Apple присоединилась бы к легенде IT индустрии, к компании DEC.
А взлет Windows собственно был хорошо разогнан благодаря офису (а именно экселю с вордом).
Ни как нет, идеология killer apps продающих ПК была далеко в прошлом. Тут во всю работала идея экосистемы, ты точно сможешь найти программу для себя, если не сейчас, то немного позднее оно обязательно появится.
И фактически Windows продавал не "офис" золотой самородок, а средство для разработки программ под windows для неопытных программистов - Visual Basic (кирка и заступ золотой лихорадки Windows).
Во-вторых у Apple не было перехода с чего-то вроде ДОС на что-то вроде Windows.
А Apple DOS,SOS и ProDOS для классических Apple II и III в параллельной Вселенной существовали? 8))
Был ребрендинг макинтош на мак,
В котором путались даже заядлые фанаты Apple
но основная операционка появилась примерно одновременно вместе с ДОС и развивалась уже с достаточной обратнойсовместимостью.
Не было обратной совместимости с предыдущем поколением компьютеров Apple, там совсем другой проц был, и там даже с Lisa не было полной совместимости. ;)
Не нужна была такая сложная миграция как у MS.
Так у мелкомягких тоже не было проблемы с миграцией в рамках Windows. И корректно написанные приложения обычно могли работать jn 3.0 до Vista.
Там не было завязано на мейнфремы. Но тогда еще не было 1С.
На Западе вполне крутился COBOL
Было полным полно более-менее ровных или кривых поделок на базе фокспро, который мог выжрать почти все 640 из 640 и не умел в himem.
Из википедии: "Последняя версия оригинального FoxPro — версия 2.6 — работала под Mac OS, DOS, Windows и Unix;". Интересно, а Himem.sys обязательно нужно было грузить под UNIX или MacOS? 8))
Обычные складские учеты, обслуживание торговых точек, банковский софт и так далее.
Не фокспро единым был жив разработчик бухгалтерских программ в 90-тых. Был ещё такой программный продукт - Clipper назывался, имел часть фишек которых не было в FoxPro
В основном с этого софта все массово перелезли к двухтысячному году, параллельно решая "проблему двухтысячного года".
Шутка из 1999 года "проблема две тысячи, проблема две тысячи? Две тысячи - не проблема!"
Ну под мать еще ладно, а вот под принтер
Бугага!!! А выбрать в списке Epson FX не судьба?
или тем более сканер
Так до появления TWAIN каждый сканер работал часто только со своей картой расширения и сугубо индивидуальным софтом совместимым только с собой. А после появления TWAIN доступ к сканеру стал стандартизированным для Microsoft Windows, Linux and Mac OS X.
драйвер только под винду и ОС/2, а под юникс нет, например.
Так это вопросы к производителю железки. что он такой сам себе злобный буратино? :))
Тоже с 3д видеокарточками. Да, можно сказать что это косяк производителя, но это было.
Я уже запутался, о каком времени вы ведете речь? О 80-х? О 90-х? О 00-х? О 10-х?
Если о 80-х то аппаратного 3Д под не было.
Если о первой половине 90-х то там аппаратное 3Д под DOS было исчезающей редкостью
Вторая половина 90-х и далее аппаратное 3Д появлялось и тут и там. Вспомните хотя бы нарицательный Silicon Graphics которые явно были не под DOS и Windows, и даже процессоры не х86, а MIPS
А можете дать ссылку на какое-то общеупотребимое определение ОС и оболочки ОС, на которое вы опираетесь?
Тут надо понимать, что в оперативную память загружалась именно MS-DOS, у которой были свои ограничения на физическую память. Что-то вроде 64K (из первого мегабайта оперативной памяти, которой могло быть больше, чем 64K). А затем запускался файл WIN.COM, который надстраивал над этим всем делом защищённый режим, с его виртуализацией памяти.
Вообще-то, в оперативную память загружается любой код, если его нужно выполнить (ну, если забыть о современных видеокартах со своими процессорами, или какой-нибудь экзотике). И не 64 килобайта, а 640 (хотя были и машины с 512 кБ), а для того, чтобы пользоваться памятью до 1 мБ (там была какая-то специфика с HMA, позволявшая адресоваться к чуть большему объему, но для простоты можно принять 1) ДОСу нужен был специальный драйвер.
Я мог и промахнуться. Суть от этого не меняется.
в случае с com файлами, в память грузилась одна страница, то есть 64 кбайта. Таков формат.
Надо будет освежить базу. Так сказать, основы полагающие. Эххх Надо искать книжки. Где, тут, у меня Джордейн, Касаткин, Дейтел и Гук (который Михаил: жив ли ещё?).
Александр Фролов, Григорий Фролов "Библиотека системного программиста". Можно сказать "база" ;)
Список книг
1-A. Операционная система MS-DOS. Том 1, книги 1 - 2
1-B. Операционная система MS-DOS. Том 1, книга 3
2. Аппаратное обеспечение IBM PC.
3. Программирование видеоадаптеров CGA, EGA и VGA.
5. Тонкая настройка и оптимизация MS-DOS.
6. Защищенный режим процессоров Intel 80286/80386/80486.
7. Локальные сети персональных компьютеров. Монтаж сети, установка программного обеспечения.
8. Локальные сети персональных компьютеров. Использование протоколов IPX, SPX, NETBIOS.
9. Локальные сети персональных компьютеров. Работа с сервером Novell NetWare.
10. Компьютер IBM PC/AT, MS-DOS и Windows. Вопросы и ответы.
11. Операционная система MS Windows 3.1 для программиста.
12. Операционная система MS Windows 3.1 для программиста.
13. Операционная система MS Windows 3.1 для программиста.
14. Графический интерфейс GDI в Microsoft Windows.
16. Модемы и факс-модемы. Программирование для MS-DOS и Windows.
17. Операционная система MS Windows 3.1 для программиста. Дополнительные главы.
20. Операционная система OS/2 Warp.
21. Программирование видеоадаптеров.
22. Операционная система Windows 95 для программиста.
24. MS Visual C++ и MFC. Программирование для Windows 95/NT.
25. Программирование для IBM OS/2.
26. Программирование для Windows NT. Часть 1
27. Программирование для Windows NT. Часть 2
28. MS Visual C++ и MFC. Программирование для Windows 95/NT Часть 2.
30. MS Visual J++. Создание приложений и аплетов. Часть 1.
31. Разработка приложений для Internet.
ну это же общеизвестный факт
.com очень простой исполняемый формат файлов, у них у всех стандартизирована точка входа (org 100h обычно, если в асме писать), там заголовков собственно нет, просто сегмент памяти с чистым машинным кодом
.exe уже да, более сложный формат, в заголовках информация о том какие сегменты куда грузить, можно указать произвольно точку входа, не обязательно все грузить - можно догружать данные или код уже после запуска, размер ограничен уже лимитами файловой системы, а не оперативкой.
Спорить можно долго, только вот это была графическая оболочка, никто ее тогда не считал операционной системой. По сути, это была программа, запускаемая из ДОСа и при выходе из неё вы опять оказывались в ДОС. Без ДОС ее нельзя было запустить (под полуосью там, скорее всего, был режим эмуляции ДОС, в котором она и запускалась, как любая другая ДОС программа). Не, если, конечно, очень хочется, кто-то может её считать осью. Но Майкрософт это не подтвердит - а им виднее, полагаю. А то так можно любой браузер в операционные системы записать...
Я думаю, что если вы продемонстрируете работу Word for Windows запущенного из чистого DOS, то все с вами согласятся что Win3 -- это просто "графическая оболочка".
Вот если вы продемонстрируете запуск тех версий Винды на чистом компе без каких-либо других установленных ОС, тогда я соглашусь, что Win3 - это операционная система. Я вообще не понимаю, чего здесь горит сыр-бор. Ну не считались "трёшки" операционками тогда. Майкрософту надо было тогда срочно вывести на рынок хоть что-то конкурентное по отношению к Apple. При этом полуось, которую они с IBM разрабатывали, требовала более мощных компов (минимум 6мег памяти и SVGA 512K видео) - это выбивало значительную часть рынка ПК из-под этой разработки. Поэтому они сделали очень, с моей точки зрения, грамотный шаг - бросили бесперспективный проект, выйдя из него с частью наработок, и запустили половинчатое решение в виде надстроек над ДОС Windows 1, 2, 3, которое позволяло, с одной стороны, продолжать работу на перспективу над полноценной Осью, а с другой - удержать рынок в условиях конкуренции с довольно дорогими решениями Эппл и IBM. Word for Windows тех версий (вообще, Office тогдашний) - это просто один из мощных инструментов, наработанных в рамках этой деятельности.
Сыр-бор в том, что разницу между классами программ более логично определять через выполняемые ими функциями, а не через нюасны архитектурной реализации.
Таким образом Novell Netware - это тоже не операционная система, а надстройка над ДОС?
А в каком месте Novell Netware использовала DOS? Вы случайно не путаете её с NetWare Lite или Personal NetWare?
Для запуска server.exe, например, или console.exe для управления, до сих пор это еще помню.
Новел только с третьей версии уже мог запускаться без ДОС.
Ну вот и виндовс первые парочку версий запускались из дос, потом уже без него
Первая версия Netware вообще на мотороловском процессоре бегала, какой там дос ) Да, версии неспособные загружаться самостоятельно операционками не считаю.
Да, версии неспособные загружаться самостоятельно операционками не считаю.
Ну весь мир считает, а вы нет...
Так, напомню еще к слову о loadlin.exe, актуальный в конце 90х ;-)
Для запуска server.exe, например, или console.exe для управления, до сих пор это еще помню.
Новел только с третьей версии уже мог запускаться без ДОС.
Вы ошибаетесь. Он изначально не требовал DOS :)
"The first product to bear the NetWare name was released in 1983. The original product, NetWare 68 (AKA S-Net), ran on Novell's proprietary 68000-based file server hardware, and used a star network topology."
Вы можете продемонстрировать PC/MS DOS работающий на 68000? ;)
А уже потом, чтобы удовлетворить запрос рынка, они отказались от выпуска собственного железа и выпустили версию работающую на 8086 использующую DOS, но это было временное решение. И в следующей версии они во всю использовали защищенный режим 286 процессора, и где DOS использовался только в качестве BOOT Loader, как в прочем и LINUX в начале своего пути..
"Advanced NetWare version 2.x, launched in 1986, was written for the then-new 80286 CPU. The 80286 CPU features a new 16-bit protected mode that provides access to up to 16 MiB RAM as well as new mechanisms to aid multi-tasking. (Prior to the 80286, PC CPU servers used the Intel 8088/8086 8-/16-bit processors, which are limited to an address space of 1 MiB with not more than 640 KiB of directly addressable RAM.) The combination of a higher 16 MiB RAM limit, 80286 processor feature utilization, and 256 MB NetWare volume size limit (compared to the 32 MB that DOS allowed at that time) allowed the building of reliable, cost-effective server-based local area networks for the first time. The 16 MiB RAM limit was especially important, since it makes enough RAM available for disk caching to significantly improve performance. This became the key to Novell's performance while also allowing larger networks to be built.
NetWare 286 2.x normally requires a dedicated PC to act as the server, where the server uses DOS only as a boot loader to execute the operating system file NET$OS.EXE. All memory is allocated to NetWare; no DOS ran on the server."
Ну вот и виндовс первые парочку версий запускались из дос, потом уже без него
Начнем считать, Windows 1.x, Windows 2.x, Windows/386 2.x,Windows 3.0, Windows 3.0 with Multimedia Extensions 1.0, Windows 3.1/3.11, Windows for Workgroups 3.1/Windows for Workgroups 3.11.
Eins, zwei, drei, vier, fünf, sechs, sieben - все как в аптеке, семь мажорных версий, а это не тянет на "пару версий". 8P
выпустили версию работающую на 8086 использующую DOS, но это было временное решение.
Ну вот и у виндовс это было временное решение. Чтобы удовлетворить запрос рынка.
Вы спорите о технических нюансах реализации, а не брендировании продуктов и их последующем росте.
Ну вот и у виндовс это было временное решение. Чтобы удовлетворить запрос рынка.
Временное решение которое продлилось СЕМЬ версий и девять лет? Вы серьезно? Запрос рынка? А рынок то был в курсе того что он какой то запрос делал? Или рынок устами пользователей говорил мелкомягким "сомнительно, но окей..."?
Вы спорите о технических нюансах реализации, а не брендировании продуктов и их последующем росте.
Так это вы с пеной у рта пытаетесь доказать что Windows до выхода Win95 была операционной системой, а не оболочкой DOS, придумывая котоламповые истории, о том что ничего не мешало мелкомягким продавать Windows в месте с DOS и считать Windows операционной системой. Вы бы для начала посмотрели на то что до выхода Windows 3.1x, основную часть дохода мелкомягким приносил DOS. Всё остальное приносило максимум треть/две пятых дохода компании. Я думаю что вас, за такое предложение, Билл Гейтс с Стивом Балмером на ленточки для бескозырок пустили. Причем в особо извращенном виде.
Это не считая маленького факта, что DOS стоил за копию 40-50 баксов, а Windows 3.1x 150 баксов. Куда будет народ смотреть? ;)))
Вы спорите о технических нюансах реализации
Ну так "операционная система" - термин технический. Как им пользуются маркетологи - дело десятое, бухгалтеры тоже системный блок процессором называют...
Поступим проще, продемонстрируйте запуск Win 3.1х без загруженного драйвера XMS, под DOS версий 3.3-6.22 и на чистом железе.
По крайней мере без XMS Win 3.0 должна взлететь (с win /r).
У меня было как-то так:
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE
device=c:\t9000i\tvgacrtc.SYS
dos=high,umb
numlock=off
BUFFERS=15,0
FILES=50
LASTDRIVE=E
FCBS=4,0
STACKS=9,256
Очевидно, вы не понимаете разницу между Upper Memory, Expanded Memory и Extended Memory в DOS. То, что Windows 3.X не использовали "механизм доступа" Expanded Memory не означает, что они не использовали "механизм доступа" Extended Memory для доступа к памяти за пределами 640КБ. И если первый обеспечивался "DOS-драйвером" EMM386.EXE, то второй "DOS-драйвером" HIMEM.SYS.
И если в DOS не был загружен HIMEM.SYS, то Windows вообще не могла загрузиться, даже в Standard mode, так как даже в этом режиме ей требовалось минимум 256КБ Extended memory.
Зачем вы спорите с теми, кто реально работал с Win 3.x, и на самом деле ЗНАЕТ, как и что там было устроено, хотя сами только ЧИТАЛИ об этом, да и то, похоже у тех, кто сам знает только понаслышке?
Windows до 9х были именно графическими оболочками DOS с описанным API, которым для работы нужна была настроенная среда DOS, с загруженными драйверами DOS Himem и EMM386. Так же Window до 9х могли работать под управление OS/2 где они работали устойчивее чем под DOS, а её падение не приводило к перезагрузке всей машины.
Так а ОС это и есть оболочка для компьютера, с API.
что же касается himem и emm, то для Windows emm был не нужен, он мог использоваться для софта, который грузился до того как грузился win.com или win.exe.
Я и про himem не уверен, может разве что в win 3.x использовался.
Чтоже касается драйверов, то они как раз были уже внутри windows, а досовские драйвера были не нужны.
То, что os/2 поддерживало досовские бинарники, так не нужно путать многозадачное ядро, собственно с которого потом списался Windows NT, где все было так как вы описали.
MS изначально вроде и были контрактерами, которые писали OS/2 для IBM, но тут Билл понял что они копают себе могилу, поэтому спрыгнули с контракта и начали писать WinNT с этими наработками. Без гугла не подскажу полную исотрию OS/2, но то что на этих идеях выросла WinNT - это факт.
Если вас волнует только факт установки, что дескать нельзя виндовс ставить без дос, то нужно вам напомнить, что дос и виндовс - обе системы которыми владеет MS.
Сделать отдельный инсталлятор для виндовс и переименовать msdos.sys в mswin.sys было несложно. Просто никому не нужно, поэтому оставили как есть, четко понимая что это временный период миграции. ОС называется таковой не по принципу установки.
Так а ОС это и есть оболочка для компьютера, с API.
Между ОС и железом не должно существовать ещё одного слоя другой ОС.
Я и про himem не уверен, может разве что в win 3.x использовался.
Вы точно всё правильно прочитали? Речь изначальна шла ИМЕННО о Windows версий ниже 95.
То, что os/2 поддерживало досовские бинарники, так не нужно путать многозадачное ядро, собственно с которого потом списался Windows NT, где все было так как вы описали.
Нет? Windows 3.1 под OS/2 работала минуя эмуляцию DOS. Метод был сильно похож на принцип работы Wine
MS изначально вроде и были контрактерами, которые писали OS/2 для IBM, но тут Билл понял что они копают себе могилу, поэтому спрыгнули с контракта и начали писать WinNT с этими наработками. Без гугла не подскажу полную исотрию OS/2, но то что на этих идеях выросла WinNT - это факт.
WinNT в девичестве именовалась OS/2 New Technology. Более того наследие OS/2 в виде субсистемы OS/2 тянулось до времени Windows XP
Если вас волнует только факт установки, что дескать нельзя виндовс ставить без дос, то нужно вам напомнить, что дос и виндовс - обе системы которыми владеет MS.
А ещё MS выпускала OS/2 и Xenix. Что это доказывает?
Сделать отдельный инсталлятор для виндовс и переименовать msdos.sys в mswin.sys было несложно.
Не могла, потому что сразу бы появился IBM Windows TM? юристы IBM аплодировали вы стоя такому самострелу мелкомягких.
Просто никому не нужно, поэтому оставили как есть, четко понимая что это временный период миграции. ОС называется таковой не по принципу установки.
Нет, не по этому, а потому что только с выходом Windows 3.1 и Visual Basic начался бум выпуска программ под Win16 и Microsoft увидела перспективу. Ведь только с появлением Visual Basic появился инструмент создания программ с GUI с низким порогом вхождения для программистов низкого уровня.
А насчем миграции... В ФРГ на железной дороге до сих пор используется Win3.1. По крайней мере там искали человека с опытом работы на Windows3.1
Но это была именно платформа, под которую можно было писать софт, используя функции ОС, обращаться к устройствам через вызовы функций ОС и так далее.
Можно писать софт на Qt, используя исключительно функции Qt для доступа к файловой системе и прочему железу. Делает ли это Qt операционной системой?
Boot2Qt вполне можно считать операционной системой на ядре Линукс.
Qt + ядро - да, вполне может быть ОС. Но само по себе наличие API для доступа к железу не делает сущность операционной системой - это необходимое, но недостаточное условие.
Так какому же условию не удовлетворяет Windows первых версий?
Писал выше
Занятный обзор, спасибо.
К нам на кафедру в середине 90-х приволокли некое поделие под названием то ли Dos Commander, то ли что-то похожее, разработка была, насколько помню, СНГ-овская, концепция была отдалённо похожа на описываенную, но интерфейс был на псевдографике. Не выстрелило.
Norton (и Volkov) Commander-ы, конечно, использовались весьма широко, но после появления Dos Navigator наш персонал быстро переехал на него.
И да, Windows for Workgroup (3.11) для компов, не завязанных в сеть (а таких у нас было большинство) всё же у нас не использовалась, предпочитали Windows 3.1
А также, помнится, попала к нам коробка OS/2 Warp (один из преподавателей кафедры на каком-то семинаре отхватил), но сильно поэкспериментировать с ней не удалось- подходящие по параметрам компы (на 386 процах) были постоянно заняты, а свободные Mazovia на 8086 "полуось" не тащили при всём желании.
У меня и дома стояла WfW 3.11 из за (возможно мнимого) улучшения работы с диском за счёт родного 32битного драйвера - примерно как под той же OS/2 Warp считалось кошерным поставить HPFS386.
У нас почему-то не прижился Dos Navigator. Смутно припоминаю, что он был каким-то глючным и, кажется, потреблял больше памяти, чем nc/vc, а тогда это было очень критично, счёт мог идти на килобайты, иначе какое-нибудь большое приложение или игра могли не запуститься, или работать нестабильно.
Да и выглядел он как-то совершенно по попугайски. Какая-то претензия на красоту, но сделанная человеком с нестандартными представлениями об эстетике.
В общем, мне тогда нравились nc или vc. Сложно было отдать предпочтение одному, поэтому время от времени переключался туда или обратно. То же самое было вокруг.
Dos Navigator'ом все повосхищались, поцокали языком, но уже через 1-2 недели его нельзя было увидеть ни на одном экране.
Да и выглядел он как-то совершенно по попугайски. Какая-то претензия на красоту, но сделанная человеком с нестандартными представлениями об эстетике.
На самом деле, выглядел он так, как это было прописано в библиотеке Turbo Vision, на которой он был написан. Интерфейс такой же, как и у Turbo Pascal 6.0 (Turbo C++ 3.1).
Да, он требовал больше памяти, но был в ходу у одного знакомого программиста, поскольку имел некоторые важные встроенные функции. Dos Navigator ближе к Total Commander.
У DOS навигатора было много плюсов. Можно было включить прямой доступ к диску. Был встроенный HEX редактор (если не путаю). И ещё масса каких-то вкусных плюшек. И да, на древних Искра 1031/Мазовиях мы его не использовали. А вот на Пеньках 133 МГц в учебном центре - только в путь.
У нас VC и DN спокойно сосуществовали, волков на слабых машинках, дос навигатор на мощных. Иногда они жили бок о бок.
del дубль
"Dos Commander" не гуглится.
Если только Easy Dos Commander.
За прошествием уже трёх десятков лет, и фактом, что данное поделие нам "не зашло" и ковырялись мы с ним всего пару дней, не ручаюсь за точность названия. Ну и другой вопрос - даже при том, что продукт нам принесли в фирменных коробках (!), то есть, он даже имел претензию на коммерцию, не факт, что он стал хотя бы мало-мальски известным для попадания хоть в какие-то архивы.
PTS Command processor
В те времена (до широкого распространения Вин95) не особо была понятна необходимость подобных оболочек. С файлами было куда как удобнее работать с помощью Нортона или его клонов, а программы что из чистого доса, что из оболочки работали примерно одинаково.
95-я Винда, конечно все поменяла, когда начали массово появляться годные приложения под нее.
А вы когда-нибудь работали с такой оболочкой для DOS? Жду вас в комментариях.
с такой не работал, но свою писал, с файловым менеджером, просмотрщиком файлов в тексте или hex, побайтовым редактором файлов, менюхой быстрого запуска программ с поиском по ним. 640х480, 16 цветов visual basic 1.0 for dos:
Показалось "Запуск из BBS". :-)
Очень интересно, а откуда во времена DOS и первого visual basic'а взялись мониторы 16:9 и для чего тогда была нужна их поддержка?
А где там 16:9? 640x480x16 цветов - это 4:3, честный VGA, квадратный пиксель, стандарт...
в окне о программе (слева вверху) дата выпуска: 2020 год. Недавно писал эту оболочку, в досбоксе на андроид-телефоне. VBDOS 1.0 это обычный кубейсик, только с расширенными возможностями по командам и возможностью делать текстовые окошки с кнопками, галками, радиокнопками и т.д., с программируемой реакцией на события компонентов окна как в обычном VB (в оболочке текстовые окошки не использовались). Координаты пересчитываются так, что растр 640х480, растянутый видеокартой на дисплей 16:9, имеет нормальные пропорции (но с потерей качества по горизонтали, конечно, т.к. пикселей то все равно 640). Если этот же 16:9 в настройках включить на мониторе 4:3, то будет все сжатое:
Очень круто.
Увы, но Visual Basic 1.0 for DOS это псевдографика в текстовом режиме. У меня есть лицензионные дискеты. Вы или перепутали или обманываете людей.
Как выше написал - текстовые окошки не использовались. Использовался сам бейсик. Вот журнал разработки со скриншотами в доказательство (http сайт, открывать ссылку в новой вкладке, простым кликом с https-хабра не откроется наверняка в гуглхроме): http://blackstrip.ru/phpBB2/viewtopic.php?f=8&t=742
По мне так круто выглядит, лучше винды до 9х. Но красная галочка на кнопке "Ок" это действительно провал :) Хотя может это отражение мышления автора: любые изменения есть шаги к тепловой смерти вселенной, так что подумай ещё раз, пользователь, нужно ли тебе это...
А вы когда-нибудь работали с такой оболочкой для DOS?
С такой - нет, у меня фидошный софт и BBS крутились под DESQview
Непонятно, зачем такое нужно было в 1998 году (кстати, это уже не середина 90х, как написано в начале статьи, а конец). Красивости обеспечивала win9x, многозадачность - os/2, если памяти было от 4 мегов, или desqview, если меньше, и winnt4 уже была… В общем, автор опоздал лет на 10.
Я на всякий случай напомню, что 95-я, как легко догадаться, вышла в 95-м году, так что вступление про "середину 90-х" и "Windows 3.11" (автор, кстати, в курсе существования и других систем в то время?) тут явно лишнее :)
Данная оболочка в 98-м была изначально экспериментальной и написана для фанатов.
P.S. А то ещё можно Арахну вспомнить, например - досовский графический броузер с tcp/ip стеком.
95 винда вышла в 94 году. Дома до сих пор есть диск с самой первой 95 которая для Америки была без поддержки русского языка
Беты были в 94-м году и альфы всякие. Проект Chicago. Он и на дисках ходил и продвинутый народ его ставил себе. Релиз вышел в 95-м, в начале осени, вроде. А на «Американскую» и «паневропейскую» винда делились достаточно долго. Уж и не знаю когда это кончилось. В семерке?
В начале 95го на физтехе периодически скачивали беты - один товарищ по общаге уже тогда купил на соровскую стипендию 80386ой, ходили к нему комнату смотреть, как оно инсталлируется и вообще выглядит. Но при этом на своём домашнем компе (покупал осенью 95го) первое время были только дос и Windows 3.x, 95 поставил заметно позже только чтобы посмотреть на демо версию Diablo (и как то не особо зашло, полную версию не проходил). Вордовые документы ещё несколько лет ходили в основном в формате 6.0, LaTeX и сишные компиляторы компилятор и в досе были; игрушки ещё пару лет выходили в основном под дос.
А помните seal?
удивительно, но я не помню эту оболочку, но помню скринсейвер...
Если вспомнили про эту оболочку, то тогда стоит вспомнить и NewDeal Office
на 286/16мГц/1mb/40mb с EGA шевелилась куда бодрее Win3.1
И не в пример ему была более функциональна. Но был и глобальный недостаток - отсутствие поддержки кириллицы. По этому поводу я списывался с разработчиками, они обещали подумать что бы добавить кириллицу, но это так и не появилось в новых релизах.
Я бы ещё вспомнил о том, что у самого Питера Нортона был такой продукт как Norton Desktop.
Вообще, с некоторой приятностью вспоминаю и Norton Utilities. Любил, почему-то, заниматься дефрагментацией дисков. Там ещё была такая особенность, что при запуске перегружалась страница кодогенератора, и символы на экране становились немного другими, скажем, так, более приятными на глаз.
Ещё был такой продукт как Stacker. Или, как там его? Вообщем, сжатие дисков и распаковка по требованию.
Потом, ещё, был такой антивирус Лозинского.
Под дос еще был PCTools, который тоже можно назвать оболочкой.
PC Tools это набор утилит (как Norton Utilities), а оболочкой (файловым менеджером) в них была PC Shell, способная, помимо работы с файлами, отображать содержимое файлов данных, используемых различными популярными пакетами баз данных, текстовых процессоров и электронных таблиц.
Ну я помню что пользовался иногда, когда надо было посмотреть содержимое бинарников, потому что в нортоне по-моему не было встроенного хекс редактора, и в pctools.exe вроде была возомжность браузить и копировать/удалять файлы.
Могу уже не помнить, мне казалось что там был один файл..
Точно помню, что в PCtools была одна панель, что конечно было не так удобно как в нортоне, зато был хекседитор (причем вроде и файлов и дисков)
Я для просмотра/редактирования бинарников пользовался Hiew
hiew - hex editor for Windows, он появился гораздо позже..., первая версия в 2007
About HIEW
Basically HIEW (Hacker's view) is a hex viewer for those who need to change some bytes in the code (usually 7xh to 0EBh). Hiew is able to view unlimited length files in text/hex modes and in Pentium(R) Pro disassembler mode.
Features:
Text/hex mode editor
Built-in Pentium(R) Pro assembler
Ability to create new files
Search and replace in the blocks
Context-sensitive help (HIEW can operate without help file HIEW.HLP)
Search of assembler commands using pattern (for real hackers!)
Hiew ver 2.2 1991.08.22 - первая публичная версия. (по крайней мере более ранних не сохранилось)
Вы даже не с годом и десятилетием ошиблись, вы со столетием промахнулись. Не говоря уже о названии программы.
Ваша любовь к котоламповым историям прям зашкаливает. 8)))))
Ни разу не видел Windows версию, а вот под дос в 90е был одним из базовых инструментов.
Всего и не упомнишь. Даже анналов не сохранилось. Старого компьютера уже давно нет. Надо было сохранить для истории. Это был ещё 486DX2/80 с 1Мб оперативной памяти и такой экзотической видеокартой как Trident. Предел мечтаний — разрешение 800x600 (SuperVFA) с 256 цветами.
Хотя... надо поискать каике-нибудь файлы. Могли сохраниться. Был ещё какой-то диск с компиляторами и руководствами.
А, вообще-то, много было.
Lotus 1-2-3. Novel Netware.
DR-DOS (DR: Digital Research), PS-DOS, OS/2 Warp. У меня был под MS-DOS 6.22 весёлый драйвер, который позволял записывать на дискету в 1.4Мб целых 1.88Мб. Видимо, там открывался какой-то портал к секретным секторам на дискете, куда MS-DOS докрутить не могла.
Я ещё застал времена Turbo Pascal 5.0 с тамошней оболочкой, видимо написанной на библиотеке Turbo Professional. В чём-то эта библиотека была удобнее чем её последовательница — библиотека Turbo Vision. Мне даже понравилось. как там было организована работа с клавиатурой.
А ещё эта неизгладимая прелесть текстового режима и необходимость переключения в графический режим в играх и специальных программах. Нынешние-то привыкли уже к графическому режиму. Но что-то есть хорошее в текстовом режиме. Самое главное — это существенно меньший расход памяти, большая управляемость (меньше элементов интерфейса, сами элементы проще, и внимание распределять проще) и большая безопасность. Дать бы старым (да текстовым) программам да нынешнюю память! Всё просто летало бы!
Мне понравились иконки. От них веет теплотой и ручной работой.
Спасибо за статью
Необычный зверь: графическая оболочка Desktop2 для MS-DOS