«История MS-DOS»
Мы привыкли к тому, что работая с компьютером, мы видим на дисплее высокой четкости удобную поверхность «рабочего стола» с разложенными на ней «папками» и «документами». Каждой выполняемой программе и каждому документу у нас отводится отдельное окно, и все этим мы управляем при помощи ручного манипулятора, который почему-то называется «мышь». Ничто не мешает нам запустить несколько программ и переключаться между ними, работая одновременно с несколькими документами разных видов. Мы не задумываемся о том, что такой тип взаимодействия компьютера с пользователем был разработан всего три десятка лет назад, и что он называется графическим пользовательским интерфейсом. (Я уже не говорю о том, что сегодня предельно облегчено подключение компьютера к различным видам сетей и поддерживается колоссальное количество разновидностей внешних устройств.)
И уж конечно мы не думаем о том, что всего тридцать лет пользователи управляли компьютером при помощи команд, вводимых с клавиатуры, а компьютер — точнее, операционная система MS‑DOS — в ответ на ошибочные команды выдавала ядовито-зелеными буквами малопонятные текстовые сообщения, например:
Not ready reading drive A
Abort, Retry, Fail?
или
Bad command or file name
Программы приходилось загружать по очереди (MS‑DOS не обладала многозадачными возможностями), у них была масса проблем с совместимостью и очень разношерстный пользовательский интерфейс. Но те, кому это не нравилось, могли вернуться к пишущей машинке и черчению тушью. И таких охотников находилось все меньше и меньше — возможность сохранять документы в виде электронных файлов и затем повторно использовать и модифицировать их, а не перепечатывать все время под копирку, открывала широчайшие перспективы.
Чтобы понять, почему операционная система MS‑DOS была именно такой, каким образом она стала своеобразным трамплином для Microsoft Windows, и почему, в разных своих ипостасях, просуществовала целых два десятилетия, перенесемся еще на десятилетие назад, в 1971 год.
До MS-DOS
В 1971 г. фирма Intel по заказу японской компании Busicom выпустила интегральную микросхему 4004 — первый микропроцессор, функционально аналогичный современному центральному процессору, лежащему в основе любого компьютера, но значительно менее мощный — он был четырехразрядным, т.е. мог обрабатывать только четырехразрядные двоичные числа, от нуля до 1111 (десятичное 15), и имел тактовую частоту менее 1 МГц. Всего год спустя появился первый восьмиразрядный микропроцессор 8008, а микропроцессор 8080 с тактовой частотой 2 МГц, выпущенный Intel в 1974 г., был уже настолько мощным, что на его основе можно было построить небольшой компьютер. Это и сделала фирма MITS, которая выпустила в 1975 г. первый в мире ПК Altair 8800.
За ним последовали ПК других фирм, которые тоже использовали восьмиразрядные микропроцессоры Intel и других производителей — Motorola, Zilog. В отличие от профессиональных компьютеров, работавших с UNIX, ПК использовали операционную систему CP/M (Control Program for Microcomputers) фирмы Digital Research — первую ОС, работавшую на ПК от различных производителей. Другим программным средством, работавшим практически на всех существовавших тогда ПК, был транслятор языка программирования Basic, выпущенный молодой компанией Microsoft.
Расцвет MS-DOS
В 1980 г. на рынок ПК решила выйти корпорация IBM, и в 1981 г. была выпущена модель IBM Personal Computer, созданная департаментом систем начального уровня IBM под руководством Филипа Дональда Эстриджа — великого Дона Эстриджа (1937—1985), почитаемого ныне, как отца IBM PC. Чтобы максимально сократить сроки и затраты, разработчики использовали открытую архитектуру. IBM PC был сконструирован на основе независимо производимых компонентов. Базовая модель IBM PC имела 64 КБ оперативной памяти с возможностью расширения до 256 КБ. Мозгом IBM PC стал новый 16-разрядный микропроцессор 8088 фирмы Intel. Были опубликованы документация по аппаратуре и программные спецификации.
Когда в октябре 1980 г. IBM обратилась к различным программистским фирмам с предложением принять участие в проекте создания нового ПК, Microsoft не могла предложить IBM собственной ОС. Однако Digital Research располагала только CP/M‑80 для 8-разрядных компьютеров. Пока Digital Research работала над 16-разрядной CP/M‑86, Microsoft приобрела права на 16-разрядную систему 86‑DOS у компании Seattle Computer Products.
Одним из важных качеств 86‑DOS была легкая переносимость программ из среды CP/М‑80. Она к тому же заимствовала многие команды CP/M, такие как REN (переименовать файл), DIR (показать содержание каталога) и TYPE (вывести содержимое файла на экран). Значительно переработанная версия 86‑DOS получила название MS‑DOS 1.0. В августе 1981 г. начались поставки компьютеров IBM PC с этой ОС под названием PC‑DOS 1.0. Кроме того, Microsoft получила право продавать лицензии на MS‑DOS и другим производителям ПК.
Аббревиатура DOS (Disk Operating System — дисковая ОС) подчеркивала основное назначение данной операционной системы — обеспечение управления дисковым вводом-выводом. Система MS‑DOS не содержала встроенной поддержки накопителей на магнитных лентах или локальных сетей. Главное, что она обеспечивала, — работу с файлами. Для удобства использования файлов MS‑DOS позволяла давать им имена длиной до восьми символов, с описанием (расширением) длиной до 3 символов, например DOCUMENT.TXT или READ.ME.
MS‑DOS 1.0, довольно прогрессивная в сравнении с CP/M, использовала более совершенные методы управления дисковыми данными и имела широкий набор команд для сервисных программ. Поскольку оригинальная модель IBM PC выпускалась с дисководами для 160‑килобайтных дискет, PC‑DOS 1.0 поддерживала только такие носители. Другие производители ПК не принимали PC‑DOS, пока в мае 1982 г. не появилась PC‑DOS 1.1, позволявшая работать с дискетами емкостью 320 Кбайт. Вот когда Microsoft смогла воспользоваться своим правом продажи лицензий на MS‑DOS — спустя месяц та же версия ОС вышла под названием MS‑DOS 1.25, и ее начали применять Texas Instruments, Compaq Computers и другие фирмы, приступившие к изготовлению IBM PC-совместимых компьютеров.
MS‑DOS 2.0 (март 1983 г.) поддерживала 360-килобайтные дискеты и 10-мегабайтные жесткие диски (специально для нового компьютера IBM PC XT) и предоставляла возможность рассортировывать файлы по каталогам. Тогда-то и начался мировой бум производства IBM PC-совместимых компьютеров — к числу изготовителей этих машин присоединились такие респектабельные компании, как Tandy, Hewlett-Packard, Digital Equipment Corporation и др. Базовой ОС для продукции многих фирм стала MS‑DOS 2.11 — наиболее стабильная реализация второго поколения MS‑DOS.
MS‑DOS 3.0 (август 1984 г.) была ориентирована на новую модель компьютеров IBM — IBM PC AT — первый компьютер, основанный на микропроцессоре Intel 80286, с 5,25‑дюймовым дисководом высокой плотности (для дискет на 1,2 Мбайт) и 20‑мегабайтным жестким диском. MS‑DOS 3.2 (декабрь 1985 г.) поддерживала 3‑дюймовые 720-килобайтные дискеты и логические разделы жестких дисков объемом до 32 Мбайт. Система продолжала развиваться, в нее добавлялись все новые и новые возможности поддержки национальных изображений валюты и времени, таблиц символов и раскладок клавиатуры.
Росла и популярность платформы IBM PC, больше становилось производителей IBM PC-совместимых машин, а количество разработчиков ПО для IBM PC превзошло все мыслимые пределы. В 1986 г. уже появился IBM PC-совместимый компьютер фирмы Compaq Computer, основанный на микропроцессоре 80386. В следующем году и у IBM появился компьютер с микропроцессором 80386 — PS/2 Model 80. MS‑DOS не была способна в полной мере задействовать возможности новых компьютеров. Так, если компьютеры с микропроцессором 8086 выпускались не более чем с 640 Кбайт оперативной памяти, то на 286‑й компьютер теоретически можно было установить до 16 Мбайт памяти, а на 386‑й — до 4 Гбайт. MS‑DOS же никогда не могла использовать более 640 Кбайт памяти.
Однако растущий рынок требовал интенсивного производства IBM PC-совместимых машин, еще более интенсивного совершенствования MS‑DOS и возможно более интенсивного выпуска профессиональных приложений для IBM PC и MS‑DOS. Одним из главных требований была совместимость: все новые версии MS‑DOS обязаны были успешно работать с программами, выпущенными для более старых версий MS‑DOS.
Поэтому в MS‑DOS 3.3 (апрель 1987 г.) не было ничего принципиально нового, зато все старое было усовершенствовано. В частности, версия 3.3 поддерживала новые 3‑дюймовые 1,44-мегабайтные дискеты. MS‑DOS 3.3 стала важнейшим этапом в истории развития MS‑DOS, следующие версии MS‑DOS 4.0 и MS‑DOS 4.01 (1988 г.) не привлекли большого внимания покупателей. Большинство пользователей IBM PC сохранило верность MS‑DOS 3.3.
Появление Windows
Как мы уже отметили, MS‑DOS имела весьма примитивный пользовательский интерфейс: чтобы загрузить программу или выполнить другие операции, пользователь должен был набирать на клавиатуре команды. Например, команда для копирования из каталога DOC\WORK диска C: на диск A: всех файлов и каталогов, кроме тех, что там уже есть, выглядит так:
REPLACE C:\DOC\WORK\*.* A:\ /S /U
В 1985 г. Microsoft выпустила первую версию Windows — графической оболочки MS‑DOS, предлагавшей пользователю оконный интерфейс. Чтобы задействовать все преимущества Windows, программа должна быть спроектирована специально для Windows.
Существовавшим тогда IBM PC-совместимым компьютерам, однако, не хватало мощности, чтобы обеспечить полноценное функционирование графической среды. Поэтому та Windows, какой ее удалось сделать в 1985 г., выглядела довольно бледно. Но Microsoft продолжала вкладывать средства в Windows. В 1987-1988 гг. появлялись различные реализации Windows/286 и Windows/386 (Windows 2.x).
Предназначенные для выполнения на соответствующих микропроцессорах, они были уже вполне работоспособны. Наконец, в мае 1990 г. произошло событие, во многом определившее сегодняшнее состояние программно-аппаратного рынка IBM PC-совместимых компьютеров.
Windows 3.x
Windows 3.0, выпущенная в мае 1990 г., загружалась из-под MS‑DOS, но заставляла сразу забыть о MS‑DOS. Доступ ко всему объему памяти компьютера осуществлялся через драйвер MS‑DOS HIMEM.SYS и специальную систему «расширения MS‑DOS». Это обусловило качественный скачок — полностью графический оконный интерфейс в сочетании с многозадачными возможностями. Многозадачность Windows не позволяла управлять работой программ так же гибко, как многозадачность OS/2, зато требовала меньше памяти. На компьютерах с микропроцессором 80386 и выше Windows 3.0 работала с виртуальной памятью, т. е. использовала часть диска как продолжение оперативной памяти.
Для запуска программ служило приложение Диспетчер программ — Program Manager. Чтобы можно было упорядочивать и хранить значки запуска для большого количества приложений, разработчики сделали Диспетчер файлов многооконным. Для операций с файлами и дисками в Windows 3.0 входила многооконная программа Диспетчер файлов — File Manager, позволявшая производить многие операции с файлами методом перетаскивания мышью.
Логотип MS-DOS с коробки MS-DOS 6.0
Значок режима MS-DOS из операционной системы Windows 95
Комплекс услуг, предоставляемый Windows, привел к тому, что все перспективные программы стали разрабатываться с учетом требований Windows. От MS-DOS теперь в первую очередь требовалось быть надежной опорой Windows, и в июне 1991 г. вышла MS‑DOS 5.0, разработанная так, чтобы из-под нее было лучше работать с Windows 3.0. В нее вошла, например, новая версия HIMEM.SYS. Для иллюстрации преимуществ многозадачности с MS‑DOS 5.0 поставлялась оболочка MS‑DOS Shell с заимствованной из Windows 3.0 подсистемой переключения программ.
В апреле 1992 г. в продажу поступила Windows 3.1. С этого момента она именуется операционной системой. Строго говоря, эта среда не могла функционировать самостоятельно, без MS‑DOS. Но положения вещей это не меняет. Чуть позже была выпущена Windows 3.1 for Workgroups для работы с одноранговыми локальными сетями, а через год — Windows 3.11, практически идентичная Windows 3.1, и Windows 3.11 for Workgroups. Эти версии Windows были во многом усовершенствованы по сравнению с Windows 3.0.
В 1993–1994 гг. было выпущено и несколько новых версий MS‑DOS. Наиболее существенной особенностью MS‑DOS 6.0 (апрель 1993 г.) стало наличие большой коллекции оригинальных и лицензированных служебных программ, в том числе Microsoft DoubleSpace для увеличения полезной емкости дисков путем динамического сжатия данных. В версии MS‑DOS 6.2 (октябрь 1993 г.) программа Microsoft DoubleSpace была усовершенствована, из версии MS‑DOS 6.21 — изъята из за юридических противоречий с компанией Stac Electronics, производителем аналогичной программы Stacker, a в версии MS‑DOS 6.22 (обе — 1994 г.) — заменена на DriveSpace, не вызывавшую нарекание у компании Stac. И это была последняя самостоятельная версия MS‑DOS.
Windows 9x
Последующие версии MS-DOS были включены в комплект поставки новейших версий Windows.
В частично 32-разрядной операционной системе Windows 95, выпущенной Microsoft в конце лета 1995 г., присутствовала «внутренняя» MS‑DOS 7.0, ее можно было использовать для поддержки программ, несовместимых с новой версией Windows, но по умолчанию на компьютерах пользователей сразу загружался графический интерфейс.
Почему так важно было отвлечь пользователей от MS‑DOS? Новое поколение Windows обеспечивало более высокую надежность и более стабильную и устойчивую одновременную работу приложений, чем Windows 3.1. Windows 95 продуктивнее использовала память и диски, позволяя к тому же давать файлам имена длиной до 255 символов. Система поддерживала спецификацию автоматической настройки оборудования Plug and Play, позволяющую автоматически определять и настраивать большую часть существующей аппаратуры для IBM PC-совместимых компьютеров. Windows 95 работала со всеми видами игровых и мультимедиа-устройств, существовавшими на момент выхода этой ОС.
Windows 95 была первой системой, которая, с одной стороны, была предназначена для выполнения 32-разрядных программ, а с другой — работала с 16-разрядными Windows 3.1-программами и практически любыми программами для MS‑DOS. Конечной же целью было избавиться от 16-разрядного кода, и полностью перевести весь рынок на 32-разрядные приложения и операционные системы. Именно с этой целью параллельно развивалась ветвь Windows NT — современных, полностью 32-разрядных операционных систем для бизнеса.
В течение 1995—1998 гг. Microsoft постоянно обновляла Windows 95, а в 1998 г. выпустила Windows 98, имевшую усовершенствованный интерфейс, новую файловую систему FAT32, и поддерживавшую объединенную модель драйверов устройств для Windows и Windows NT (Windows Driver Model), а также новые типы оборудования, в том числе универсальный порт Universal Serial Bus (USB), и т.д. Интегрированная версия MS‑DOS имела номер 7.1.
«Двухтысячные» версии Windows для дома (Windows Millennium Edition, или Windows Me) и Windows для бизнеса (Windows 2000) были очень похожи внешне. При этом Windows 2000 уже почти предоставляла необходимую гибкость в пользовании разнообразным программным обеспечением (включая компьютерные игры и средства мультимедиа) и при подборе оборудования, а из Windows Me была почти исключена MS-DOS — остался только загрузчик с внутренним номером версии 8.0.
На этом приключения MS-DOS и история двух параллельных ветвей Windows закончились, и началась новая эра — следующей версией операционной системы от Microsoft стала Windows XP.
В заключение отметим, что в разное время разные фирмы выпускали собственные версии MS‑DOS-совместимых ОС. Это были не только версии DOS, предназначенные фирмами-производителями для установки на ПК собственного производства, такие как Compaq DOS, Zenith DOS или ранние версии PC‑DOS фирмы IBM. Отдельные версии DOS выпускались для широкой продажи, чтобы составить конкуренцию MS‑DOS от Microsoft. В их числе DR DOS от Digital Research, Novell DOS 7.0 (последняя версия DR DOS, выпущенная после того, как фирма Digital Research была приобретена фирмой Novell), поздние версии IBM PC‑DOS, PTS‑DOS российской фирмы «Физтех-софт» и др.
И главное. Значение операционной системы MS-DOS трудно переоценить. Под ее управлением работали компьютеры с микропроцессорами с тактовой частотой менее 5 МГц, объемом оперативной памяти до 640 КБ и с такими маленькими жесткими дисками, на которые не поместилась бы даже одна-единственная фотография, сделанная современной профессиональной камерой. Сегодня мы работаем на персональных компьютерах с 32- и 64-разрядной архитектурой, частота микропроцессора которых измеряется гигагерцами, объем оперативной памяти — гигабайтами, а вместимость жесткого диска — сотнями гигабайт, но именно надежная, неприхотливая рабочая лошадка MS‑DOS вытащила на себе всю компьютерную революцию. Миллионы людей стали пользователями и программистами персональных компьютеров именно с этой операционной системой.