Операционные системы - статьи

LINUX 2.2.x


Операционная система Linux ведет свою историю с 1991 г., когда никому не известный студент из Хельсинки Линус Торвальдс начал разрабатывать свою версию UNIX-подобной операционной системы. Она была написана, что называется, с нуля - автор не использовал код оригинальных версий UNIX. Вместе с тем в архитектуре Linux и, особенно, в средствах системного администрирования и комплектования документации четко прослеживается влияние BSD UNIX. Кроме того, многие дистрибутивы имеют процедуру начальной загрузки, характерную для AT&T UNIX.

За прошедшие годы ОС Linux прошла впечатляющий путь от любительской системы до платформы, с которой вынуждены считаться гранды компьютерной индустрии. Если не углубляться в детали, Linux представляет собой устойчивую многопользовательскую, многозадачную операционную систему с поддержкой многопроцессорных и кластерных конфигураций, хотя в настоящий момент такая поддержка еще недостаточна для корпоративных решений.

Ядро Linux является модульным, хотя пользователи могут скомпилировать и монолитное ядро. При создании модульного ядра пользователи имеют возможность указать, поддержка каких устройств будет реализована непосредственно в составе ядра, а каких - в виде загружаемых модулей. Модульная структура позволяет задействовать минимальный объем оперативной памяти. Обратной стороной медали являются накладные расходы на первоначальную загрузку модулей.

Ядро Linux неплохо подходит для однопроцессорных вычислительных систем, но гораздо хуже - для многопроцессорных и особенно кластерных конфигураций. Преимущества Linux состоят прежде всего в бесплатности системы и ее нетребовательности к аппаратному обеспечению, но никак не в техническом совершенстве архитектуры ядра. Здесь мне представляется уместным привести слова одного из создателей UNIX - Кена Томпсона: "Не думаю, что его [Linux] ожидает большой успех. Я видел исходные тексты, там есть как вполне приличные компоненты, так и никуда не годные... Microsoft выпускает не слишком надежные программные продукты, но Linux хуже их".
Возможно, Кен чересчур категоричен, но подобную реакцию доводилось наблюдать и со стороны других специалистов, мнение которых никак нельзя считать предвзятым.

Среди прочих недостатков ОС Linux можно отметить поистине убогую файловую систему ext2. Размер файлов ограничен 2 Гбайт, что явно недостаточно для корпоративных приложений. Средства протоколирования и поддержка списков контроля доступа (ACL) отсутствуют, что также не повышает привлекательность Linux как основы для серьезных сетевых решений. По этим показателям Linux проигрывает не только мощным UNIX на платформе RISC, но и коммерческим UNIX на платформе Intel, а также Windows NT и NetWare.

Полгода назад компания SGI объявила о начале разработки журнальной файловой системы для Linux, но пока непонятно, как ее собираются реализовать и сколько она будет стоить для конечных пользователей. Раз уж речь зашла о компании SGI, я хотел бы упомянуть о следующем любопытном факте: эта компания объявила Linux своей приоритетной ОС. Вместе с тем SGI имеет мощнейшую систему IRIX, причем в том, что касается поддержки корпоративных конфигураций, она даст Linux фору по всем статьям. Вместе с тем в SGI считают, что им по силам довести Linux до уровня IRIX. Спрашивается, зачем же так напрягаться, взяли бы да опубликовали исходные тексты IRIX?

Перечисленные недостатки приводились не для того, чтобы дискредитировать Linux, а чтобы у потенциальных пользователей не было иллюзий, когда речь идет об ответственных приложениях.

Текущая стабильная версия ядра Linux имеет номер 2.2, но в планах уже стоит разработка ядра версии 3, где должны быть ликвидированы узкие места в кластерных конфигурациях, файловых системах и средствах администрирования.

Хотя с точки зрения стабильности и отказоустойчивости ОС Linux сильно проигрывает UNIX на платформе RISC, она вполне конкурентоспособна в сравнении с Windows NT/2000 и NetWare. В принципе, NetWare не является универсальной ОС, и поэтому подобное сравнение не вполне правомерно с точки зрения применения ОС в качестве сервера приложений.



Другое дело - Windows NT/2000, главный претендент на роль системы для серверов приложений. В UNIX графическая оболочка полностью отделена от ядра и работает в режиме обычного приложения, в то время как в Windows NT/2000 графическая подсистема интегрирована в ядро. Для настольной ОС - это немаловажное преимущество, так как такой подход позволяет достичь максимальной производительности на графических операциях. Учитывая более низкую стоимость работающих с графикой программ на платформе NT, преимущество оказывается за NT. Кстати, это подтверждается статистикой продаж: для задач САПР или издательских систем доля UNIX быстро уменьшается.

В случае серверов встраивание графической оболочки внутрь ядра является скорее минусом, чем плюсом, поскольку серверу такое архитектурное излишество не нужно. Графическая подсистема ядра занимает большой объем памяти и снижает общую надежность системы, и по этому отдельному показателю UNIX выигрывает у NT.

В текстовом режиме Linux может функционировать уже при объеме оперативной памяти 4-8 Мбайт - недостижимый показатель для Windows NT/2000. При 32 Мбайт компьютер Linux неплохо справляется с задачами сервиса файлов и печати, но, конечно, чем больше объем ОЗУ, тем лучше и устойчивее этот сервис работает. Максимальный размер оперативной памяти, используемый Linux на платформе Intel, составляет 2 Гбайт, хотя некоторые оригинальные разработки позволят увеличить эту цифру до 4 Гбайт.

Еще одно преимущество UNIX, в том числе Linux, по сравнению с NT заключается во встроенной поддержке удаленного администрирования. Несмотря на наличие решений наподобие Citrix WinFrame или Windows Terminal Server для NT, разве их возможности можно сравнить (по требуемым ресурсам и надежности) с утилитами UNIX?!

Что же касается сопоставления надежности Linux с коммерческими UNIX на платформе Intel, то однозначный ответ здесь получить трудно. Одни считают, что Linux устойчивее коммерческих UNIX, другие верят в обратное. На этот счет можно утверждать лишь то, что "уронить" любую систему на платформе Intel гораздо легче, чем на платформе RISC.Во всяком случае в процессе тестирования у нас "падала" и Linux, и FreeBSD, и SCO UnixWare, и Sun Solaris. Однако это связано скорее всего не со спецификой конкретной ОС, а с изъянами архитектурной модели компьютеров Intel.

В Linux поддерживается разработанная для BSD UNIX система квот, с помощью которой администратор может задавать лимиты дискового пространства для отдельных пользователей. Хотя эта система значительно уступает по своим возможностям имеющейся в NetWare, но по сравнению с Windows NT, которая пока вообще не имеет ничего подобного, это прогресс. Правда, Windows 2000 будет комплектоваться встроенной системой квотирования, так что преимущество Linux здесь временное.

В отличие от других UNIX-подобных операционных систем, Linux более экономно использует область подкачки на диске. Она задействуется Linux только тогда, когда объем свободной оперативной памяти приближается к критической отметке.


Содержание раздела