Условно-бесплатное программное обеспечение- (shareware). Самая массовая группа программ, в которую входят практически все утилиты, а часто и весьма серьезные, умелые программные пакеты. Как правило, shareware-программы распространяются в виде полнофункциональных версий, ограниченных либо по времени работы, либо по количеству запусков. По истечении отведенного вам на тестирование срока (как правило, от 15 до 45 дней) программа либо просто перестает запускаться, либо утрачивает часть своих функций, превращаясь в менее функциональную freeware-версию. В самом благоприятном для вас случае программа полностью сохраняет работоспособность, однако время от времени надоедает вам настоятельными призывами заплатить - так поступает, например, популярный файловый менеджер Windows Commander.
   Если вы все-таки решитесь приобрести программу и перечислите на счет автора некую сумму, то в обмен вы получите специальный цифровой код (ключ), который необходимо ввести в специальное регистрационное окошко программы. В качестве варианта может быть выслан специальный «ключевой» файл, который необходимо скопировать в папку с установленной программой.
    «Рекламно-оплачиваемые» программы(adware).
   - Расцвет этого вида программ пришелся на конец 90-х годов - сегодня их популярность значительно снизилась. Принцип adware подразумевает, что платит за программу не пользователь, а рекламодатель, которому взамен дается пространство для размещения информации о своих продуктах в виде баннеров или всплывающих окошек. А пользователи вынуждены эту рекламу смотреть, а иногда еще и щелкают по особо понравившимся картинкам, отправляясь прямиком на сайт фирмы-рекламодателя… Отдача от этих путешествий не слишком велика, однако и пара клиентов может принести, например, интернет-магазину сотни долларов прибыли, 10-15 из которых он с охотой выплатит программисту.
   К сожалению, создатели программ часто злоупотребляли этой возможностью, внедряя в свои продукты шпионские модули и даже вирусы, так что сегодня adware программы практически поставлены вне закона.
    Коммерческое программное обеспечение(commercial ware). За эти программы всегда надо платить, и чаще всего, довольно значительные суммы. Сюда относятся все крупные программные пакеты известных производителей и ряд утилит. Программы этого типа можно приобрести в красивых коробках или без оных в любом компьютерном супермаркете. Однако сегодня все чаще и чаще программные продукты продаются через сеть Интернет. Купить их можно либо на сайтах производителей программ, либо в больших интернет-магазинах программного обеспечения. Получить товар вы можете двумя способами. Большие программы в виде тех самых красочных коробок с компакт-диском или документацией доставляются вам на дом курьерской службой или по почте, а мелкие программы вы можете скопировать прямо с сайта Интернет.
   При этом, как и в случае с shareware-программами, вы получаете урезанную (Demo)или ограниченную по времени работы (Trial)версию. trial, как и shareware-программу, можно превратить в полнофункциональный вариант с помощью регистрации, а вот с демоверсией такой фокус не пройдет, поскольку в ней некоторые функции отсутствуют изначально. Например, в текстовом или графическом редакторе вы не сможете сохранить внесенные вами изменения.
    OEM-версии.Специальные варианты обычных коммерческих программ, поставляющиеся по сниженной цене вместе с готовыми компьютерами. Например, стоимость Windows в OEM-поставке может быть в несколько раз дешевле «коробочной» версии.
    «Условно-платные» программы(donation ware). Автор такой программы намекает, что, в принципе, он не отказался бы от пары-другой монет за свое детище, но платить он никого не принуждает и функциональность программы не ограничивает. Появится желание - заплатите, не появится… Ну что ж, на нет и суда нет! Понятно, что таких «альтруистов наполовину» среди программистов немного. А честных плательщиков среди пользователей - и того меньше.
    «Открыточные» версии(cardware). Весьма экзотический вид программ, в качестве вознаграждения за пользование которыми вас просят отправить автору красивую почтовую открытку.
 
