Архивы: по дате | по разделам | по авторам

О компромиссах и цветной капусте

Архив
автор : Дмитрий Соколов   05.10.1998

Что выбрать? Хороший вопрос, особенно когда есть из чего выбирать. Но я не на магазинные прилавки намекаю. Я хочу выбрать операционную систему для своего нового компьютера, настолько мощного, что можно позволить себе любую фантазию.

Какой должна быть идеальная операционная система?

  • Прежде всего, надежной - чтобы можно было работать десятки часов без перезагрузки и не бояться потерять данные.
  • Во-вторых, быстрой - чтобы система была готова к работе, едва вы поудобнее усядетесь на стуле, и пореже отвлекалась на обращения к винчестеру.
  • В-третьих, многозадачной. Хоть я и не Юлий Цезарь, но делать два дела - слушать компакт-диск и печатать - могу.
  • И наконец, дружелюбной и удобной. Не люблю, когда мне хамят на иностранном языке. Пусть вежливо, по-русски, объяснят, какая неприятность произошла, от чего и что мне теперь делать.

Самая распространенная система в мире - Windows. Что она собой представляет? Это воплощение компромиссов. Нечто среднее между дружелюбной MacOS и мощной Unix. Она перенимает все лучшее, что есть в других системах: интерфейс, сетевые средства, архитектурные решения, - но, на мой взгляд, ни разу не была четко продумана. Windows работает на массового потребителя, старательно выполняя все его желания. В этом ее сила и слабость. Потребитель растит и лелеет систему, но именно он заставляет ее быть столь хрупкой и уязвимой. Может быть, каждый следующий шаг Windows приближает ее к собственной гибели?

Давайте вспомним DOS. Эта система быстро завоевала популярность. Как позиционировали ее на рынке? Отличное решение для офиса. Дешевую систему на базе IBM PC, оснащенную DOS, электронной таблицей и текстовым процессором, можно было поставить на каждый стол. DOS не хватало графики, поддержки сетей, многозадачности. Но в то время на IBM PC этого достичь было невозможно. Зато каждый пользователь получил компьютер и полную свободу творчества. Простая, открытая архитектура DOS позволяла создавать программы новичкам. Каждый пользователь мог придумать свою. И сколько их было написано! Массовый спрос на приложения для персональных компьютеров создал целую софтверную индустрию. Простенькая DOS, о которой столь пренебрежительно отзывались специалисты, расходилась миллионными тиражами. Пользователи пошли на свой первый компромисс! Они выбрали дешевую систему с минимумом возможностей и стали расширять ее сами.

Между тем процессоры Intel становились все мощнее и дешевле. PC замахнулись на большую долю рынка. Нужно было победить основного конкурента - Macintosh, который всегда обладал понятным графическим интерфейсом пользователя, был надежен и приятен в использовании.

Тогда и появилась Windows, пока еще просто графическая оболочка. Компании Microsoft и IBM задумали систему второго поколения, совсем не похожую на DOS, под названием OS/2. Но потребители сказали: "Нет. У нас есть прекрасные программы, на которые затрачено много сил и времени. Если они станут плохо работать или совсем не смогут выполняться в новой системе, то она нам не нужна". Что пришлось делать Microsoft? Пойти на компромисс, то есть принять условия, навязываемые потребителями.

Windows версии 3.0, а затем и 3.1 была уже операционной системой, работающей в защищенном режиме процессора. Она сломала барьер 640К и позволила программам использовать больше памяти, стало возможным запускать несколько задач одновременно. И все это поверх старой DOS! Пользователь мог выбрать "чистую DOS" для особо привередливых приложений или режим ее эмуляции. Открылись новые возможности для быстрого создания красивых графических программ и многое другое. Это был новый компромисс, который принес большую финансовую выгоду и породил внутренние проблемы. Windows была похожа на колосса на глиняных ногах. Ни о какой защите не было и речи. Любая задача могла легко "подвесить" всю систему. Но для пользователя важнее была скорость работы и удобный интерфейс, чем надежность. Новые ряды новобранцев вливались в армию пользователей Windows.

