Библиотека сайта rus-linux.net
Linux - система будущего?
Дмитрий ШипиловLinux является одной из самых новых операционных систем для персональных машин - ее первая рабочая версия появилась в начале 1991 г., однако за последние восемь лет эта система стала настолько популярной и широко используемой, что на данный момент является практически полноправным конкурентом другой операционной системы для персональных компьютеров - Windows, что признает сам глава компании Microsoft. Что же такого привлекательного и удобного в Linux? Почему многие компании используют для работы компьютеры с установленной на них системой Linux? Эта статья, возможно, приоткроет занавес над модным в нынешние времена словом Linux...
Немного истории...
Linux, по сути дела, является версией другой операционной системы - легендарного UNIX. UNIX был разработан в 1969 г. в фирме Bell Labs, являвшейся подразделением концерна AT&T. Созданная система разделения времени оказалась настолько эффективной, что к 1976 г. Bell Labs разработала и выпустила уже шестую версию UNIX (Sixth Edition), известную как V6, которая бесплатно распространялась в университетах. В 1979 г. была подготовлена седьмая версия, V7.
Borland JBuilder 3 для Linux
Сразу же после выхода UNIX V7 компания AT&T создала "Группу поддержки UNIX" (UNIX Support Group-USG), позже переименованную в UNIX System Laboratories (USL). Эта группа занялась продвижением UNIX как коммерческой системы. Результатом работы USL стали версии System III и System V, которые превратились в стандарты для UNIX.
Чуть раньше на основе кода V6 Исследовательская группа вычислительных систем (Computer Systems Research Group - CSRG) Калифорнийского университета в Беркли создала операционную систему Berkeley UNIX, версии которой назывались BSD (сокращение от Berkeley Software Distribution). Первой версией стала 1BSD, выпущенная в 1977 г. для машины PDP-11. Поскольку в BSD использовался код компании AT&T, для Berkeley UNIX была необходима достаточно дорогая лицензия AT&T. По мере роста популярности UNIX цены на лицензию росли и, в конце концов, разработчики BSD решили убрать код AT&T из своей системы. Однако на завершающем этапе этой крайне кропотливой и сложной работы Калифорнийский университет Беркли лишился финансирования в области исследований операционных систем, и группа CSRG, занимающаяся этой разработкой, была расформирована.
IBM VisualAge for Java - еще одно средство под Linux для разработки Java-приложений.
Несмотря ни на что CSRG выпустила сборник исходных кодов программ UNIX, который не содержал код AT&T и был назван Net/2. На основе Net/2 некоторые компании, включая Berkeley Software Design, Inc. (BSDI), начали разрабатывать и продавать свои собственные, надежные и более дешевые версии UNIX. Это привело к взаимным искам BSDI и AT&T: AT&T обвиняла BSDI в разглашении коммерческой тайны и нарушении авторских прав, а BSDI - в использовании Net/2 в качестве основы для своего собственного продукта. BSDI в свою очередь подала на AT&T в суд за несоблюдение условий контракта (в частности, за непредоставление оговоренного кредита).
В 1992 г. концерн AT&T продал компании Novell все свои структуры, занимающиеся разработкой UNIX. Novell на базе версии System V создала свою систему UNIXWare, не получившую достаточного распространения. Позже система UNIXWare была продана фирме Santa Crouze Operation, и теперь она известна под именем SCO UNIXWare.
В 1994 г. фирма Novell и Калифорнийский университет отозвали свои иски друг к другу, после чего университет прекратил продавать Net/2 и выпустил более совершенную версию 4.4BSD-Lite.
Во весь этот хаос с версиями UNIX вносили свою лепту разработчики рабочих станций, которые создавали свои версии операционной системы, как правило, беря за основу одну из версий AT&T или BSD, либо создавая гибрид этих двух версий. Разработка каких-либо стандартов для UNIX приводила лишь к появлению новых версий UNIX. Помимо того, каждое ненадежное объединение разработчиков UNIX создавало свои собственные стандарты. На данный момент основным стандартом UNIX является разработанная консорциумом X/Open Единая спецификация UNIX, названная Spec 1170. В нее изначально входило около 1170 интерфейсов прикладных программ (API), данную спецификацию поддерживают все крупные разработчики операционной системы UNIX.
В настоящее время мир UNIX делится на два лагеря - версии UNIX более близкие к варианту, созданному концерном AT&T, и к варианту, подготовленному BSD. Наиболее характерными представителями этих версий являются UNIXWare и BSD/OS.
Версии UNIX, созданные компанией DEC, базируются на операционной системе Mach, которая была разработана в Университете Карнеги-Меллон на основе BSD UNIX. Для системы Mach был принят стандарт OSF/1, который можно считать соответствующим BSD-варианту ОС UNIX. Система NEXTSTEP от NeXT Computer является расширенным вариантом системы Mach, однако она не во всем соответствует стандарту OSF/1. Ранние версии DEC UNIX назывались Ultrix - в той или иной мере их также можно считать соответствующими BSD-UNIX.
Графический интерфейс X Windows.
Операционная система Solaris (начиная с версии 2.x) фирмы Sun Microsystems создана на основе кода AT&T с множеством добавлений. Однако предыдущая система этой фирмы, называющаяся SunOS, является расширенным BSD-вариантом. Поскольку обе эти системы достаточно популярны, рекламный отдел фирмы Sun Microsystems иногда упоминает о SunOS как об операционной системе Solaris 1.X.
Фирма IBM также выпустила свою UNIX-подобную операционную систему под названием AIX. Данную ОС трудно отнести как к AT&T-, так и к BSD-версии UNIX.
Silicon Graphics предлагает систему IRIX, аналогичную AT&T UNIX. Самые ранние версии IRIX включали в себя некоторые компоненты из BSD-UNIX, но со временем IRIX становилась все ближе и ближе к AT&T-версии.
Фирма The Santa Crouse Operation (SCO) продает переработанную версию Novell UNIXWare, под названием SCO UNIXWare. Также сейчас популярна разработка PC UNIX от SCO на основе старой версии AT&T UNIX - SVR3.2.
Стоит также упомянуть о системе HP-UX компании Hewlett-Packard, которая в основном попадает в разряд AT&T-версии, однако имеет некоторые особенности. Буквально недавно появилась ОС UNIX от компании Corel, названная Corel UNIX.
Для персональных компьютеров существует множество бесплатных версий UNIX - NetBSD, 386BSD, FreeBSD, Minix и, несомненно, Linux.
X Windows с использованием KDE.
Создателем Linux стал Линус Торвальдс (torvalds@kruuna.helsinki.fi) из Университета Хельсинки. Первоначально Linux создавался как хобби. Торвальдса вдохновила операционная система Minix - маленькая UNIX-система, созданная Энди Тэненбаум, и впервые Linux обсуждался по компьютерной сети в рамках конференции USENET news:comp.os.minix. В этих обсуждениях, прежде всего, принимали участие пользователи Minix из учебных и научных заведений, которым хотелось чего-то большего, чем Minix. 5 октября 1991 г. была выпущена первая "официальная" версия Linux под номером 0.02. Возможности Linux 0.02 были минимальны, и она воспринималась как некоторая хакерская операционная система. Линус Торвальдс сделал Linux открытым проектом - в его разработке принимали участие множество свободных программистов из Internet. К марту 1992 г. уже была готова версия 0.95, номер которой указывал на близость завершения работы над полноценной ОС. В декабре 1993 г. версия Linux все еще была 0.99.
На данный момент существует версия 2.3 ядра Linux, однако она находится в стадии доработки, и поэтому наиболее стабильной считается предыдущая версия 2.2.
Так что же такое Linux?..
Linux является полноценной версией операционной системы UNIX для персональных компьютеров класса процессоров i386 и i486. Linux полностью использует возможности этих процессоров (в отличие от Windows) является 32-разрядной многозадачной и многопользовательской системой, выполняющейся в защищенном режиме. Благодаря этому возможна одновременной работы множества пользователей, выполняющих одновременно много программ. При тестировании было обнаружено, что рабочая станция i486 под управлением Linux вполне сравнима с компьютерами Sun Microsystems и DEC.
Linux в достаточной мере совместим с несколькими стандартами UNIX на уровне исходных текстов, среди которых: IEEE POSIX.1, System V и BSD. Таким образом, все программы для UNIX, распространяемые в Internet, могут быть практически без изменений откомпилированы и перенесены в Linux. Кроме того, исходные тексты ядра, драйверов устройств, библиотек, прикладных программ и инструментальных средств также свободно доступны, что дает бесконечные возможности по настройке и модификации ОС Linux под свои нужды. Ядро Linux эмулирует команды математического сопроцессора i387, что позволяет без проблем выполнять программы, использующие его, на системах без оного.
Операционная система Linux аккуратно и эффективно обращается с задачами, выполняемыми на машине. Ядром предоставляется защита памяти между процессами, таким образом, один отдельно взятый процесс не может разрушить всю систему. При исполнении программ в память загружается только необходимые на данный момент части кода, что, несомненно, экономит память. Также Linux предоставляет так называемые разделяемые между программами copy-on-write страницы памяти. Это значит, что множество процессов могут использовать одну и ту же область памяти для работы. Когда один из процессов пытается записать что-нибудь в эту область памяти, то она копируется в какой-нибудь другой участок памяти. Метод copy-on-write страниц памяти имеет два важных преимущества: увеличение скорости работы и уменьшение используемой памяти.
Linux поддерживает различные файловые системы для хранения информации на накопителях. Среди них - Minix-1, Xenix, HFS (файловая система Macintosh), HPFS (файловая система OS/2). Собственная файловая система Linux позволяет создавать файловые разделы до 4 Tбайт, а также (как и все UNIX-системы) длинные имена файлов (до 255 символов). В Linux реализован прозрачный доступ к разделам MS-DOS и OS/2 FAT - нет необходимости в использовании специальных команд для работы с ними. MS-DOS разделы диска выглядят абсолютно также, как и UNIX-разделы, исключая, конечно, возможности не доступные в MS-DOS (такие, как длинные имена файлов или права доступа). Сжатые разделы MS-DOS 6.0 доступны при установке специального патча для ядра. В последних версиях Linux (начиная с 2.0) имеется доступ к файловым системам VFAT (WindowsNT и Windows 95/98) и FAT-32. Также предусмотрена специальная файловая система UMSDOS, которая позволяет установить Linux на файловую систему MS-DOS. Реализована поддержка файловой системы CD-ROM, благодаря чему возможна работа со всеми стандартными компакт-дисками.
ОС Linux как представитель UNIX-системы, изначально проектируемой для работы в сетях, предоставляет полный набор сетевой поддержки, включая драйверы для многих сетевых карт Ethernet (что освобождает вас от использования систем Novell при создании локальных вычислительных сетей) и полную поддержку SLIP (Serial Line Internet Protocol, обеспечивающий доступ в Internet по протоколу TCP/IP с использованием модема), PLIP (Parallel Line Internet Protocol), PPP (Point-to-Point Protocol), NFS (Network File System - сетевая файловая система, позволяющая вам использовать данные совместно с другими машинами в сети) и многих других протоколов. Последние версии ядра поддерживают TCP, IPv4, IPv6, AX.25, X.25, DDP (AppleTalk), Netrom и т. п. Ядро осуществляет поддержку всех клиентов и услуг TCP/IP-FTP, HTTP, telnet, NNTP, SMTP и другие. Также доступен сервер AppleTalk, клиент и сервер NetWare, клиент и сервер LAN Manager/Windows Native (SMB). Кроме того, Linux поддерживает один из старейших механизмов передачи данных - UUCP (UNIX-to-UNIX-copy), который позволяет обмениваться файлами, электронной почтой и электронными новостями между UNIX-машинами. Обычно UUCP-машины связываются друг с другом по телефонным линиям через модем, однако можно использовать и связь по TCP/IP. Если у вас нет доступа по TCP/IP или SLIP-сервера, то можно настроить систему для работы в сети с помощью UUCP.
Броузер Mozilla.
Как и все сложные операционные системы, Linux предполагает использование виртуальной памяти, т. е. дискового пространства для хранения участков памяти. Реализация виртуальной памяти в Linux состоит в подкачке страниц на диск (в отдельно взятый файл или на целый раздел на диске). Размеры области своппирования могут устанавливаться вручную. Также в Linux введен унифицированный пул памяти для прикладных программ и дискового кэша, так что вся свободная память может быть отведена под кеш, который может быть уменьшен в случае выполнения больших программ.
X Windows с использованием GNOME.
В Linux применяются динамически связанные библиотеки (DLL), т. е. выполняемые программы могут совместно использовать одну библиотечную программу, предоставленную одним файлом на диске. Это значительно уменьшает размер файлов, содержащих программы. Связывание библиотек происходит во время выполнения программы, что дает программисту возможность подменять системные DLL своими собственными разработками. Программы могут игнорировать данную возможность и содержать код DLL внутри себя (это полезно при отладке или для обеспечения независимости программы от установленной в системе той или иной библиотеки).
Linux позволяет полностью управлять выполняемыми на данный момент задачами, а при возникновении критических ошибок система предоставляет всю необходимую информацию для обнаружения и исправления ошибки.
|
X Windows, GNOME и Netscape.
Системные требования
Одним из плюсов операционной системы Linux являются ее крайне малые требования к аппаратным средствам: процессор 80386SX-25, 4 Мбайт оперативной памяти и 80 Мбайт свободного дискового пространства хватит для выполнения большинства прикладных программ. Естественно, что увеличение размера оперативной памяти и более мощный процессор в должной мере повлияют на эффективность и быстродействие системы.
Для работы с графической системой X Window вам потребуется хотя бы 8 Mбайт оперативной памяти. Если вы планируете запускать несколько одновременно работающих программ, то 16 Mбайт хватит для того, чтобы снизить активность своппирования. В целом же для одного пользователя на машине вполне достаточно 32 Mбайт памяти (сравните с требованиями для спокойной работы в Windows 95/98).
Размер дискового пространства зависит от устанавливаемых программ. Для стандартного набора UNIX-команд и средств администрирования достаточно 10 Mбайт. При установке дистрибутивов RedHat, Debian или другого потребуется от 60 до 600 Mбайт дискового пространства, в зависимости от дистрибутива и установленных программ. Не стоит забывать и о месте под своппинг.
Требования к процессору также очень скромны и в то же время разнообразны - от 386 до Pentium III, при этом не столь важно, кто производитель процессора, подходят как процессоры Intel, так и AMD, Cyrix, Texas Instruments и т. д. Помимо этого Linux можно установить даже на процессор 80286 и ниже, используя специальную версию ядра - ELKS (Embeddable Linux Kernel Subset), однако высокой производительности не стоит ожидать. Существуют реализации Linux для процессоров Amiga и Atari 680x0, DEC Alpha, SPARC, PowerPC, и для архитектур Arm, StrongARM и MIPS.
Относительно архитектур Linux поддерживает шины PCI, ISA, EISA и VLB. Поддержка шины MCA, используемой на машинах класса PS/2, не полная (а в ранних версиях ядра данная поддержка полностью отсутствовала), однако работы по ее улучшению ведутся до сих пор. Следует отметить, что Linux устанавливает более высокие требования к аппаратным средствам, чем DOS, Windows и другие операционные системы. Устройство, без сбоев работающее под управлением какой-нибудь другой, менее требовательной ОС, может вызывать проблемы в Linux.
Linux поддерживает до 1 Гбайт оперативной памяти на платформах Intel.Увеличение оперативной памяти без увеличения кэш-памяти зачастую приводит к снижению быстродействия системы под управлением Linux. Однако для систем с оперативной памятью до 64 Mбайт это не так уж важно, поскольку большинство популярных микросхем поддерживают кэширование 64 Mбайт.
Программное обеспечение для Linux
Часто отказ от перехода на Linux мотивируют малым количеством программного обеспечения под эту систему. Это более чем неправда. Большинство создателей программного обеспечения (за исключением Microsoft) готовят версии своих продуктов под Linux. Существуют компиляторы и интегрированные среды практически всех языков программирования, выполняющиеся под Linux (примером может служить Borland JBuilder 3.0). Разработано множество профессиональных графических пакетов, математических программ (например, Octave по эффективности не уступающий пакету MATLAB), различных реляционных баз данных (Postgres, Ingres, Mbase), игр (от простых MUD и шахмат до Quake 3), офисных программ (к примеру - StarOffice - "ответ Microsoft Office") и многих других.
www.linux.org.ru, просматриваемый броузером Mozilla M12.
В редких случаях, когда аналога или версии программы не удалось найти, можно использовать эмуляторы операционных систем. Существует Linux MS-DOS Emulator, позволяющий выполнять программы MS-DOS. Также подготовлена WINE, работающая под управлением графической системы Linux-X Windows и эмулирующая операционные системы Windows.
Естественно, что работа с приложениями (а в особенности со сложными и требовательными программами) под эмулятором той или иной операционной системы не может сравниться по производительности с исполнением в самой операционной системе. Поэтому бессмысленно запускать под эмулятором, например, какую-нибудь игру, предоставляющую большие запросы к ресурсам системы, или профессиональный графический редактор. Тем более, что некоторые возможности системы нельзя повторить в эмуляторе. В этом случае применяется многовариантный загрузчик (например, System Commander), позволяющий хранить на одной машине несколько операционных систем. В случае с Linux рекомендуется задействовать стандартный загрузчик LILO (LInux LOader). При установке Linux вы сможете указать, на каких разделах диска у вас находится определенная система. Таким образом, можно использовать на одной машине и Linux, и MS-DOS, и Windows 95/98, при этом без проблем работать с файлами всех установленных систем под ОС Linux. При загрузке машины вы сможете выбрать операционную систему.
Где достать Linux?
Ядро операционной системы Linux распространяется свободно, однако ведь система состоит не только из одного ядра - в нее входит масса утилит и инструментальных средств, которые также распространяются свободно или, по крайней мере, имеют свободно распространяемые версии. Набор, состоящий из ядра Linux и всевозможного программного обеспечения для него - как стандартного для большинства дистрибутивов, так и уникального (к примеру, специальные графические оболочки или утилиты настройки ядра), называется дистрибутивом. Некоторые из дистрибутивов распространяются свободно, и их можно скачать из Internet, а некоторые - на коммерческой основе. Дистрибутивы различаются по набору программ - можно выбрать себе наиболее подходящий.
В последнее время дистрибутивы разрослись до сотен мегабайт, и скачивать их из Internet становится дороже, чем просто приобрести на CD-ROM. В сущности, дистрибутивы на CD-ROM бывают двух видов - часть ftp-архива какого-нибудь сервера или специально подготовленный дистрибутив, покупая который вы заодно получаете техническую поддержку (даже у нас, на территории бывшего Союза).
Список FTP-сайтов, содержащих дистрибутивы Linux приведены в таблице 1.
|
На данный момент существует несколько десятков специально созданных дистрибутивов Linux, в том числе и специальные русифицированные версии. Рассмотрим несколько самых популярных вариантов пакетов Linux.
Пожалуй, самым популярным дистрибутивом на данный момент является небезызвестный RedHat. В него входят как программы необходимые для сервера под управлением Linux, так и для домашнего использования. RedHat 6.0 поставляется с двумя графическими средами - GNOME и KDE. Данный пакет рекомендуется и специалистам в области UNIX, и новичкам.
Русифицированным вариантом RedHat является дистрибутив Black Cat. Он создается участниками Донбасской группы пользователей Linux, которые не только локализуют дистрибутив RedHat, но и пишут множество специальных патчей, которые входят позже (после выхода очередной версии Black Cat) в реализацию RedHat. Разработчики ставят своей целью объединение в данном дистрибутиве как программ для администрирования сетей Intranet/Internet, так и для создания мощной мультимедийной рабочей системы. Особенное внимание уделяется применению русского и украинского языка Linux. Дистрибутивы RedHat и Black Cat считаются наилучшим выбором как для профессионалов, так и для новичков, поэтому именно их можно порекомендовать для установки.
К числу русифицированных вариантов RedHat можно отнести дистрибутивы Русский Linux "Красная Шапочка", "Открытое Ядро" и KSI Linux.
Еще одним дистрибутивом, основанным на RedHat, является Mandrake Linux компании Mandrakesoft и его русская версия Mandrake Linux Russian Edition, подготовленная фирмой IPLabs. Цель создания данного дистрибутива - сделать доступной Linux для новичков и непрофессионалов, что достигается простотой его установки и настройки.
Другим, более крупным дистрибутивом, является Debian GNU/Linux. Создатели этого продукта тщательно проверяют программы, представленные на дисках, поэтому Debian можно назвать самым надежным и удобным в администрировании. Он подходит как для серверного, так и для настольного применения. С другой стороны, данный пакет достаточно сложен и рассчитан на профессионалов.
Одним из первых и самых простых на данный момент дистрибутивов Linux является Slackware Linux. Несмотря на некоторые сложности с настройками, этот дистрибутив лучше всего подходит для того, чтобы разобраться с внутренним строением Linux.
Рабочий стол под управлением GNOME и диспетчера окон Enlightenment.
SuSe Linux является одним из самых популярных дистрибутивов Linux в Европе. Он разрабатывался в Германии, поэтому его родной язык - немецкий. Но были сделаны переводы и на другие языки, в том числе и на русский (компанией IPLabs). Фирма SuSe специализируется на разработке X-серверов для графической системы Linux XFree386, поэтому в данном дистрибутиве новые драйвера для видеокарт появляются раньше, чем в других. Помимо этого в дистрибутив входит несколько диспетчеров окон и KDE. SuSe Linux подходит как новичкам, так и профессионалам, однако основной упор делается на профессионалов - программистов и администраторов.
Более подробную и полную информацию об имеющихся дистрибутивах можно найти на сервере www.step.kosnet.ru. Сайты фирм и магазинов, в которых можно приобрести дистрибутивы Linux, приведены в таблице 2.
|
Помимо этого, можно обратиться в местную группу пользователей операционной системы Linux (Linux User Group), региональные адреса которых можно найти на сайте www.lug.ru/.
Помощь по Linux
В Internet существует масса сайтов, содержащих книги и документации по Linux. Официальным является сайт Linux Documentation Project, расположенный по адресу sunsite.unc.edu/LDP/ или www.linuxdoc.org/. Переводы официальной документации, равно как и новости, форумы, советы и прочее можно найти на русскоязычных сайтах. Адреса некоторых из них приведены в таблице 3.
|
Естественно, что обо всем невозможно узнать по предоставляемой документации, а знакомых людей, знающих на должном уровне ОС Linux, может не оказаться. Существует несколько электронных телеконференций USENET, посвященных Linux. Их адреса приведены в таблице 4.
|
Помимо виртуального общения можно, как уже говорилось выше, обратиться в местную группу пользователей ОС Linux. Контактный адрес региональной группы можно узнать на сайте www.lug.ru.
Linux действительно мощная и удобная операционная система, достойная своего предка - UNIX. Причин перехода значительного количества пользователей на операционную систему Linux множество. Linux реально мультизадачная система, программы действительно выполняются параллельно. Помимо этого Linux эффективно работает с сетями. Немалую роль играет и полная открытость его исходных кодов. Вы можете изменять и переписывать ядро и программы под Linux с учетом ваших собственных требований и желаний, позже вы можете обменяться своими работами с другими пользователями Linux. Наконец, самым важным фактором является бесплатное использование Linux, без всякой оплаты лицензий за одно- и многопользовательское употребление. Нет необходимости покупать Linux - достаточно взять его установку из Internet. Малые требования к ресурсам машины и высокая производительность ОС Linux позволяют превратить устаревшие, готовые к списанию компьютерные системы в мощный сетевой сервер, сервер печати или просто рабочую станцию, повысить во много раз эффективность и производительность нового компьютерного оборудования.
С другой стороны, Linux, как и любая другая UNIX-система, является профессиональной операционной системой. Неопытному и неискушенному в компьютерных делах пользователю будет сложнее работать с Linux, чем, к примеру, с Windows9x, не говоря уж о настройке системы. Linux - система для так называемых "продвинутых пользователей". Для эффективной работы вы должны мало-мальски разбираться во внутренней архитектуре компьютера, вас не должно пугать использование командной строки и редактирование системных конфигурационных файлов. Кроме того, для настройки системы вы должны уметь немного программировать (на языке C).
И хотя в противоборстве Windows9x против Linux продукты компании Microsoft пока бесспорно выигрывают, Linux, по мнению многих специалистов в компьютерных системах, является реальным конкурентом и возможным "победителем" Windows NT.