Версии программ
 
   Программы, как известно, пишут живые люди. А люди имеют привычку ошибаться. А в программах ошибки встречаются, пожалуй, чаще, чем во всех остальных видах человеческой деятельности вместе взятых. Причин для этого много, но основная - сложность современных компьютеров: ни один человек не может отследить все команды, выполняемые компьютером при работе программы, - уж очень там много всего задействовано. Я даже не говорю о диком разнообразии всевозможных железок, настроек и установленных программ, с которым встречается творение любого программиста, вышедшее «в свет». Ну и, разумеется, про ошибки самого программиста как в алгоритме, так и в его реализации тоже забывать не стоит…
   Для того чтобы понять, откуда берутся ошибки реализации, можно взять типичный пример - деление на ноль. Допустим, вы решили написать программу, которая будет считать среднюю скорость роста человека (не знаю зачем, но допустим). Пользователь вводит дату своего рождения и свой рост, а программа вычитает из сегодняшнего числа дату рождения, подсчитывает ваш возраст в днях и делит рост на число ваших дней. Такая программа будет прекрасно работать для вас и ваших родственников, но если вы ее «выпустите в люди», то обязательно найдется кто-то, кто в качестве дня рождения введет сегодняшнее число. И готово - возраст ноль дней, попытка деления на ноль и программа вылетает с ошибкой.
   Разумеется, это самый простой пример. В реальной жизни все сложнее и зависит не только от данных, вводимых пользователем (которые можно, а точнее, нужно проверять перед использованием в программе), но и от установленных системных файлов, драйверов и кучи других вещей, предсказать которые невозможно, а их влияние на работоспособность программы совсем не очевидно.
   Как правило, ошибки «первого типа» вычисляются и исправляются очень легко, в течение 10 минут. «Второй тип» - сложнее, но он затрагивает относительно небольшое число пользователей. Обычно исправление подобных ошибок приводит к изменению второй или третьей цифры в номере версии (или же автор вообще не меняет версию, а просто выкладывает обновленный файл).
   Если вы видите, что вместо версии 2.1 появилась, скажем, 2.11, то имеет смысл заглянуть на сайт программы и посмотреть, не появилось ли там описание изменений, чтобы понять, нужно оно вам или нет. Ну а если программа небольшая, то можно просто скачать обновленную версию…
   Другая штука - это внесение новых функций в программу. Ведь после выхода программы автор получает какое-то количество писем от пользователей с просьбами добавить или изменить что-то в программе, советами по ее совершенствованию и тому подобное. Если много людей просят что-то одно, то автор часто прислушивается к их мнению и дописывает соответствующую функцию. Кроме того, он и сам может придумать что-то новое и интересное и встроить в программу. Обычно подобные изменения приводят к увеличению второй цифры в номере версии, то есть вместо 1.1 появляется 1.2.
   Такие обновления в большинстве случаев документируются и их описание помещается в файл history txt или WhatsNew txt. К такой версии стоит приглядеться повнимательнее - есть большая вероятность того, что там появилось что-то такое, чего вам не хватало…
   Обнаруженные ошибки или неоптимальные куски в алгоритме программы, как правило, оказываются самыми неприятными для автора, так как они требуют переписывания больших кусков кода или даже всей программы «с нуля». В то же время, их исправление приносит наибольшую пользу тем, кто этой программой пользуется - значительно увеличиваются возможности программы, скорость ее работы, часто меняется внешний вид, появляется много новых функций… С другой стороны, при этом может измениться формат хранения данных, что потребует каких-то специальных действий при переходе на новую версию; может измениться название программы, ее цена и какие-то другие вещи, которые потребуют от пользователя внимательного изучения документации (что, в общем-то, никогда не мешает). Подобные «глобальные» изменения обычно приводят к увеличению первой цифры версии программы, то есть из она превращается в 2.0. К сожалению, правила изменения версий нигде не описаны и не формализованы; то, что я описал - это «усредненное описание». Многие авторы в качестве номера версии используют дату выхода программы. Кто-то не использует «минорные» версии вообще, увеличивая номер на единицу при любом самом маленьком обновлении. Кто-то меняет программу, не меняя версии. Иногда встречаются случаи, когда версия меняется, но отсутствует какое-либо упоминание о сделанных изменениях. Все в руках авторов…
   Работая над программой, ее автор может выкладывать в Сеть не только окончательные, но и предварительные версии! Каждая из них имеет свое собственное обозначение:
    Альфа(alpha) - самая первая версия программы, черновой набросок. Статус «альфы» гарантирует вам, что скачанная программа установится и даже запустится, однако ее дальнейшие действия непредсказуемы. Чаще всего «альфа-версия» напичкана ошибками, как сдобная булочка изюмом, многие из ее возможностей и функций просто не работают. Вот почему пользоваться «альфой» могут лишь самые нетерпеливые и отчаянные экспериментаторы, выполняя таким образом роль тестеров. Остальным же стоит дождаться появления более стабильной и надежной версии - «беты».
    Бета(beta) - уже вполне пригодный к употреблению продукт. Грубые ошибки убраны, базовые задачи программа выполняет успешно. Остались лишь маленькие недоделки, которые могут исчезнуть уже в следующих «бетах». В статусе «беты» многие программы пребывают большую часть жизни - вспомним хотя бы проигрыватель WinAmp, почтовую программу The Bat! и ряд других программ, «бетовость» которых не мешает пользоваться ими миллионам пользователей.
   После того как ошибки, обнаруженные в альфа- и бета-версиях программ, исправлены, а функции добавлены, наступает очередь RC (ReleaseCandidate)- кандидат на окончательную версию. Эта программа уже считается стабильной и используется для выявления наиболее скрытых ошибок - такую программу, практически без опаски, могут скачивать и устанавливать даже те пользователи, которые слабо разбираются в компьютерах. А так как таких большинство, то увеличивается число пользователей, что означает увеличение числа «тестеров». Ошибки в RC версиях вычисляются довольно редко, так что при переходе в «основную» версию программа практически не меняется.
   Наконец, после всех мучений и доделок на свет появляется релиз(release) - полностью готовая, окончательная версия программы.
 