В это время в Microsoft очень хотели порвать с DOS. На смену ей должна была прийти абсолютно новая система. Наверное, поэтому ей и название дали OS/3 NT (New Technology, название OS/2 осталось за IBM). NT изначально проектировалась как надежная сетевая многозадачная система с привычным интерфейсом Windows. Первые версии встретили интерес специалистов и недоверие пользователей. Высокие требования к аппаратуре и плохая поддержка старых программ отпугивали пользователей. Пришлось забыть о "новом" статусе и переработать систему. NT должна была стать альтернативой NetWare и Unix. Для этого в систему были включены протоколы поддержки сетей конкурентов, созданы возможности для совместной работы серверов NetWare и NT, урезаны требования к ресурсам и многое другое. С бурным развитием Интернета необходимость в сетевых средствах только увеличилась, и NT стала удобным связующим звеном в сетях предприятий.

И все же NT была слишком дорога и медлительна, чтобы стоять на каждом компьютере. Windows 95 стала желанной альтернативой. Конечно, это не была ОС, написанная с нуля. Это было естественное продолжение Windows 3.x и компромиссов. Хотя присутствие "ненавистной" DOS тщательно маскировалось, она там осталась. Пользователи по-прежнему могли запускать привычные DOS-программы и 16-битные Windows-приложения, а также получили много новых возможностей, интегрированных в одной системе. Фактически Win95 объединила в себе все последние достижения Microsoft: вытесняющую многозадачность, 32-битное ядро, все популярные сетевые протоколы (в том числе и TCP/IP) и службы, устанавливаемые файловые системы, поддержку PnP, улучшенную печать и т. д. Интерфейс пользователя позволил придать системе ту новизну, которая была так необходима для "отречения от старого мира". Это было то, что нужно потребителю, и он с благодарностью отреагировал на Win95, скупая систему миллионными тиражами. Через некоторое время выяснилось, что с надежностью у новой системы стало только немного лучше, чем у старой. Windows продолжала виснуть, рушиться под влиянием других программ, собственных ошибок, аппаратуры и прочих причин (возможно, пятен на Солнце). Пользователям, конечно, все это не нравилось, но помочь им не в силах и сама Microsoft. Компромиссы мешают. Скорость, поддержка старых программ делают систему чрезвычайно неустойчивой и трудно предсказуемой. Многократно возросшая сложность кода не дает возможности иногда даже выяснить причины странного поведения. Частенько приходится бороться исключительно радикальными мерами (переустановкой), а иногда и просто мириться с нестабильностью. Из личного примера: если я введу пароль доступа в сеть до того, как система перестанет обращаться к винчестеру, компьютер повиснет в процедуре обработки скрипта NetWare. Просто некоторые "сервисы" (HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\RunServices) не успевают загрузиться и конфликтуют. Это не вина Windows, так как запускаются программы других производителей, - это ее беда. Она никак не может спасти положение или хотя бы выйти из него с достоинством. Прежде чем набрать пароль, мне приходится следить за индикатором диска. Windows 98 не может исправить ситуацию. И если будет Windows 2000 (уж больно название привлекательное), то у нее останутся эти проблемы. Надежность системы не терпит компромиссов. Этот параметр теперь приобретает все большую значимость.

Что же выбрать?

Приходится с грустью признать, что идеальная система еще не создана. На массовом рынке господствует тупиковый вариант Windows. Наибольшие шансы стать следующей ОС массового пользования есть у Windows NT. Работа над этой системой началась уже десять лет назад! И только сейчас сложились благоприятные условия для ее перехода в разряд "массовой". Персональные компьютеры набрали такую силу, что могут теперь принять NT. Десятилетие не было потрачено впустую. За это время система выросла и окрепла: многозадачная, многоплатформная, мультипроцессорная, многопоточная и еще много, много... Это будет лучшая замена Windows, хотя и не лишенная компромиссов, поскольку потребитель будет по-прежнему давить на нее. В новой версии NT 5.0 планируется вновь поднять планку требуемых аппаратных ресурсов. Реально потребуется Pentium II и объем памяти свыше 64 Мбайт, а также очень вместительный жесткий диск. Поэтому отнюдь не все пользователи смогут пересесть на NT, даже если и захотят. Microsoft очень надеется внедрить NT 5.0 на предприятиях и сделать офисным стандартом в связи с массовой заменой техники перед 2000 годом. Многие корпорации пропустили Windows 95, считая переход на нее неоправданным и рискованным. Теперь им предлагают более надежную систему с поддержкой старых приложений. Что касается домашних пользователей, для которых система слишком сложна, то для них будут продолжать модернизировать Windows хххх или придумают несколько упрощенный вариант NT. Пользователь требует, и Microsoft пойдет на компромисс!

