В прошлом месяце я получил сообщение по электронной почте от читателя, который хотел узнать, почему большинство статей в этой серии посвящены Windows. Дело было не в том, что человек, приславший мне это письмо, не любил Microsoft, или предпочитал Linux, или что-то вроде того, он просто интересовался, почему Windows была необходима. Как он правильно заметил, сети существовали задолго до появления Windows. Короче говоря, вопрос в этом письме показался мне вполне резонным, и я решил воспользоваться возможностью и поговорить о роли Windows, которую она играет в построении сетей.
Перед тем как начать, я бы хотел затронуть пару моментов. Во-первых, я отведу некоторое время на обсуждение прошлого Windows. Существует множество слухов, утверждающих, что Microsoft ‘позаимствовала’ некоторые компоненты ОС Windows у других компаний, таких как IBM и Apple. Лично я не знаю, насколько правдивы эти слухи, и если уж быть до конца откровенным, мне нет до этого никакого дела. Я просто хочу признать этот факт, чтобы снизить количество писем, приходящих в ответ на эту статью.
Второй момент, который я хочу сразу прояснить, это то, что сегодня каждая операционная система использует сети практически так, как и остальные. Хотя ОС может быть более эффективной, чем другие, конечный результат практически одинаковый. В конце концов, тот факт, что такие ОС как Windows, Macintosh, Linux, и UNIX могут связываться между собой по одним каналам Интернет, используя одни и те же протоколы, не является простым совпадением.
Описывая Windows, я не собираюсь начинать войну операционных систем, как я, кажется, делал это неосмотрительно столько раз в прошлом. Я сделал свой выбор в пользу Windows, потому что это наиболее часто используемая ОС, и поэтому статьи о ней заинтересуют большее количество потенциальных читателей, к тому же этот сайт в первую очередь ориентирован на Windows.
Теперь, когда я усмирил всех ненавистников, перейдем к делу. Причина, по которой Windows стала столь доминирующей ОС, кроется в том, что она решила две основные проблемы, беспокоившие индустрию ИТ.
Первая из причин заключалась в том, что еще до создания Windows, ПК было довольно сложно использовать (по крайней мере для непрофессионалов). До появления Windows 3.x, большинство ПК работали на ОС от Microsoft, известной как MS-DOS. DOS – это аббревиатура, которая расшифровывалась как Disk Operating System (дисковая операционная система).
ОС DOS на самом деле работала довольно хорошо, но у нее были серьезные недостатки. Для тех, кто не знает, эта ОС была основана на тексте. Это означало, что если вы хотели запустить приложение, вам нужно было не просто навести курсор на иконку и кликнуть клавишей, вам нужно было знать команду или несколько команд, необходимых для запуска этого приложения. Если вы хотели узнать, сколько свободного места осталось у вас на диске, вам нужно было не просто навести курсор на иконку диска и кликнуть правой клавишей, вам нужно было использовать команду CHKDSK или DIR.
Обычные люди страшились DOS. В общем, использование DOS, даже для самых простых целей, требовало знания довольно серьезного набора команд. Многие из этих команд могли причинить серьезный вред данным, если вы случайно использовали их некорректно, и это значительно осложняло дело.
Не стоит отрицать того, что использование ПК становилось очень распространенным еще до того, как Microsoft представила графическую ОС, но Windows помогла сделать использование ПК значительно легче.
Второй момент, которого Windows удалось достичь, гораздо важнее. Windows обеспечила уровень абстракции, который позволил отделить драйверы устройств от приложений.
Во времена DOS в ответственность разработчиков приложений входило включение драйвера устройства как части приложения. Например, когда я учился в школе, лучшим текстовым редактором был снятый теперь с производства PFS Write. Один из моментов, сделавших PFS Write столь хорошим продуктом, заключался в том, что программа поддерживала различные принтеры. И даже в этом случае, я вспоминаю, как купил программу, установил ее на свой компьютер и обнаружил, что драйвер для моего принтера в ней отсутствовал. В результате мне пришлось покупать новый принтер только для того, чтобы иметь возможность работать с этим редактором.
Не следует забывать о том, что мой предыдущий принтер не был кучей мусора. Проблема заключалась в том, что большинство приложений в то время поставлялось на дискетах, которые имели весьма ограниченную емкость. В результате разработчики приложений включали в них драйверы только самых распространенных физических устройств. В те времена очень часто случалось так, что некоторые приложения (особенно видеоигры) не поддерживали определенные видеокарты, звуковые карты и т.д.
Такая связь драйверов с приложениями была невыгодна ни для разработчиков, ни для потребителей. Для разработчиков это было невыгодно, потому что им приходилось тратить время на написание огромного количества драйверов устройств, что повышало стоимость разработки и количество времени, требовавшегося на то, чтобы доставить продукт на рынок. Поскольку приложения поддерживали ограниченное количество физических устройств, разработчики теряли потенциальных потребителей, поскольку их продукт не поддерживал физические устройства этих потребителей.
Но для потребителей такое положение дел тоже было невыгодно. Обычно более старые физические устройства не поддерживались, и это часто заставляло потребителей приобретать новые устройства наряду с новыми приложениями. Но в то же время, самые новые устройства тоже не поддерживались. Разработчикам нужно было создавать драйверы, которые бы соответствовали максимально возможному количеству потребителей, поэтому приложения, содержащие драйверы для самых свежих устройств, встречались довольно редко. Часто новые устройства были совместимы с драйверами старых устройств, но могли уходить годы на то, чтобы эти новые устройства работали на полную мощность в приложениях.
Когда Microsoft создала Windows, она создала условия, в которых любое приложение может взаимодействовать с любым устройством. Конечно, приложения все еще предъявляют минимальные системные требования, но создатели устройств больше об этом не беспокоятся. Например, если мне понадобится напечатать этот документ, будет не важно, какой у меня принтер, если у меня установлен драйвер этого принтера.
Windows построена уровнями. Каждое приложение Windows генерирует задания печати одинаково, независимо от того, что это за приложение, и на какой принтер отправлена задача печати. Затем ОС Windows использует определенные драйверы печати для перевода задания в нечто, понятное принтеру. Действительный процесс немного сложнее, но я лишь хотел показать основную идею, а не вдаваться в скучные архитектурные подробности.
Суть в том, что отделение приложений от драйверов устройств выгодно всем. Разработчики приложений более не мучаются с написанием драйверов устройств, а потребители теперь могут свободно использовать любые физические устройства, какие пожелают (пока эти устройства отвечают минимальным требованиям), им больше не нужно беспокоиться о том, будет ли работать то или иное приложение.
Как вы видите, Microsoft смогла создать Windows таким образом, который позволил отделить приложения от драйверов устройств. В следующей части этой серии я продолжу обсуждение и покажу, как такая архитектура способствует построению и работе сетей.
www.windowsnetworking.com