ОПЕРАЦИОННЫЕ СИСТЕМЫ

 
   Вы когда-нибудь задумывались, как происходит в компьютере обработка команд? Почему то или иное наше действие вызывает тот или иной результат? Как именно происходит взаимодействие между человеком и компьютером? Верю, что задумывались. И вот теперь вам пора узнать ответ.
   ОПЕРАЦИОННАЯ СИСТЕМА - вот так называется первая и самая главная программа, благодаря которой становится возможным общение между компьютером и человеком. Операционная система (или, более фамильярно, просто ОС) - это своего рода буфер-передатчик между компьютерным железом и остальными программами. ОС принимает на себя сигналы-команды, которые посылают другие программы, и «переводит» их на понятный машине язык. ОС управляет всеми подключенными к компьютеру устройствами, обеспечивая доступ к ним другим программам. Наконец, ОС - обеспечивает человеку-пользователю удобство работы с компьютером.
   Получается, что каждая ОС состоит как минимум из трех обязательных частей.
   Первая - ядро, командный интерпретатор,«переводчик» с программного языка на «железный», язык машинных кодов.
   Вторая - специализированные программки для управления различными устройствами, входящими в состав компьютера. Такие программки называются драйверами -то есть «водителями», управляющими. Сюда же относятся так называемые системные библиотеки, используемые как самой операционной системой, так и входящими в ее состав программами.
   И наконец, третья часть - удобная оболочка, с которой общается пользователь, - интерфейс.Своего рода красивая обертка, в которую упаковано скучное и не интересное для пользователя ядро. Сравнение с упаковкой удачно еще и потому, что именно на нее обращают внимание при выборе операционной системы, - о ядре же, главной части ОС, вспоминают уже потом. Поэтому такая нестабильная и ненадежная (с точки зрения ядра) ОС, как, скажем, Windows 95, и пользовалась таким сногсшибательным успехом - благодаря красивой обертке-интерфейсу.
   Кстати, все версии Windows, вплоть до Windows ME, были не полноценными операционными системами, а оболочками для старого ядра DOS. Сегодня графический интерфейс - неизменный атрибут любой операционной системы, будь то Windows, Linux или MacOS. Но операционные системы первых поколений были лишены этих «украшательств».
   Еще один признак любой современной ОС - возможность выполнять в одно и то же время сразу несколько задач (многозадачность) и поддержка нескольких конфигураций для различных пользователей (многопользовательской режим). Первый критерий стал стандартным при переходе от DOS к Windows, ну а многопользовательскими операционные системы стали чуть позже - в середине 90-х годов.
   И последнее - разрядность. 16-разрядные операционные системы (DOS, Windows 3.1, Windows 3.11) ушли в прошлое с появлением Windows 98/МЕ. С конца 90-х годов бал правили 32-разрядные системы, а в настоящее время мы стоим на пороге перехода к 64-разрядным ОС.
   Операционных систем на свете много. По крайней мере, больше одной. Помимо многочисленных версий Windows, существует целая группа операционных систем семейства UNIX. Назовем хотя бы главного соперника Windows - Linux (существует около десятка самых распространенных версий этой операционки, и среди них есть немало русскоязычных). Программисты и опытные пользователи часто отдают предпочтение другому потомку UNIX - FreeBSD. Наконец, постоянно ходят слухи о скором появлении РС-варианта знаменитой MacOS. Так что, теоретически, выбор у вас есть…
   Но, вероятнее всего, вы решите остановиться на одной из версий Windows - все-таки это бесспорный стандарт. Что бы ни говорили о Windows скептики, а сегодня лучшей системы для дома просто не придумано. И пусть графический интерфейс, мультимедийные «прибамбасы» и игрушки сегодня есть и в Linux, вряд ли вы захотите начать знакомство с компьютером с изучения этой игрушки для профи.
   Каждая модификация Windows имеет свои отличительные особенности - это правда. Однако в этой книге мы построим нашу экскурсию таким образом, что освоить основные приемы работы смогут пользователи практически всех версий. С одной лишь небольшой поправкой: мы будем работать с русскоязычной версией этой операционной системы. Конечно, есть немало любителей устанавливать на компьютер нелокализованную, англоязычную версию (и в этом есть свои плюсы). Но мне почему-то кажется, что подавляющее большинство читателей этой книги не относится к полиглотам…
 