Появится ли другая система, способная переманить пользователей у Windows? Теоретически это возможно. Если внедрить Java в каждый холодильник и пылесос, то она также станет системой массового пользования. Возможно ли это на практике? Увидим. Я уверен только в том, что любой системе не обойтись без борьбы с грузом прошлого, без компромиссов с потребителем. И не известно, у какой системы (Windows или...) это получится лучше.

Правы ли те, кто кричат "Windows must die"? Пусть попробуют сначала сами написать что-нибудь не хуже. Они ненавидят и презирают систему, но в то же время пользуются ей ежедневно. Microsoft выполнила чрезвычайно трудную задачу, и не известно, как бы с ней справились другие. Кто настоящий создатель этой системы? Мы, пользователи, взрастили ее.

Как нам жить сегодня?

Администратору сетей на базе Windows NT и NetWare логичнее выбрать Windows NT Workstation. Она предоставляет возможность удобного управления, надежность в ответственных ситуациях и защиту от несанкционированного доступа. Windows 95/98 - это подлинная "дыра" в защите сети. Система, которая не может защитить себя, способна провалить и другие, достаточно защищенные.

Разработчику программ для Windows сам бог велел ставить NT. Начав писать программу на С++ под Windows 95, я через некоторое время очень устал от перезагрузок. Я признаю, что сам вводил не слишком правильный код, но на перезагрузку уходит много времени. К тому же есть риск потерять плоды своих трудов из-за повреждения файлов. В Windows NT я только снимал зависшую задачу и продолжал работу снова. Но было бы наивно полагать, будто NT нельзя "подвесить". Очень даже можно, особенно аппаратным способом. Здесь срабатывает очередной компромисс. Windows NT базируется на микроядерной технологии, как и системы Unix. По этой технологии лишь небольшая часть системы (ядро) работает в привилегированном режиме. Все остальные компоненты ОС должны работать в обычном пользовательском режиме. Ошибка в привилегированном режиме приводит к краху системы. Ну и что? А то, что если реализовать систему строго по таким правилам, производительность ее резко падает. В пользовательском режиме выполнение программы идет значительно медленнее. Как же поступила Microsoft?

Изначально в привилегированном режиме оказались многие системные службы и драйверы устройств. Для повышения производительности графической подсистемы в NT 4.0 диспетчер окон, GDI и видеодрайверы также были переведены в привилегированный режим. Благодаря этому была достигнута хорошая производительность с новым интерфейсом а-ля Windows 95. (www.winntmag.com/Magazine/Article.cfm? IssueID=13&ArticleID=2750).

Для обеспечения устойчивой работы драйверы должны быть сертифицированы производителями у Microsoft и занесены в список HCL. Но можно ли чувствовать себя в полной безопасности при использовании даже проверенных драйверов и оборудования? Практика показывает, что нет. В NT 3.51 примерно десять миллионов строк кода, в NT 4.0 - уже шестнадцать миллионов. Сколько в них содержится ошибок, не известно никому.

Вот неплохой пример из "PC Week" (www.pcweek.ru/N34/CP1251/News/chapt10.htm): во время маневров ракетного крейсера Yorktown вышла из строя бортовая компьютерная сеть. Оказалось, что в базу данных было внесено нулевое значение, которое привело к делению на ноль и краху NT. Конечно, подлинные причины происшествия неизвестны, однако я лично встречался с печальными "голубыми экранами смерти", причем на "ровном месте". Но поскольку я у себя ядерных ракет дома не держу, то резервное копирование спасает от изредка возникающих сбоев.

В качестве Интернет-сервера у NT много возможностей, но не хватает надежности и скорости. Unix все еще гордо держит эти позиции и пока не думает сдавать. Основная борьба здесь еще впереди. Однако в связи с тем, что персональный Web-сервер поставляется в каждом комплекте с Windows 98, а IIS с NT, возможно, что следующее поколение администраторов будет знать только их. Ну, а "бедные" домашние пользователи останутся с Windows.

Из конституции прав пользователя персонального компьютера: "каждый человек волен выбирать операционную систему по своему вкусу". Решайте сами! Возможно, эти ссылки вам помогут.

  • Узнать ответы на многие вопросы можно по адресу www.ntfaq.com.
© ООО "Компьютерра-Онлайн", 1997-2019
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.