Часть I
Введение в Linux
Глава 1
Особенности ОС Linux
Я считаю, что Microsoft создала объективно плохую операционную систему, и мне интересно наблюдать, как это постепенно доходит до людей.
Линус Торвальдс, создатель ОС Linux
Мир операционных систем предоставляет пользователям достаточно большое их количество. Мы не будем подробно останавливаться на истории и особенностях каждой операционной системы – для этого понадобится чрезмерно много места и времени. Да и не всем это интересно: раз вы читаете эту книгу, значит вас заинтересовала Linux. Особо любопытным можно предложить обратиться к соответствующей литературе и Интернету – там можно найти много интересной информации на этот счет.
Какие же операционные системы используются в настоящее время? Вот некоторые из них:
• DOS (MS-DOS, DR-DOS и их клоны);
• Windows 3.1x;
• OS/2;
• Windows 9x;
• Windows NT (Windows 2000);
• Mac OS;
• Mac OS X;
• семейство UNIX;
• Free BSD, OpenBSD, NetBSD;
• Linux;
• BeOS;
• QNX.
Конечно, приведенный список далеко не полон, но мы сознательно ограничим его операционными системами, используемыми наиболее часто. Рассмотрим этот список с точки зрения человека, которому необходимо иметь на компьютере операционную систему, удовлетворяющую нескольким, порой противоречивым, требованиям.
Операционные системы можно классифицировать по многим параметрам. Во-первых, все они делятся на два вида – платные и бесплатные (условно-бесплатные). Во-вторых, правомерно разделить их на операционные системы с открытым исходным кодом (с правом вносить изменения или без права внесения изменений) и с закрытым исходным кодом. В-третьих, операционные системы бывают одноплатформенные (способные функционировать только на одной платформе, например PC-совместимой) и многоплатформенные (способные функционировать на нескольких платформах, например PC-совместимой, Macintosh, Sun, PowerPC). В-четвертых, операционные системы могут быть однозадачными и многозадачными. В-пятых, однопользовательскими и многопользовательскими. В-шестых, серверными, клиентскими или универсальными. В-седьмых, иметь текстовый, графический или тот и другой интерфейсы. В-восьмых, ориентацией на работу с сетью и Интернетом. В-девятых, по потребляемым ресурсам и т. д. А ведь это только начало. Критериев, по которым выбирается операционная система, намного больше. Имеют право на существование и такие критерии, как "Она мне нравится" или "Друг себе поставил, чем я хуже?" А ведь выбор операционной системы определяет, как вы будете жить и работать ближайшие несколько лет (или десятилетий). Поэтому к выбору операционной системы следует относиться с большой тщательностью и достаточной долей скептицизма. Сжато охарактеризуем наиболее популярные операционные системы.
Замечание
В 1980 году была организована инициативная группа под названием /usr/group с целью стандартизации программного интерфейса UNIX. Стандарт был разработан к 1984 году и использовался комитетом ANSI при описании библиотек языка С. В 1985 году был создан Portable Operating System Interface for Computing Environment, сокращенно POSIX (переносимый интерфейс операционной системы для вычислительной среды). На сегодняшний день большинство операционных систем удовлетворяют (полностью или частично) стандарту POSIX.
DOS
Производитель – Microsoft. Была создана на заре эры PC. 16-разрядная однопользовательская, однозадачная система. Платная, закрытый исходный код. Одноплатформенная (PC-совместимая). Текстовый интерфейс (командная строка). Достаточно простой процесс установки. Файловая система – FAT 12, FAT 16, FAT 32. Поддержка локальной сети – драйверы и программы сторонних производителей. Интернет – аналогично. Морально устарела еще до рождения. Разрабатывалась поспешно, без учета развития аппаратных и программных средств. При появлении нового аппаратного обеспечения срочно дорабатывалась, более или менее устойчивая система появилась только к 1990-му году (по прошествии 10 лет!). Последняя самостоятельная версия (как отдельного продукта) – MS-DOS 6.22. Последние версии включали в основном косметические изменения. Но (благодаря дружбе IBM и Microsoft) – получила широчайшее распространение, имела малую потребность в ресурсах, поддерживала практически все выпускаемое для PC аппаратное обеспечение, и для своей ниши была почти оптимальным решением с точки зрения цена/ресурсы/производительность. Для DOS было выпущено несметное количество приложений, последние пять лет новые программные продукты для DOS не выпускаются. Существовали многочисленные клоны. Наиболее известные – IBM-DOS, PC-DOS, DR-DOS.
Windows 3.1x
Строго говоря – это даже не операционная система, а графическая оболочка или, если хотите, надстройка над DOS. Почему версии ЗЛх? Потому что, по большому счету, только к версии 3.1 была достигнута достаточная стабильность, неплохая функциональность, накоплена критическая масса приложений и реализована многозадачность. Благодаря Windows в мир PC был внесен дух однообразия и предсказуемости. Интерфейс приложений стал стандартизирован, системные библиотеки унифицированы, внедрена поддержка локальной сети, появился достаточно большой набор драйверов для аппаратного обеспечения, поставляемых в дистрибутиве Windows. В комплект Windows вошли несколько десятков приложений, благодаря чему потребитель получал почти готовую систему для офисной работы. Доступ в Интернет по-прежнему осуществлялся с помощью программ сторонних производителей. Система получилась не очень надежная, достаточно часто происходили зависания. Для Windows 3.1x было выпущено много разнообразного программного обеспечения, впрочем, после 1996 года новые программные продукты для Windows 3.1x больше практически не выпускались. Достаточно простой процесс установки. Слабая поддержка мультимедийных устройств. Платная. Исходный код недоступен. Последняя версия (16 битная) Windows for Workgroups 3.11. Требования к аппаратному обеспечению – процессор 386, не менее 2 (лучше 4) Мбайт оперативной памяти, не менее 16 Мбайт места на жестком диске.
OS/2
Совместная разработка IBM и Microsoft. Впоследствии IBM и Microsoft разошлись, и OS/2 заканчивала и выпускала в свет только IBM, которая всегда позиционировала свою операционную систему для корпоративного использования. Из-за слабой маркетинговой политики IBM, сильной конкуренции со стороны Microsoft, относительно малого количества разработанных под систему программных продуктов IBM отказалась от дальнейшего продвижения OS/2. Для своего времени (а это расцвет DOS и Windows 3.1x) была очень прогрессивна. В дальнейшем (версии 2–4) получила существенное расширение функциональности. 32-битная многозадачная операционная система. Отличная поддержка локальной сети и Интернета. Помимо программ, разработанных специально для OS/2, система позволяет запускать как DOS-приложения, так и приложения Windows 3.1х. Разрабатывается приложение Odin, позволяющее выполнять приложения Windows 9х. Файловая система – HPFS (High Performance File System). Поддерживает также достаточно большой список файловых систем, в том числе FAT 12, FAT 16, FAT 32. Требования к аппаратному обеспечению – процессор Pentium, не менее 32 Мбайт оперативной памяти, не менее 120 Мбайт места на жестком диске.
Windows 9x
32-битная операционная система с поддержкой 16-битных приложений (Windows 3.1x). Первая версия появилась в 1995 году. Затем в течение почти трех лет выходили исправления многочисленных ошибок. Попытка Microsoft объединить лебедя, рака и щуку – в одной операционной системе без проблем запускать исполняемый код DOS, Windows 3.1x (16 бит) и Windows 9х (32 бит). В результате получилась не очень устойчивая система, которую удалось отладить только к 1998 году (Windows 98). Несмотря на то, что Windows 9х объявлена операционной системой, она по-прежнему базируется на MS-DOS версии 7.0 со всеми ее рудиментами и наследственностью. В Windows 9х добавлено программное обеспечение, необходимое для работы в Интернете, и существенно расширен список драйверов для аппаратного обеспечения.
Windows 98 и последняя версия, Windows ME (Millennium Edition), фирмой Microsoft рассматриваются как переходный этап к Windows NT (Windows 2000), поэтому в Windows 9х частично включено программное обеспечение, характерное для серверов. Простой процесс установки и конфигурации системы, но отсутствует возможность тонкой ее настройки без стороннего программного обеспечения. Хорошая поддержка мультимедийных устройств и игр. Огромнейший список разработанного под систему программного обеспечения. На сегодняшний день Windows 9х и MS Office являются стандартом de-facto для настольных офисных систем. Платная. Исходный код недоступен. Требования к аппаратному обеспечению – процессор Pentium-166, не менее 32 Мбайт оперативной памяти, не менее 250 Мбайт места на жестком диске (для Windows ME не менее 64 Мбайт оперативной памяти, не менее 500 Мбайт места на жестком диске). Файловая система – FAT 32 (FAT 16).
Windows NT (Windows 2000)
Ощущая бесперспективность развития ветки DOS—Windows 3.1x Microsoft разработала новую операционную систему Windows NT (New Technology), базирующуюся на стандарте POSIX и новой файловой системе – NTFS (New Technology File System). Разработчики Windows NT серьезно взялись за проектирование операционной системы с учетом ее дальнейшего развития (совсем недавно вышла последняя в этой линейке операционная система – Windows ХР). На сегодняшний день Windows NT – флагманская операционная система фирмы Microsoft. Существует две ее версии – Windows NT Workstation и Windows NT Server. Первая версия предназначена для настольных систем, вторая – серверная платформа. В обеих версиях используется графический интерфейс, что для сервера – в общем-то излишество и нерациональная трата ресурсов. Многозадачная, многопользовательская, одноплатформенная (PC), весьма устойчивая операционная система. Имеет встроенную поддержку многопроцессорных и кластерных систем. Хорошая поддержка мультимедийных устройств и игр (однако не все существующие игры надежно работают под Windows NT). Полного набора серверных приложений не имеет (нет, например, Web-cepвepa). Исходный код недоступен. Платная. Windows NT Server рассчитан на малые и средние рабочие группы, на большие нагрузки пока не рассчитан. Помимо NTFS поддерживает файловые системы FAT и OS/2 (HPFS). Требования к аппаратному обеспечению Windows NT Workstation – процессор Pentium, не менее 128 Мбайт оперативной памяти, не менее 500 Мбайт места на жестком диске; Windows NT Server – процессор Pentium, не менее 256 Мбайт оперативной памяти, не менее 500 Мбайт места на жестком диске.
Mac OS
Производитель – Apple. Операционная система для Macintosh и его пользователей, многозадачная, однопользовательская, графическая. Первая версия была выпущена более 15 лет назад. С выходом Mac OS X считается окончательно устаревшей и постепенно сходит со сцены. Великолепная система для пользователя по эргономичности, дружественности и простоте освоения. За свою историю накопила достаточно большое количество устаревших концепций, оставленных для совместимости. Последние версии Mac OS были рассчитаны на компьютеры Apple, базирующиеся на процессоре Motorola 68040 и PowerPC с не менее 16 Мбайт оперативной памяти.
Mac OS X
Производитель – Apple. Новая операционная система для компьютеров Macintosh, базирующихся на процессоре PowerPC. UNIX-подобная, POSIX-совместимая, многозадачная операционная система с графическим интерфейсом. Способна выступать как в качестве сервера, так и в качестве клиентской операционной системы. Платная, закрытый исходный код. Фирма Apple заявила о скором переносе Mac OS X на платформу Intel. Поддерживает сетевую файловую систему NFS (Network File System). Mac OS X предназначена для работы на компьютерах Power Macintosh с процессором G3. Требования – не менее 128 Мбайт оперативной памяти. Рекомендуемый объем жесткого диска – 5 Гбайт.
Семейство UNIX
Группа операционных систем, имеющих общего предка и традиционно носящих название UNIX. Фирмы производители – AT&T, DEC, Sun, Hewlett-Packard, IBM, SCO и многие другие. Несмотря на то что первая версия UNIX была выпущена еще тридцать лет назад, UNIX до сих пор считается наиболее современной, надежной и динамично развивающиеся операционной системой. Большой вклад в успех UNIX внесли специалисты AT&T, студенты и преподаватели университета Беркли. На сегодняшний день UNIX той или иной фирмы-производителя установлен практически на каждом сервере уровня предприятия, больших кластерах и мультипроцессорных системах, а также на многих рабочих и графических станциях. Многоплатформенная, мультизадачная, многопользовательская операционная система. Поддерживает кластеризацию, мультипроцессорные системы, распределенные вычислительные среды, массивы накопителей огромной емкости и многое другое. На сегодняшний день трудно найти компьютер, на котором не смогла бы работать одна из версий UNIX. Как правило, UNIX, выпускаемая фирмами, – платная, с закрытым исходным кодом. Тем не менее, существует достаточно много (например, семейство BSD, Linux) бесплатных, с открытым исходным кодом UNIX-совместимых операционных систем. Благодаря стандарту POSIX практически любое приложение можно перенести из одного представителя семейства UNIX в другой. Благодаря этому для UNIX имеется огромное количество как бесплатных, так и коммерческих программ. Как правило, для каждой разновидности UNIX разработана своя файловая система, но все разновидности UNIX могут работать с распространенными файловыми системами. В том числе существуют и т. н. журналируемые файловые системы. В журналируемых файловых системах для решения проблемы повреждения структуры файловой системы или хранения данных применяют транзакции, используемые практически в любой базе данных. Транзакция считается незавершенной до тех пор, пока все изменения не сохранены на диске. А чтобы сбои, происходящие до завершения всех операций, входящих в транзакцию, не приводили к необратимым последствиям, все действия и все изменяемые данные протоколируются. В том случае, если все-таки сбой произойдет, по протоколу можно вернуть систему в рабочее состояние. Требования к аппаратной платформе – самые разнообразные. Как уже упоминалось выше – трудно найти компьютер, на котором не смогла бы работать одна из версий UNIX.
FreeBSD, OpenBSD, NetBSD
Операционные POSIX-совместимые системы семейства UNIX на основе кода университета Беркли. Принципиальные различия:
• FreeBSD – очень надежная, достаточно консервативная (в хорошем смысле этого слова). Аппаратная платформа – Intel;
• NetBSD – переносимость на большое количество аппаратных платформ;
• OpenBSD – попытка объединить достоинства FreeBSD и NetBSD в одном дистрибутиве.
Бесплатные, открытый исходный код. На сегодняшний день наибольшее распространение из-за своей особой надежности получила FreeBSD. Двоичная совместимость со многими программами, построенными под SCO, BSD/OS, Net/Free/OpenBSD, 386BSD и Linux.
Linux
POSIX-совместимая UNIX-подобная операционная система. На сегодняшний день – самая распространенная бесплатная операционная система с открытым исходным кодом. При ее разработке из мира семейства UNIX старались взять все лучшее. Благодаря участию десятков тысяч разработчиков программного обеспечения и координации их действий через Интернет Linux и программное обеспечение для нее развивается очень динамично, ошибки и различные проблемы в программном обеспечении, как правило, исправляются в считанные часы после их обнаружения. Большую помощь в развитии и распространении Linux и сопутствующего ему программного обеспечения оказали фонд Свободного программного обеспечения (Free Software Foundation, USA) и лицензия GNU (The GNU General Public License, Универсальная общественная лицензия GNU) для программного обеспечения. На сегодняшний день существует одно ядро Linux, разработку которого координируют его создатели Линус Торвальдс и Алан Кокс, и множество дистрибутивов (не менее 2–3 десятков), отличающихся как функциональным назначением, так и составом программного обеспечения, входящим в дистрибутив. Существуют дистрибутивы, занимающие десяток компакт-дисков, и дистрибутивы, умещающиеся на одной-двух дискетах. Все, что справедливо для семейства UNIX – справедливо и для Linux. Широчайшая поддержка аппаратных платформ, малая требовательность к аппаратным ресурсам (процессор 486, 8 Мбайт оперативной памяти, винчестер 120 Мбайт). Масштабируемость, поддержка мультипроцессорных систем, кластеризация, поддержка распределенных вычислений, десятки графических оболочек и это далеко не все. Поддерживаются десятки файловых систем, родная файловая система Ext2. И при всей мощи – достаточно дружественная операционная система, способная работать как на мощнейшем сервере, так и на стареньком «пентиуме» где-нибудь в офисе.
BeOS
Производитель – Be Inc. UNIX-подобная графическая операционная система. Однопользовательская. Сами разработчики позиционируют BeOS как операционную систему для работы с мультимедиа. Графический интерфейс. Очень молодая операционная система (по сравнению с ранее рассмотренными), поэтому относительно небольшой список поддерживаемого оборудования и программного обеспечения. BeOS поддерживает компьютеры с симметричной мультипроцессорной архитектурой (SMP) (до 8-ми процессоров), файловая система BFS (Be File System), 64-битная и журналируемая. Вытесняющая многозадачность, почти полная POSIX-совместимость. На сегодняшний день существуют две версии операционной системы – BeOS 5 РЕ (Personal Edition) – бесплатная (дистрибутив можно взять в Интернете, www.be.com) и BeOS 5 Pro – платная (поставляется на CD-ROM в коробке и с документацией). Исходный код недоступен (несколько программ, входящих в BeOS, имеют открытый исходный код). Поддерживает работу с несколькими файловыми системами – FAT 16, FAT 32 (возможно чтение и запись), NTFS (только чтение), HFS, ext2, CDFS. Аппаратные требования – Pentium-133, оперативная память – 32 Мбайт, место на винчестере – 512 Мбайт (минимально – 120 Мбайт). Возможен вариант установки под Windows и Linux. Аппаратная платформа – PC, PowerPC.
QNX
Производитель QNX – QNX Software Systems. UNIX-подобная POSIX-совместимая операционная система реального времени. 32-битная, многозадачная, многопользовательская, микроядерная. Первоначальное предназначение – промышленная операционная система, предназначенная для работы в режиме 99,999 % надежности («пять девяток»). Используется для управления технологическими процессами, начиная от атомных электростанций и заканчивая производством мороженого. Исходный код закрыт. Проблемы с драйверами (малое количество). Минимальные требования для промышленного дистрибутива – 386-й процессор, 8 Мбайт ОЗУ. Помимо промышленных дистрибутивов QNX, стоящих немалые деньги, существует бесплатный вариант дистрибутива «QNX Real Time Platform», который загружается с сайта производителя (www.qnx.com). Минимальные требования для бесплатного дистрибутива – процессор Pentium-200, 32 Мбайт ОЗУ, 100 Мбайт на жестком диске.
Ознакомившись с вышеприведенным кратким обзором операционных систем, можно представить в общих чертах их области применения, достоинства и недостатки. Поскольку наша книга посвящена Linux, а операционные системы Windows 9х или Windows NT/2000 установлены приблизительно на 90 % PC-совместимых персональных компьютеров, то все сравнения в дальнейшем мы будем проводить относительно этих трех операционных систем, не забывая, впрочем, и об остальных.
Небольшое отступление
Что такое пользователь? Никогда не задумывались? Понятие «пользователь» не подведешь под «среднестатистическое» значение. Он многолик и разнообразен. Единственное, что есть общего у всех пользователей компьютера – они сидят за компьютером. Пользователи с точки зрения системного администратора – все те, кто входит в систему в качестве пользователя, «юзера». С точки зрения системного программиста – все, кто запускает компьютер. Для разработчика прикладного программного обеспечения – пользователи его программы. Для авторов книг "… для чайников" – это люди, знающие о компьютере только то, что у него есть шнур питания и какая-то доска с кнопками. И так далее. Если попытаться обобщить, основной пользователь – это человек, который не разбирается в устройстве компьютеров, не знает, как настроить модем, не обязан знать тонкости операционной системы и т. п. Пользователь решает на компьютере свои профессиональные задачи, зачастую не имеющие с компьютерами ничего общего. На практике все это, конечно, не совсем так мрачно. Пользователь для успешной работы просто обязан знать, что такое файл, как настроить рабочий стол, установить программу, что такое вирусы и как с ними бороться и т. д. Пользователей условно можно разделить на три группы – не знающий о компьютере ничего, знающий кое-что и знающий многое. Соответственно, по уровням пользователей можно разделить операционные системы на три категории.
К первой категории можно отнести Mac OS и, в какой-то степени, Mac OS X, а также BeOS. Ко второй категории Windows 9х, OS/2. К третьей, как ни странно, – DOS, Windows 3.1x, Windows NT/2000, UNIX-семейство, BSD-семейство, Linux, QNX. Такое разбиение операционных систем не всегда соответствует официальному позиционированию фирм-разработчиков (например, Microsoft рекламирует Windows 9х как систему для домохозяек – включил и работай). Однако с точки зрения коллективного разума (по крайней мере, так считают авторы новостных конференций, посвященных сравнительному обзору операционных систем) данное нами разбиение операционных систем достаточно верно. Впрочем, жизнь, как всегда, не стоит на месте. Сейчас уже можно говорить, что Linux с ее графическими менеджерами окон KDE и GNOME постепенно переходит, если уже не перешла, ко второй категории (то есть для пользователей, знающих об операционной системе кое-что), при этом не теряя ни мощности, ни настраиваемости всего и вся. Семейство Windows постепенно сдвигается к группе пользователей, не знающих об операционной системе ничего, при этом вызывая заметное раздражение знающих, или, как у них говорят – Advanced Users, своей уверенностью, что пользователь системе приносит только вред, а посему ничего настраивать он не должен, а если очень хочет – пусть платит за поддержку или специальное программное обеспечение. В идеале же операционная система должна удовлетворять, по меньшей мере, семи достаточно противоречивым требованиям.
1. Быть легкой в освоении и дружественной к пользователю (User Friendly).
2. Быть очень мощной и универсальной (способной работать на любом оборудовании).
3. В ней все должно настраиваться и достаточно просто.
4. Она должна быть очень надежна (в идеале – сверхнадежна).
5. Занимать как можно меньше места.
6. Разработчики моментально должны реагировать на проблемы, обнаруженные в процессе эксплуатации.
7. Под нее должен быть широкий выбор программного обеспечения.
В нескольких словах рассмотрим эти семь пунктов. Пункт первый. Тут, собственно, и так все ясно. От того, как быстро человек освоится с операционной системой и насколько удобно ему в ней работать, напрямую зависит производительность труда, да и просто хорошее настроение. Пункт второй. Можно, конечно, возразить, что чем более универсальный инструмент, тем слабее он для какого-нибудь специфического применения, и чисто теоретически это так. Но давайте посмотрим на универсальность с другой стороны. Теоретические принципы построения операционной среды, по большому счету, одинаковы, что для старенькой 386-й, что для новейших мультипроцессорных систем. Специфику платформы (тип процессора, мультипроцессорность, кластеризацию и т. п.) всегда можно учесть при разработке специфического ядра операционной системы или драйверов. Некоторая потеря в производительности с лихвой окупается тем, что пользователю, поработавшему на мощнейшем сервере и перешедшему на офисный компьютер, графическую станцию или домашний ПК, не придется осваивать другую операционную систему – его операционная система может работать на любом компьютере. А способность работать на любом компьютере автоматически подразумевает, что операционная система должна занимать как можно меньше места и потреблять мало аппаратных ресурсов. Пункт третий. И тут все понятно без пространных пояснений. Пользователь должен иметь возможность настроить операционную систему под свои нужды, не прибегая к стороннему (не входящему в поставку операционной системы) программному обеспечению. Пункт четвертый. Правда, больное место? У любого пользователя Windows со стажем наверняка происходило зависание компьютера, причем в самое неподходящее время. И каждый пользователь хочет, чтобы зависания никогда не происходили на его компьютере. Пункт пятый. Это тоже понятно. Уже надоело каждые год-полтора менять жесткий диск только из-за того, что следующая версия операционной системы требует «совсем немного, только каких-то 3 Гбайта места на жестком диске». Пункт шестой. И это очевидно. Пользователь должен получить исправления к своей операционной системе при обнаружении просчетов ее разработчиков. Причем, как можно скорее, если операционная система удовлетворяет п. 4. И притом абсолютно бесплатно, поскольку это просчет разработчика. Пункт седьмой. Пусть операционная система будет самой распрекрасной, но если для нее нет программ, она не будет востребована.
Теперь оценим операционные системы на соответствие вышеперечисленным требованиям.
• DOS – не удовлетворяет ни одному пункту, кроме п. 7.
• Windows 3.1x – удовлетворяет п. 1 с оговорками, частично п. 3 и п. 5, удовлетворяет п. 7.
• OS/2 – удовлетворяет п. 1, п. 2 (с учетом одноплатформенности), п. 3, частично п. 4, п. 5 и п. 7.
• Windows 9х – удовлетворяет п. 1, частично п. 3, безусловно удовлетворяет п. 7.
• Windows NT (Windows 2000) – удовлетворяет п. 1, п. 2 (с учетом одноплатформенности и непомерных требований к аппаратному обеспечению), п. 3 и п. 4 с оговорками, безусловно удовлетворяет п. 7.
• Мае ОС – безусловно удовлетворяет п. 1, п. 2 (с учетом одноплатформенности), частично п. 3, п. 4, п. 5, п. 6, удовлетворяет п. 7.
• Мае ОС X – безусловно удовлетворяет п. 1, п. 2 (с учетом одноплатформенности и завышенных требований к аппаратному обеспечению), п. 3, п. 4, п. 6, пока не удовлетворяет п. 7.
• UNIX-семейство – безусловно удовлетворяет всем пунктам, кроме первого, да и то, в последнее время легкость освоения и дружественность у UNIX-разработчиков стоят на первом месте.
• FreeBSD, OpenBSD, NetBSD – все сказанное о UNIX-семействе справедливо и для этих операционных систем.
• Linux – безусловно удовлетворяет всем пунктам, особенно п. 2, п. 3, п. 6, п. 7.
• BeOS – удовлетворяет всем пунктам кроме (пока) п. 7.
• QNX – удовлетворяет всем пунктам.
Попробуем выбрать операционную систему, исходя из вышеперечисленных пунктов. DOS и Windows 3.1x отпадают сразу, как морально и физически устаревшие продукты. OS/2 – очень неплохая операционная система, имеющая несколько недостатков: отсутствие перспектив (IBM отказалась от выпуска следующих версий), не очень большой выбор программного обеспечения, одноплатформенность. Mac OS, Mac OS X – также неплохие операционные среды как с точки зрения пользователя, так и с точки зрения администратора. Но – это операционные системы только для компьютеров фирмы Apple. А в нашей стране этих компьютеров не наберется и одного процента от общего количества персональных ЭВМ. QNX – достаточно специфичная система, рассчитанная для применения в сверхнадежных системах реального времени. Очень хорошая, но для нашего пользователя она стала доступна относительно недавно, поэтому в отношении к ней есть элементы недоверия и незнания, кроме того, у нее относительно малый список программного обеспечения общего назначения (офисные приложения, работа с графикой, игры, наконец). Что остается – семейство Windows 9х– Windows NT (включая Windows ХР), семейство UNIX, а также представители «свободного мира» UNIX – FreeBSD, OpenBSD, NetBSD, Linux и стоящая немного особняком BeOS.
Теперь попытаемся максимально корректно сопоставить Windows-семейство и семейство UNIX. Сначала проведем четкий водораздел между операционными системами Windows 9х/МЕ и Windows NT/2000/XP. Подсознательно (в силу сходства названий, да и внешнего вида) пользователь, а иногда и администратор, отождествляет Windows 9х/МЕ и Windows NT/2000, хотя это далеко не одно и то же. Если внимательно посмотреть на характеристики Windows 9х/МЕ и немного сопоставить факты, станет понятно, что Windows 9х/МЕ – это затянувшийся на шесть лет переход от DOS/Windows 3.1x к Windows N Т/2000, принесший, однако Microsoft огромный доход. С чисто технологической стороны UNIX-семейство корректно сравнивать только с Windows NT/2000, поскольку только Windows NT/2000, как система истинно многозадачная и многопользовательская, поддерживающая мультипроцессорность и кластеризацию, корректно сопоставима с UNIX-подобными системами. Не надо сразу обижаться за любимую Windows 9х/МЕ. Если отбросить эмоции и посмотреть правде в глаза, Windows 9х/МЕ – операционная система для домохозяек и игрушек, которая благодаря простоте освоения методом "научного тыка" незаконно, или правильней сказать безосновательно (с точки зрения системного администратора, безопасности, надежности, да и по целому ряду других причин), проникла в корпоративный мир. Это, конечно, понятно – пользователи знают Windows 9х/МЕ (дома стоит, в институте на ней работали) и пытаются опробованное решение применить в масштабах предприятия. Когда предприятие это 3–5 машин в локальной сети – еще терпимо, но когда на предприятии хотя бы пара десятков компьютеров, и, не дай бог, несколько сетей, которые надо объединить – администратор начинает жить на работе. Вирусы, зависания машин, непонятные эффекты, отсутствие в операционной системе необходимого программного обеспечения для администрирования и управления сетями и рабочими местами – вот сотая часть того, с чем сталкивается администратор. А если в сети появляется сервер… Windows 9х/МЕ уже ничто не поможет. Ведь сервер – это и RAID-массив, и несколько процессоров, причем необязательно это процессоры от Intel. Windows 9х/МЕ на такую машину не поставишь.
Таким образом, корректно сравнивать (с учетом приведенных выше требований) можно только семейство UNIX и Windows NT/2000. Относительно Windows NT/2000 существует основанное на схожести интерфейса и названия с Windows 9х/МЕ заблуждение, что настроить Windows NT/2000 дело пяти минут, и после настройки все работает годами без вмешательства администратора. Внешнее сходство этих систем с Windows 9х/МЕ создает обманчивую иллюзию понимания там, где им и не пахнет, а увеличение нагрузки на сервер заставляет остро чувствовать программистскую поговорку "Памяти мало никогда не бывает". Поскольку книга эта об Linux, сравним семейство Windows с Linux.
- Linux
- Macromedia ColdFusion
- Macromedia Flash MX
- Macromedia Dreamweaver MX
- Microsoft Access 2003
- Delphi 2005 для .NET
- MATLAB 7
- Доступный UNIX: Linux, FreeBSD, DragonFlyBSD, NetBSD, OpenBSD
- Adobe Photoshop CS2
- Adobe Illustrator CS2
- ActionScript 2.0
- IntelliJ IDEA. Профессиональное программирование на Java
- Mathcad 13
- Delphi 2005 для Win32
- CorelDRAW X3
- Macromedia Flash Professional 8. Графика и анимация
- Linux. От новичка к профессионалу (2-е издание)
- Transact-SQL
- VBA
- MySQL 5
- PHP 5/6
- HTML, скрипты и стили (3-е издание)
- 3ds Max 2011
- Python
- Mathcad 14
- HTML 4.0
- Delphi 7
- AutoCAD 2010
- Аппаратные средства PC
- AutoCAD 2011
- Adobe Photoshop CS5 для всех
- Microsoft Office Excel 2010
- Microsoft Visual Studio 2010
- FreeBSD. От новичка к профессионалу
- AutoCAD 2012
- Java 7
- Linux
- Mathcad 15/Mathcad Prime 1.0
- 3ds Max 2012
- Microsoft Excel 2003
- Microsoft .NET в подлиннике
- AutoLISP и Visual LISP в среде AutoCAD
- Системное программирование в Windows
- UNIX
- Microsoft Windows Server 2003. Русская версия
- Microsoft Office Excel 2007
- Microsoft SQL Server 2005 Analysis Services. OLAP и многомерный анализ данных
- BIOS
- Total Commander. Эффективная работа с файлами и архивами
- Искусство дизассемблирования
- JavaScript и AJAX в Web-дизайне
- PHP 5
- 3ds Max 2009
- Adobe Photoshop CS4 для всех
- Microsoft Windows 8 для пользователей
- Qt4.5. Профессиональное программирование на C++
- Qt 4.8. Профессиональное программирование на C++
- Adobe Dreamweaver CS4
- Microsoft SQL Server 2012
- Delphi XE2
- Adobe Photoshop CS6 для всех
- Adobe Photoshop CC для всех
- Google Android. Создание приложений для смартфонов и планшетных ПК
- Linux. От новичка к профессионалу
- FreeBSD. От новичка к профессионалу (2-е издание)
- 3ds Max 2014
- Google Android. Создание приложений для смартфонов и планшетных ПК (2-е издание)
- Microsoft SQL Server 2014 (pdf+epub)
- HTML, скрипты и стили (4-е издание)
- Qt 5.3. Профессиональное программирование на C++
- PHP 7
- Microsoft Office Excel 2016
- Qt 5.10. Профессиональное программирование на C++
- Microsoft Office Excel 2019
- JavaFX
- CorelDRAW. Версия 2022
- PHP 8
- Microsoft SQL Server 2022