Операционные системы корпорации Microsoft
 
   История стремительного восхождения к славе корпорации Microsoft хорошо известна: в начале восьмидесятых годов прошлого века компании Билла Гейтса удалось заключить контракт на разработку операционной системы для компьютера IBM PC. С огромным опозданием оценив перспективы рынка персональных компьютеров, «Голубой Гигант» IBM намеревался полностью захватить его с помощью своего нового ПК… С «железом» все было ясно, нерешенным оставался лишь вопрос с программным обеспечением.
   Microsoft была далеко не единственным кандидатом на роль создателя программной начинки для IBM PC - более того, первоначально ее-то и всерьез никто не рассматривал. Несмотря на то что в активе Билла Гейтса и Пола Аллена было несколько неплохих разработок (включая адаптацию языка Fortran для операционной системы СР/М), созданием полноценных ОС компания никогда не занималась. Кстати, управление IBM PC поначалу планировалось доверить именно СР/М - популярной, надежной и доведенной до ума системе. Однако создатель СР/М Гэри Килдалл отнесся к предложению IBM с предельным легкомыслием (о чем впоследствии не раз пожалел). И после провала переговоров инициативу перехватил Билл Гейтс, предложивший обиженному «Гиганту» свои услуги. При этом за душой Microsoft не было не только готовой ОС, но даже и ее предварительных набросков!
   До сих пор непонятно, почему руководство IBM согласилось заключить контракт на столь невероятных условиях: Билл Гейтс не только получил солидную сумму за еще не существующую ОС, но и оставлял за собой право продавать ее другим компаниям! По одной из версий, свою роль сыграло знакомство одного из директоров IBM с матерью Билла Гейтса, Мэри, хотя вероятнее всего, гораздо большее значение имели личная харизма и редкостное нахальство главы Microsoft.
   Заполучив желанный контракт и отойдя от офиса IBM буквально пару шагов, Гейтс и Аллен тут же прикупили уже готовую ОС у компании Seattle Computer Product. Созданная ими программа 86-DOS была практически полностью скопирована с СР/М, что устраивало и IBM, и Гейтса. Последнему оставалось только быстренько поставить на покупке свой фирменный знак, наскоро адаптировать ее для IBM PC - и запустить в серию! Так родилась MS-DOS, самая популярная операционная система для ПК «первого поколения», просуществовавшая почти двадцать лет (последняя версия DOS вышла в 2000 году).
   Превратив DOS в стандарт де-факто для IBM-совместимых компьютеров, Microsoft какое-то время спокойно стригла купоны и исправляла ошибки (благо их в продуктах компании всегда хватало). Однако качественных улучшений в DOS было немного - она по-прежнему оставалась однозадачной без малейшего намека на графический интерфейс. Команды компьютеру отдавались не щелчком мышки по рисунку-пиктограмме, а с помощью клавиатуры. Например, сегодня для запуска программы редактирования текстов Microsoft Word достаточно щелкнуть по значку этой программы на Рабочем столе Windows. А раньше, при работе в ОС предыдущего поколения - DOS, необходимо было вводить команду типа
   С:\WORD\word. exe с:\doc\mybook.doc
 
   Опытным пользователям, перешедшим к «персоналкам» от больших компьютеров, такой способ общения был не в диковинку, однако на ПК все чаще стали обращать внимание пользователи-новички, не имевшие никакого навыка общения с компьютером. И это очень хорошо понимали в штаб-квартире главного конкурента IBM - компании Apple, которая к тому времени считалась основным законодателем мод на рынке ПК. Основатель Apple, Стив Джоббс, отнюдь не уступал Гейтсу в напоре и деловой хватке, к тому же желание «сокрушить Большого Брата» (то есть IBM) уже давно превратилось в его «идею фикс». Нетрудно догадаться, что вторжение IBM на любимое «пастбище» Apple заставило Джоббса бросить все силы на создание компьютера, который должен был стать достойным ответом на выход PC. Им был, разумеется, знаменитый Macintosh, главными козырями которого были цветной дисплей, манипулятор «мышь» и операционная система с графическим интерфейсом!
   Как и Гейтсу, Джоббсу практически не пришлось прикладывать усилий, для того чтобы заполучить все эти вкусности: и мышь, и графическую ОС с окошками и значками он просто скопировал с разработок исследовательского центра компании Xerox (PARC). В свое время именитый производитель копиров также пытался создать свою персоналку, однако это направление было признано «бесперспективным», а уникальные разработки инженеров Xerox PARC были отправлены в запасник.
   Справедливости ради надо сказать, что и мышь, и графический интерфейс были придуманы отнюдь не в PARC - их придумал еще в 60-х годах один из самых гениальных неудачников компьютерной истории, профессор Дуглас Энгельбарт. В свое время его проекты вызвали в лучшем случае недоуменные улыбки, доходившие до истерики, когда на арене появлялась слоноподобная деревянная мышь весом и размерами с добрый утюг. В конце концов его разработки оказались в руках Xerox - лишь для того, чтобы через несколько лет их приметил глазастый шеф Apple.
   Первый «яблочный блин» с мышино-графической начинкой, как водится, вышел комом: выпущенный в 1981 году компьютер Lisa принес компании одни убытки. Однако Macintosh имел все шансы на успех, и компании Джоббса оставалось лишь довести свой проект до абсолютного идеала. В частности, закрыть досадную «дыру» в разделе офисных программ: сама Apple так и не смогла создать более-менее внятной электронной таблицы и текстового редактора… И тут в дверь Apple как нельзя кстати постучался Билл Гейтс, предложивший Джоббсу, как тому казалось, довольно выгодную сделку. Конечно, на майкрософтовскую DOS «яблочники» не могли смотреть без смеха - для них это был уже вчерашний век. Однако помимо этого компания Гейтса успешно работала и в нише офисного софта, который Гейтс и предложил в кратчайшие сроки адаптировать для Macintosh. И вновь повторилась история с IBM - Джоббс не раздумывая заглотил наживку, и торжествующий Гейтс покинул офис Apple, унося с собой один из первых прототипов «Макинтоша»…
   Роковые последствия своего опрометчивого решения Джоббс осознал позднее, когда практически одновременно с выходом Macintosh корпорация Microsoft представила собственную графическую оболочку для DOS - Windows 1.0. Все основные ее элементы были откровенно скопированы с операционки «Макинтоша»… Взбешенный предательством Билла, Джоббс попытался было затеять судебную тяжбу, которая кончилась поражением Apple - ведь ее собственная «операционка» была создана точно таким же способом! В итоге новый глава Apple Джон Скалли был вынужден дать Microsoft «добро» на использование «типовых элементов» интерфейса не только в уже вышедших, но и в будущих программах компании! A Windows начала свой победоносный путь по планете.
   Впрочем, первые версии оболочки от Microsoft не пользовались сколь-нибудь заметным успехом. Даже пригревшая команду Билла Гейтса IBM новинкой не заинтересовалась, зато Microsoft пригласили поучаствовать в работе над операционной системой OS/2. Эта графическая ОС, в отличие от Windows, являла собой НАСТОЯЩУЮ операционную систему Характерно, что сам Гейтс еще в течение шести лет(!) колебался между этими двумя продуктами, лишь в начале 90-х годов выбор был сделан. Отныне компания сделала ставку только на Windows, бросив уже вполне доведенную до ума и конкурентоспособную OS/2 на произвол судьбы.
 
    Windows 3.1
 
   Первыми по-настоящему удачными версиями Windows считаются 3.1 и 3.11 (с поддержкой сетевого режима), увидевшие свет в 1992-1993 годах. Однако впервые Windows приблизилась к своему нынешнему облику лишь через два года, с выходом по-настоящему революционной системы Windows 95. Именно в ней впервые был сделан решительный шаг по превращению «оболочки» в полноценную операционную систему, хотя «ядром» по-прежнему служила старая добрая DOS. Прощание с ней затянулось на пять лет, лишь в 1999 году на свет появилась Windows ME (Millennium Edition), «режим DOS» в которой был искусственно заблокирован.
   Впрочем, еще в 1993 году Microsoft начала работу над новой линейкой операционных систем, построенных на принципиально новом ядре. Ее основателем стала операционная система Windows NT, рассчитанная на профессионалов и корпоративных пользователей. Несмотря на то что интерфейс NT не слишком отличался от других версий Windows, устроена она была совершенно иначе - с большим упором на стабильность, надежность и меньшим - на развлекательно-мультимедийную сферу. Для новой ОС была даже разработана новая защищенная файловая система NTFS (NT File System), работать с которой версии Windows «массовой» линейки до поры до времени не могли.
   Оба варианта Windows развивались параллельно вплоть до конца столетия. Однако после выхода в свет «народной» Windows ME и «профессиональной» Windows 2000 Microsoft объявила об окончательном отказе от «линии DOS». В двадцать первый век человечество должно было войти уже с новой системой, объединившей достоинства обоих своих родителей…
 
Windows XP
 
   Эта версия Windows с самого начала задумывалась как революционная - и во многом таковой и стала. Эта операционная система должна раз и навсегда поставить крест на линии Windows 9x. Поле боя же, после ухода в небытие последних программ для DOS и старых версий Windows, должно остаться за полностью 32-разрядными системами с новой, защищенной архитектурой. Именно таковой и должна была стать преемница Windows 2000, операционная система под кодовым названием Whistler, первые версии которой стали доступны широкой публике в конце 2000 года.
   Поначалу разработчики планировали наградить новую операционку звучными именем Windows Net 1.0, что должно было подчеркнуть как ориентацию новой ОС на сетевую работу, так и кардинальную новизну ее внутреннего устройства. Однако здравый смысл и увещевания маркетологов взяли верх, и уже к лету 2001 года экс-Whistler получила новое имя - Windows XP (сокращенное от «experience»). Рекламщики из Microsoft оказались правы: аббревиатура ХР публике полюбилась и в одно мгновение превратилась в сверхраскрученный бренд. Чем, кстати, не замедлили воспользоваться сторонние производители: так, процессорный гигант AMD не постеснялся украсить вожделенным двубуквием свой новый процессор - Athlon ХР. Под именем Windows XP миру была явлена целая линейка операционных систем: «корпоративные» ОС Windows XP Server и Windows XP Professional, и «домашняя» Windows XP Home.