Операционная система Linux. Основные особенности Linux Linux краткое описание

операционная система windows linux

Общая характеристика ОС LINUX

В последнее время российские пользователи ПК все чаще и чаще стали говорить о Linux, как об операционной системе, способной в ближайшем будущем если не вытеснить с рынка Microsoft Windows, то полноценно заменить ее на большинстве домашних персональных компьютеров. Вместе с тем ознакомительной информации о Linux на русском языке крайне мало: большая часть имеющейся в продаже литературы на эту тематику стоит весьма дорого, да и рассчитана она в первую очередь на специалистов и опытных пользователей, отпугивая рядового потребителя обилием технической терминологии. Документация же, представленная в Интернете, отличается заметной разрозненностью и далеко не исчерпывающей полнотой. Именно поэтому в сознании отечественных владельцев ПК Linux представляется чем-то элитным и недоступным, неким таинством, приобщиться к которому суждено лишь немногим избранным. Страх столкнуться с чем-то неизвестным, непонятным, сложным в эксплуатации и настройке останавливает наших соотечественников в инициативе установить и использовать на своем компьютере эту систему. Вместе с тем никакой "высшей математики" здесь нет. Linux - очень простая, надежная и дружественная операционная система.

Совершенствование и эволюция Linux продолжаются по сей день: новые версии ядра, новые оконные менеджеры и новое программное обеспечение для Linux появляются каждый месяц.

Логическая структура Linux в значительной степени отличается от строения MS DOS или известной платформы Microsoft Windows, она наиболее близка к архитектуре другого класса операционных систем, а именно - систем семейства UNIX. Безусловно, большинство российских пользователей, прошедших через стадию Windows 3.11 и миновавших, наконец, Windows 95, привыкли к логике операционных систем в исполнении Microsoft настолько, что нечто новое, непривычное, выходящее из разряда условных рефлексов и утвердившихся в сознании постулатов о том "как работает машина", их просто пугает. Вместе с тем, Linux устроен ничуть не сложнее любой знакомой платформы. Он всего-навсего работает немного по-другому.

Если рассматривать внутреннюю структуру Linux в сравнении с анатомией MS Windows, различия становятся очевидны даже на первый взгляд. По умолчанию Windows устанавливается в один логический раздел диска с файловой таблицей FAT16, здесь хранится и ядро системы, отвечающее за процедуры ввода-вывода данных, и так называемая "оболочка" или shell (файл explorer.exe), определяющая интерпретацию команд и действий пользователя, и, собственно, файлы и библиотеки, формирующие оконный интерфейс Windows. Причем эти три составляющих системы настолько тесно интегрированы друг с другом, что при замене одной из них на аналогичный файл из другой версии Windows, вся система в целом работать не будет. Функции указанных элементов также в значительной степени смешаны между собой: например, некоторые процедуры по формированию интерфейса в Windows выполняет shell. Здесь же хранятся дополнительные системные утилиты, такие как дефрагментатор диска, сервер удаленного доступа, драйвера, а также множество служебных библиотек. В том же самом разделе размещаются пользовательские файлы, и в этой же области система осуществляет свопинг - кэширование не умещающихся в оперативной памяти данных на диск. Иными словами, все компоненты платформы хранятся в одном разделе, что, естественно, не прибавляет ей надежности: достаточно любого незначительного повреждения таблицы данных, чтобы привести Windows в неработоспособное состояние или испортить хранящуюся на диске полезную информацию. Вполне очевидно также и то, что изменить с помощью стандартных средств Windows внешний вид установленных по умолчанию окон не представляется возможным. Это вполне осуществимо методом замены имеющегося shell на другую оболочку, например, LiteStep, либо с помощью специальных утилит вроде WindowsBlinds, которые, загружаясь в фоновом режиме, занимают оперативную память и замедляют работу компьютера.

Из характерных особенностей Linux необходимо перечислить следующие: поддержка национальных клавиатур, в том числе и русской, поддержка множества файловых систем, среди которых, помимо собственной - EXT2FS, имеются FAT16, MINIX-1 и XENIX. Реализация программной поддержки FAT16 позволяет непосредственно обращаться к гибким дискам MS DOS, а также файловым разделам DOS и Windows на винчестере. Имеется возможность работать с сетевыми протоколами TCP/IP, PLIP, PPP и многими другими, в рамках сетевых функций платформы реализован весь спектр клиентов и услуг Интернет: FTP, telnеt, NNTP, SMTP и POP3. Программы загружаются в память постранично, на диск кэшируются только те сегменты данных, которые не используются системой в данный момент, что значительно ускоряет работу приложений. Возможно совместное обращение к страницам памяти разными программами в один и тот же момент времени, это позволяет избежать повторной загрузки идентичных фрагментов информации в RAM и заметно экономит ресурсы компьютера. Как и Microsoft Windows, в Linux применяется система динамических библиотек, иными словами, несколько приложений могут использовать в своей работе библиотеку, представленную на диске одним физическим файлом.

3 Основные характеристики ОС Linux

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

Реальная многозадачность

Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачности", реализованной в Windows 95, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).

Многопользовательский доступ

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

Свопирование оперативной памяти на диск

Свопирование оперативной памяти на диск позволяет работать при ограниченном объеме физической оперативной памяти; для этого содержимое некоторых частей (страниц) оперативной памяти записываются в выделенную область на жестком диске, которая трактуется как дополнительная оперативная память. Это несколько снижает скорость работы, но позволяет организовать работу программ, требующих большего объема ОЗУ, чем фактически имеется в компьютере.

Страничная организация памяти

Системная память Linux организована в виде страниц объемом 4K. Если оперативная память полностью исчерпана, ОС будет искать давно не использованные страницы памяти для их перемещения из памяти на жесткий диск. Если какие-либо из этих страниц становятся нужны, Linux восстанавливает их с диска. Некоторые старые Unix-системы и некоторые современные платформы (включая Microsoft Windows) переносят на диск все содержимое ОП, относящееся к неработающему в данный момент приложению, (т. е. ВСЕ страницы памяти, относящиеся к приложению, сохраняются на диске при нехватке памяти) что менее эффективно.

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

Совместное использование исполняемых программ

Если необходимо запустить одновременно несколько копий какого-то приложения (либо один пользователь запускает несколько идентичных задач, либо разные пользователи запускают одну и ту же задачу), то в память загружается только одна копия исполняемого кода этого приложения, которая используется всеми одновременно исполняющимися идентичными задачами.

Общие библиотеки

Библиотеки - наборы процедур, используемых программами для обработки данных. Существует некоторое количество стандартных библиотек, используемых одновременно более чем одним процессом. В старых системах такие библиотеки включались в каждый исполняемый файл, одновременное выполнение которых приводило к непродуктивному использованию памяти. В новых системах (в частности, в Linux), обеспечивается работа с динамически и статически разделяемыми библиотеками, что позволяет сократить размер отдельных приложений.

Динамическое кеширование диска

Кеширование диска - это использование части оперативной памяти для хранения часто используемых данных с диска, что существенно ускоряет доступ к часто используемым программам и задачам. Пользователи MS-DOS работают со SmartDrive, который резервирует фиксированные области системной памяти для кеширования диска. Linux использует более динамичную систему кеширования: память, зарезервированная под кеш, увеличивается, когда память не используется, и уменьшается, если системе или процессу пользователя требуется больше памяти.

100%-ное соответствие стандарту POSIX 1003.1. Частичная поддержка возможностей System V и BSD

POSIX 1003.1 (Portable Operating System Interface - интерфейс мобильной операционной системы) задаeт стандартный интерфейс Unix-систем, который описывается набором процедур языка Си. Сейчас он поддерживается всеми новыми ОС. Microsoft Windows NT также поддерживает POSIX 1003.1. Linux 100%-но соответствует POSIX. Дополнительно поддерживаются некоторые возможности System V и BSD для увеличения совместимости.

Linux использует технологию IPC (InterProcess Communication) для обмена сообщениями между процессами, использования семафоров и общей памяти.

Возможность запуска исполняемых файлов других ОС

Linux не является первой в истории операционной системой. Для ранее разработанных ОС, включая DOS, Windows 95, FreeBSD или OS/2, разработана масса различного, в том числе очень полезного и очень неплохого программного обеспечения. Для запуска таких программ под Linux разработаны эмуляторы DOS, Windows 3.1 и Windows 95. Более того, фирмой Vmware разработана система "виртуальных машин", представляющая собой эмулятор компьютера, в котором можно запустить любую операционную систему. Имеются аналогичные разработки и у других фирм. ОС Linux способна также выполнять бинарные файлы других Intel-ориентированных Unix-платформ, соответствующих стандарту iBCS2 (intel Binary Compatibility).

Поддержка различных форматов файловых систем

Linux поддерживает большое число форматов файловых систем, включая файловые системы DOS и OS/2, а также современные журналируемые файловые системы. При этом и собственная файловая система Linux, которая называется Second Extended File System (ext2fs), позволяет эффективно использовать дисковое пространство.

Сетевые возможности

Linux можно интегрировать в любую локальную сеть. Поддерживаются все службы Unix, включая Networked File System (NFS), удалeнный доступ (telnet, rlogin), работа в TCP/IP сетях, dial-up-доступ по протоколам SLIP и PPP, и т. д.. Также поддерживается включение Linux-машины как сервера или клиента для другой сети, в частности, работает общее использование (sharing) файлов и удаленная печать в Macintosh, NetWare и Windows.

Работа на разных аппаратных платформах

Хотя ОС Linux первоначально была разработана для ПК на базе Intel 386/486, сейчас она может работать на всех версиях Intel-овских микропроцессоров, начиная с 386 и кончая многопроцессорными системами на Pentium III (с Pentium IV возникли определенные трудности, но, судя по сообщениям в Интернете, они были вызваны ошибками в реализации процессора). (Примеч.3) Так же успешно Linux работает на различных клонах Intel от других производителей; в Интернете встречаются сообщения о том, что на процессорах Athlon и Duron от AMD Linux работает даже лучше, чем на Intel. Кроме того, разработаны версии для других типов процессоров - ARM, DEC Alpha, SUN Sparc, M68000 (Atari и Amiga), MIPS, PowerPC и других (отметим, что в настоящей книге рассматривается только вариант для IBM-совместимых компьютеров).

Количество частных пользователей различных версий Linux"а точно оценить невозможно - ведь дистрибутивы этой системы, в отличие от полностью коммерческих программ, можно совершенно безвозмездно получить у друзей или некоммерческих дистрибуторов, а также скачать с FTP-серверов тех же самых фирм, которые успешно торгуют Linux"ом. Совершенно немыслимая в понятиях обычного капитализма схема работает и устраивает всех участников.

Скоро сказка сказывается, да не скоро дело делается. Операционная система Linux стала известна широкой публике не более двух лет назад. Те, кто давно интересуется новостями из мира высоких технологий и общается время от времени с представителями породы «сумасшедший программист» (в англоязычном варианте - geek или nerd), знакомы со словом Linux года эдак с 95-го. Неудивительно, что сегодняшний успех Linux на многих фронтах - от коммерческого до «идеологического» - многим кажется поразительно, невероятно быстрым. Наберите в окошке запроса на altavista.com слово Windows - и получите 8 670 139 ссылок. На слово Linux их выскочит 2 989 363. Восемь месяцев назад соотношение было примерно равно 6 500 000 на 900 000. Вполне примечательно, не правда ли? Так откуда этот Linux взялся и почему он успешен? Кто дернул за веревочку? Чему и почему мы рукоплещем? Давайте на секунду вернемся на тридцать лет и возьмем разбег - так будет проще. Вся эта история началась задолго до того, как мир узнал о Линусе Торвальдсе, создателе самого, пожалуй, успешного программистского проекта последнего десятилетия. В 1971 году молодой программист и исследователь Ричард Столлмен начал работать в знаменитом Массачусетском Технологическом институте. В те времена, в эпоху «больших компьютеров», программное обеспечение зачастую разрабатывалось свободными объединениями программистов и бесплатно передавалось другим нуждающимся в нем пользователям. Нередко этим занимались даже крупные фирмы. Такой фирмой, например, была AT&T, а точнее, Bell Labs. Ей было запрещено вести коммерческую деятельность в компьютерной области, и поэтому разработчики операционной системы Unix Кен Томпсон (Ken Thompson) и Деннис Ричи (Dennis Ritchie) высылали желающим магнитные ленты с «исходниками» Unix со своего места работы только за стоимость расходных материалов. К 1983 году положение изменилось - наступила эра персональных компьютеров, коммерческие программы и операционные системы (в частности, DOS от Microsoft) начали свое победное шествие по миру, и ржа корыстолюбия проникла в мир «больших» машин и «серьезного» программирования. И потому Столлмен, опечалившись в сердце своем, основал проект GNU (www.gnu.org), целью которого было вернуть старые добрые времена. GNU – это UNIX-совместимая система, включающая в себя набор «свободного» (или «открытого») программного обеспечения.

На основополагающем понятии «свободного» программного обеспечения стоит остановиться подробнее. В манифесте GNU отличию «свободных» программ от «бесплатных» уделено очень много места - по-русски же это можно сказать гораздо короче, поскольку эти понятия не обозначаются, как в английском, одним словом «free». Получив в пользование или купив «свободную» программу, вы можете:

сколько угодно копировать, как угодно широко ее распространять;

изменять или совершенствовать ее исходный код (программа, распространяемая по «публичной лицензии» GNU, всегда поставляется вместе с исходным кодом разработчика - этой самой строго охраняемой и никогда не раскрываемой частью коммерческих программ);

наконец, вы можете свободно распоряжаться измененной версией - хоть раздавать ее даром, хоть запрашивать за нее миллиард.

Но на одну вещь пользователь такого программного обеспечения не имеет права ни в коем случае. Он не может при дальнейшем распространении скрыть исходный код программы, объявив себя его «владельцем», и остановить таким образом ее, программы, свободное совершенствование и развитие. Специально для таких программ проект GNU ввел в обиход понятие «copyleft» (в отличие от «copyright», когда создатель продукта сохраняет на него практически все авторские и имущественные права при любых обстоятельствах - даже если и распространяет его совершенно бесплатно). Очевидно, что проблемы пиратства в случае со «свободными» программами просто не существует.

GNU успешно существует до сих пор. Не менее успешно существует и изобретенная Столлменом лицензия GPL (General Public Licence), благодаря которой придуманный Линусом Торвальдсом Linux завоевал за четыре года своего существования более 20 миллионов пользователей.

К концу прошлого года количество веб-серверов, «крутящихся» под управлением этой операционной системы, превысило количество серверов на Windows-платформе. Количество же частных пользователей точно оценить невозможно - ведь дистрибутивы Linux, в отличие от полностью коммерческих программ, можно совершенно безвозмездно получить у друзей или некоммерческих дистрибуторов, а также скачать с FTP-серверов тех же самых фирм, которые успешно торгуют Linux"ом. Совершенно немыслимая в понятиях обычного капитализма схема работает и устраивает всех участников. Сам Линус Торвальдс три года назад переселился из Финляндии в США, в город Санта-Клара в Калифорнии, поступив на работу в загадочную компанию Transmeta (ее микропроцессоры - тема для отдельного рассказа). Но работу над ядром Linux"а Линус не оставляет, новые версии выходят с завидной регулярностью, только теперь ему помогают в совершенствовании Linux"а - в полном соответствии с принципами GNU - не десятки, а тысячи разработчиков по всему миру.

Биллом Гейтсом Линусу не бывать. Да он и не стремится - его не привлекают ни власть, ни деньги (по крайней мере, в таком объеме). Впрочем, на нарождающемся - да что там, уже родившемся - рынке «свободного» программного обеспечения получить сверхприбыли в стиле Microsoft вряд ли кому удастся. Нет, скажем так - сверхприбыли по-прежнему возможны, поскольку спрос на программное обеспечение только растет. Но вот распределяться они будут несколько иначе.

Итак, настала пора вплотную, почти под микроскопом (насколько позволяют рамки этого издания) рассмотреть бизнес-модель производства и распространения «свободного» программного обеспечения. На первый, «замыленный», взгляд, она кажется вовсе невозможной или, по крайней мере, совершенно бездоходной для участников производственного процесса. На самом же деле в ней нет абсолютно ничего коммунистического. Порывы энтузиазма разработчиков, которые на первый взгляд кажутся абсолютно альтруистическими, и вопли восторга со стороны потребителей, которые кажутся проявлением бездумного фанатизма, на деле основаны на трезвом экономическом расчете. И мы сейчас это продемонстрируем. Для начала придется еще раз подчеркнуть, что никакого отдельного «феномена Linux» в природе не существует. Успех Linux - лишь частный случай кардинальной и, вполне возможно, бесповоротной смены бизнес-модели в программной сфере. Ведь Линус был не единственным, кто раздавал свою программу совершенно бесплатно и получил взамен 20 миллионов пользователей. Можно припомнить некоего системного администратора, работавшего в компании, производившей веб-серверы, - он всего лишь создал список рассылки «заплаток» к бесплатному серверу Apache, который его создатели перестали поддерживать. Прошло несколько лет, этот сервер - по-прежнему бесплатный, у него до сих пор нет «хозяина», ответственного за его техническую поддержку (и не будет!), - однако он обслуживает более чем 60 процентов веб-сайтов планеты. А компании, тратившие на рекламу и продвижение своих коммерческих веб-серверов сотни миллионов долларов, и не чают отвоевать долю рынка, сравнимую с долей «ничейного» сервера Apache. Таких примеров можно набрать целую охапку - ведь практически все программные стандарты, на которых зиждется Интернет, основаны на программах с «открытыми текстами». Так, никому не принадлежащий транспортный протокол TCP/IP давно победил «закрытые» и принадлежащие разным корпорациям DECNET"ы, XNS"ы и прочие IPX"ы. Да что далеко ходить - самый важный в мире комитет по компьютерным стандартам состоит из всех и любых желающих присоединиться к спискам рассылки, собирающихся (кто может) трижды в год на специальные встречи.

Всего лишь года полтора назад бесполезно было спрашивать у руководителя крупной западной компании, использует ли он «свободное» программное обеспечение с открытыми исходными текстами. Вот бы он возмутился! «Оно недостаточно отлажено», «для него нет никакой технической поддержки», «у него нет коммерческой ценности». Российский руководитель скажет и сейчас ровно то же самое (автор этих строк знаком с этим по личному опыту). А вот западный - уже нет.

Первой ласточкой стала в январе 1998 года компания Netscape Communications, опубликовавшая исходные коды своего главного продукта - броузера Navigator (www.mozilla.org). Напомню, что к тому моменту компания Microsoft, куда позже своего соперника обнаружившая коммерческий потенциал Интернета, начала оказывать мощное давление на Netscape, стремительно вытесняя ее с рынка. Решение руководителей Netscape тогда казалось многим последним, продиктованным отчаянием шагом. Позже оказалось, что это было единственно верным решением. Правда, сама компания теперь принадлежит корпорации AOL, но рыночная доля продуктов Netscape - что серверов, что броузеров - осталась практически неизменной и по-прежнему приносит AOL прибыль.

Несколько месяцев спустя большие корпорации, столпы компьютерного бизнеса (Corel, Informix и Oracle), объявили о переносе своих продуктов под операционную систему Linux. Сразу вслед за этим могущественная IBM включила «открытый» сервер Apache в состав одного из своих пакетов. Наконец, в сентябре 98 года Intel, Netscape и несколько венчурных капиталистов вложили деньги в Red Hat Software, распространяющую дистрибутивы Linux (десять месяцев спустя Red Hat станет одним из самых ошеломляющих коммерческих успехов года). Наблюдающие за этими переменами журналисты вдруг вспомнили о том, что большинство почты в Интернете пересылается с помощью «открытого» и бесплатного sendmail, на самых крупных сайтах Повсеместно Протянутой Паутины используются «открытые» языки программирования Perl, Tcl и Python. А самые любознательные обозреватели надоумили читателей, что и весь Интернет в целом первоначально был создан для того, чтобы сообщество независимых разработчиков могло быстро и с удобством обмениваться текстами программ. Так что лишь сам термин «open source» («открытые исходные тексты») является относительно молодым (его ввел в обиход два года назад известный разработчик и апологет «открытых» программ Эрик Рэйнольдс), а вот модель присутствия такого программного обеспечения на рынке отнюдь не нова.

Можно отвлечься от Интернета (который все же является особой средой) и вспомнить, как обстояло дело на рынке операционных систем четверть века назад. Тогда IBM (как сейчас Microsoft и некоторые другие фирмы, изо всех сил цепляющиеся за «закрытое» программное обеспечение с намертво засекреченным исходным кодом) не уловила вовремя, что время аппаратного обеспечения и уникального оборудования на заказ безвозвратно минуло, что публике теперь интереснее «массовое» программное обеспечение и «массовые» железки. Во времена расцвета могущества IBM «ценз» на вхождение в бизнес был необычайно высок, но с появлением платформы персональных компьютеров и выпуском первой «открытой» операционной системы (Unix) правила резко изменились, упомянутый порог снизился и погоду в отрасли стали делать зеленые новички (тот же Билл Гейтс), а «закрытые» операционные системы прошлого, безраздельно царствовавшие на рынке (вроде Apollo), безвозвратно канули в прошлое. Развитие всегда идет по спирали. Microsoft, превратившись в громадную империю, весьма неосмотрительно повела себя, ровно как IBM много лет назад, - выставила высоченный барьер на вхождение в бизнес и не только обезопасила себя (временно) от конкурентов, но и лишила себя саму свободы маневра. И тут случился очередной виток спирали - усилиями Рейнольдса, Торвальдса и руководителей Netscape в обиход вновь, после долгого перерыва, была введена концепция «открытого» программного обеспечения, которая станет могильщиком многих из нынешних титанов, снова сильно снизив порог «вхождения» в бизнес. И многие из титанов понимают это, переходя на сторону противника. Поклонники «открытого» программного обеспечения не пытаются победить Microsoft в ее собственной игре: вместо этого они меняют саму суть игры. По выражению Тима О"Райли, одного из самых видных идеологов движения «открытого» ПО, «реальная наша миссия - не в том, чтобы заменить на настольных системах доминирующую там Microsoft, а скорее в том, чтобы построить такую модель бизнеса, которая бы напоминала лозунг «Intel Inside», но для следующего поколения компьютерных приложений».

На чем основана эта уверенность в своих силах? На том, что во многих ситуациях производство «открытого» и оттого во многих случаях бесплатного программного обеспечения оказывается более выгодным, чем «закрытого», с охраняемым пуще глаза исходным кодом. Приведем сначала теоретический пример, закрепив его воспитательное воздействие рядом практических. Предположим, что вы поступили на работу в фирму, которой понадобилась какая-то специфическая программа для проведения, скажем, платежей через веб. Проблему написания собственно кода никак не изменит факт «открытия» или «закрытия» кода. Возможно, сохранить его в тайне и имеет смысл - если вы хотите продать эту программу еще раз или боитесь, что ее используют конкуренты фирмы-нанимателя. При этом первый вариант не слишком вероятен (90 процентов программ пишется фирмами для внутреннего использования), а второй стоит изучить подробнее. Тут стоит определиться, превалируют ли минусы (в случае, если «открытой» программой стал пользоваться конкурент) над плюсами (обретение практически безграничной и долговременной поддержки программистского сообщества). Многие возразят, что «открытие» программы в данном случае означает выбрасывание на ветер денег, потраченных на ее создание; однако это ложная связь, эти деньги пришлось бы потратить в любом случае. Тот же Эрик Рэйнольдс в своей книге «Магический котелок» приводит реальный пример ситуации такого рода - два программиста были наняты известной компанией Cisco для написания распределенного принт-сервера. Работа была выполнена, и тут они сообразили, что вовсе не намерены оставаться в Cisco на всю жизнь. Между тем известно, что любая программа, особенно специфическая, нуждается в сопровождении и поддержке. А компания Cisco, естественно, не ожидала, что принт-сервер остановится через месяц после их ухода. И тогда они решились убедить менеджера... опубликовать в Интернете исходные тексты программы. Тот поломал свои убеждения о колено и разрешил; в итоге Cisco смогла без потерь перенести уход двух программистов - ведь теперь принт-сервером пользовался еще целый ряд компаний и частных лиц, к которым в любой момент можно было обратиться за помощью.

А вот другой классический пример из совершенно другой области программной индустрии - игровой. И игра, о которой пойдет речь, тоже классическая - Doom (Id Software). В 1993 году, когда она появилась, для Id было экономически выгодно держать коды закрытыми. Во-первых, они сильно опередили свое время и не могли позволить себе выдавать конкурентам суперсовременное оружие. Во-вторых, сама программа не была так называемым критичным приложением, бизнес покупателей от нее никак не зависел. В третьих, игры в принципе не слишком сложны, и с багами по мере их обнаружения вполне могла справиться команда Id. Но шло время, и конкуренты стали поджимать; появилось множество игр, сильно похожих на Doom; доля рынка существенно сократилась. Doom необходимо было постоянно обновлять, «прикручивать» к нему сетевую поддержку, писать сценарии и пр. Дело кончилось тем, что в 1997 году Id выложила исходные тексты Doom в открытый доступ. Программисты фирмы получили время на то, чтобы заняться новыми играми, а сама Id - поддержку тысяч независимых разработчиков, резко увеличившееся количество пользователей и возможность без особого напряжения зарабатывать деньги на вторичном рынке (продажа сборников сценариев и пр.). Сейчас, кстати, Doom входит во многие стандартные дистрибутивы Linux.

Наконец, третий классический пример - дистрибуторы собственно ОС Linux. Это, в первую очередь, компания Red Hat, занимающая почти 90 процентов на Linux-рынке США. В отличие от той же Microsoft, эта компания не торгует ПО, не «продает биты». Она распространяет Linux (в пакете с сотнями других программ) бесплатно, а деньги берет исключительно за свой брэнд, помощь в инсталляции и обещание технической поддержки и исключительно с тех, кто хочет за это заплатить. Ведь можно получить все то же самое и совершенно бесплатно. Обычно за несколько дней до официального релиза очередной версии Red Hat ее уже можно скачать с публичных FTP-серверов (обратите внимание - абсолютно легально!). Red Hat ничего не имеет против этого, ибо в противном случае тут же лишится поддержки независимых разработчиков. Взамен компания получает куда больше - взрывообразное увеличение линукс-рынка и миллионы клиентов, нуждающихся в ее услугах по поддержке этой ОС и в ее профессиональных консультациях. Red Hat стала публичной компанией (то есть пустила свои акции в свободный оборот на бирже) менее года назад, и в первый же день торгов стоимость акций подскочила до небес, а всего за восемь месяцев акционеры Red Hat стали богаче на 1900 процентов (общая стоимость компании достигла 17 миллиардов долларов). Этой компании явно приносит деньги ее системообразующая роль на рынке. И не только ей. Стоило владельцам сайта Salon.Com заявить о том, что они будут поставлять новости для сайта Red Hat.Com, как за несколько часов биржевая стоимость их акций возросла вдвое. Совсем недавно пришло известие о том, что до сего времени убыточный торговец серверами с ОС Linux компания VALinux поставила абсолютный рекорд в американской биржевой истории - в первый же день торгов ее акции повысились в цене на 711 процентов. Наконец, компания Andover.Net, владеющая культовыми ресурсами линуксоидов Slashdot.Org и Freshmeat.Net, за полгода торгов на бирже прибавила в стоимости в десять раз, пока ее буквально в тот момент, когда писались эти строки, не выкупила с гигантской переплатой (почти за миллиард долларов) та же VALinux, получив за свои деньги несколько сайтов, чей совокупный доход не превышает 3 миллионов долларов в год. Да что же это деется?

Обыкновенная история - инвесторы покупают не столько свои акции, сколько свои надежды на дальнейшее взрывообразное расширение рынка. А за надежду можно много заплатить. К тому же, не исключено, что они окажутся правы не только сейчас (на спекуляциях Linux-акциями уже делаются гигантские состояния), но и в долговременной перспективе. Судите сами: еще в 1952 году замечательный писатель Роберт Хайнлайн заметил, что существуют четыре способа экстраполяции экспоненциальной кривой. Возьмем, например, гипотетическую ОС под условным названием Linux, удваивавшую свою долю рынка каждые шесть месяцев на протяжении 10 лет. Что же скажут по этому поводу четыре предполагаемых аналитика?

Консерватор предскажет сохранение status quo в течение ряда лет, а потом плавное снижение до, скажем, 1 процента рынка.

Смелый аналитик предположит дальнейшее увеличение, быстро сходящее на нет, и остановку на уровне 5 процентов.

Очень-очень смелый аналитик решит, что эту компанию ждет линейное увеличение доли рынка, которая даст 5 процентов через десять лет, 10 процентов через 20 и т.д.

И, наконец, единственно правильный с математической точки зрения способ продолжить экспоненту - это ее продолжить. В таком случае 2,5 процента рынка превращаются в 100 через два с половиной года.

В каждой шутке есть доля правды - доля рынка Linux перевалила через 5 процентов и приближается к заветному пределу в 10. Обычно в этот момент на подножку вагона счастливца начинают запрыгивать попутчики - именно этот процесс мы и наблюдаем последние несколько месяцев. Когда голливудская компания Digital Domain получила контракт на разработку спецэффектов для фильма «Титаник», стало ясно, что имеющихся в ее распоряжении 350 рабочих станций SGI (от знаменитой Silicon Graphics) явно не хватит для исполнения заказа. Докупили еще 160 машин на платформе Alpha, оборудованных Линуксом, которые, по полученным результатам, были оценены специалистами выше, чем SGI, традиционно применяемые для такого рода работ. Впрочем, результаты в данном случае могли оценить не только специалисты, но и половина населения планеты. А SGI недавно объявила о полной поддержке ОС Linux. Корпоративными членами объединения Linux International стали такие почтенные игроки компьютерного рынка, как Sun, IBM Software Solutions, Compaq. Линукс устанавливают на своих серверах крупнейшие производители компьютерного оборудования (например, Hewlett Packard). О программной поддержке Линукса объявили два лидера в производстве СУБД (систем управления базами данных) Oracle и Informix. Гигант Corel не только активно торгует пакетом WordPerfect для ОС Linux, но и распространяет саму операционную систему. В общем, стоит только в биржевом зале NYSE произнести слово Linux, как у всех присутствующих сразу перехватывает дыхание в предвкушении чуда.

Есть много различных и одна из них - "Линукс". Что такое и где используется она? Как она устроена? Какие отличия от привычной большинству людей "Виндовс" здесь есть? "Линукса"? На все эти вопросы будут даны ответы в рамках статьи.

Чем является "Линукс"

Это операционная система, относительной которой у вас есть широкий выбор по программному обеспечению, что будет устанавливаться. В ней можно выбирать между несколькими типами рабочих столов и где-то дюжиной оболочек для командной строки. Последняя, кстати, называется терминалом и играет очень важную роль. Благодаря ориентации на выполнение нескольких программ сразу операционная система относительно мало подвержена сбоям. Благодаря тому, что никакая программа по умолчанию не может запуститься без ведома пользователя, встретить вирус, написанный под Linux, очень сложно (хотя и возможно). Но если они и заражают компьютеры, то исключительно из-за того, что пользователем было запущено подозрительное приложение. Некоторые образцы данной системы могут спокойно размещаться и работать через оптические приводы или USB.

История разработки

Linux по-русски звучит как "Линукс", то есть не переводится. А знаете, почему так? Всё из-за того, что он назван в честь своего основателя-первопроходца - Линуса Торвальдса. Представил он обществу своё творение в 1994 году (хотя разработка начиналась ещё в 1991). Благодаря тому, что операционная система обладала открытым кодом, и каждый мог её доработать, у него появились последователи по всему миру. Ею начинают интересоваться различные фирмы, которые выпускают платные дистрибутивы. Одновременно возникают сообщества разработчиков, которые на волонтерских основаниях создают и распространяют свои сборки. И на 2016 год существует около десятка популярных версий операционных систем "Линукс". Что такое положение дел нам сообщает? Это значит, что есть сильнейшая конкуренция, взаимопомощь (как бы это странно ни звучало) и разнообразие. Кроме популярных версий, широко применяются и менее распространённые, которые часто нацелены на выполнение определённого спектра задач. И сейчас, если вас интересует русский "Линукс", знайте, что скачать его - не проблема. А для других есть русификаторы, которые переведут хотя бы часть обозначений.

"Линукс" и "Виндовс": какие отличия

На первый взгляд данные внешне не сильно отличаются. Но это не так. Отличия есть, но, чтобы увидеть их, необходимо заглянуть «поглубже». Основное внимание получит Linux, но, чтобы вы представляли, что и как, и будет проводиться сравнение с Windows. Нами будут рассмотрены:

  1. Файловая система.
  2. Графическая оболочка.
  3. Конфигурация системы.
  4. Сфера применения.

И в завершение будет немного уделено внимания дистрибутивам.

Файловая система

Первоначально необходимо отметить, что нет жестких дисков в обычном понимании в "Линукс". Что такое положение дел говорит вам в первую очередь? Сложно? Отнюдь! Логические разделы и физические диски сохранятся, только здесь они будут представлены каталогами. Операционная система подключается к какой-то папке, и всё, что создаётся - попадает в неё. Вестись работа может только с файлами, что находятся в ней. Самая главная папка - это корневая. Она обозначается знаком /. Для примера, файлы пользователей обычно хранят в /home/username/. Но по своему желанию можно менять расположение практически всего, чего угодно. Сложно ли перемещаться по такой конструкции?

Графическая оболочка

На первых порах после Windows может показаться, что перемещение неудобное. Но это только при использовании терминала. Есть и графические оболочки, с помощью которых можно работать с привычным интерфейсом. Терминал, кстати, используют или на серверах, или очень продвинутые люди с хорошей памятью. Графически оформленная оболочка же подходит для всех остальных, а также тех, кто просто не хочет запоминать точные каталоги информации. Система "Линукс" может предстать в самых различных видах. Может быть настроено несколько вариантов рабочего стола, а уже графическое оформление для них - исчисляется в сотнях вариаций.

Конфигурация

У Windows данная информация находится в системном реестре, который является определённой базой данных. Она необходима, чтобы запускаемые в операционной системе программы правильно конфигурировались при своей загрузке и в начале работы. В ней, если повреждён реестр, то поможет только полная переустановка. Хотя в этом есть и преимущество - всё находится в одном месте. Но Linux пошла по другому пути. В ней каждая программа является обладательницей отдельного конфигурационного файла (а порой даже и нескольких). Они могут быть просмотрены или отредактированы произвольным текстовым редактором. Если есть несколько файлов, то это имеет свои преимущества - так при повреждении одного из них будет потеряна только часть наработок. И переустанавливать в худшем случае придётся только отдельную программу. Когда пользователь решит сменить используемый компьютер, то ему не обязательно начинать всё с начала. Необходимые файлы он может просто скопировать между машинами (напрямую или с помощью носителя). А что делать, если повредилась операционная система? В этом заключено важное преимущество, которым обладает "Линукс". Операционная система нуждается в переустановке, и вам необходимо её выполнить. А вот настройки файлов после этого процесса сохранятся и не пропадут. Хотя тут есть один маленький недостаток - каждая программа обладает своим форматом конфигурационных файлов, и необходимо будет хорошо разобраться, что и как, прежде чем редактировать.

Сферы применения

Мы поговорили про это и чем она отличается от привычной большинству пользователей системы Windows. А сейчас давайте уделим внимание сферам ее использования. Применение, увы, она найдёт не везде. Так, "Линукс"-сервер или домашняя/офисная рабочая станция - здесь она близка к идеалу. Дело в том, что для данной операционной системы существует не много портированных или созданных игр. Также существуют отдельные программы с запуском графическим пакетов Adobe и сложных инженерных программ (вроде AutoCAD, MatLAB и им подобных). Но с помощью эмуляции данную проблему в большинстве случаев можно решить. Далеко не всегда людям необходим компьютер, который решает специфические задачи. Поэтому предлагаю ознакомиться с кратким списком возможностей системы, и если она делает то, что нужно, можете попробовать её на практике и не быть разочарованным:

  1. Система может составлять офисные документы, электронные таблицы, различную документацию и обрабатывать тексты.
  2. Возможным является просмотр и редактирование изображений и фотографий.
  3. Можно прослушивать музыку и просматривать видео.
  4. В системе можно играть в игры - но, как правило, в очень простые.
  5. Осуществлять коммуникационные процессы через интернет (в этом плане "Линукс" на голову выше за Windows).
  6. Удобно программировать.
  7. Можно исследовать просторы интернета.
  8. Удобно удалённо управлять операционными системами (любыми).
  9. Доступными являются различные программы обмена сообщениями и электронная почта.
  10. Удобно реализован обмен файлами.
  11. Бесплатность операционной системы
  12. И под конец - вирусы здесь существуют в качестве мифа. По крайней мере, автор не встретил ни одного за всю свою жизнь.

Про дистрибутивы

Уже хотите себе русский "Линукс"? Тогда необходимо сказать немного о дистрибутивах. С одной стороны сложно сказать, что перед нами разные операционные системы. Но с другой - никто не докажет обратное. Вы можете выбрать желаемый язык и географическую ориентированность, что поможет сделать более удобной "Линукс". Русская версия, французская, бразильская - выбор за вами. С помощью операционной системы можно серьезно заняться изучением иностранных языков. Но давайте о дистрибутивах. Главные их отличия - это расположение программ в файловой системе. Нельзя сказать, что один дистрибутив удобнее другого. Всё зависит от задач, которые стоят перед вами. Так, можно установить одну версию, в которой можно только программировать, и существует слабая поддержка интернета (загружаются только текстовые составляющие). Такой вариант подойдёт для тех, кто не может сконцентрироваться на работе и постоянно отвлекается. Есть и такие, которые позволят наилучшим образом настроить мощности, чтобы получить оптимальную производительность машины. Выборов уйма, и только вам останавливаться на одном из них.

Linux - это полная многозадачная многопользовательская операционная система (точно также как и другие версии UNIX). Linux достаточно хорошо совместим с рядом стандартов на уровне исходных текстов, включая IEEE POSIX.1, System V и BSD.

Другие специфические внутренние черты Linux включают контроль работ по стандарту POSIX (используемый оболочками, такими как csh и bash), псевдотерминалы (pty), поддержку национальных и стандартных клавиатур динамически загружаемыми драйверами клавиатур.

Ядро может само эмулировать команды 387-FPU, так что системы без сопроцессора могут выполнять программы, на него расчитывающие (т.е. с плавающей точкой).

Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы, такие как файловая система ext2fs, были созданы специально для Linux. Поддерживаются также другие типы файловых систем, такие как Minix-1 и Xenix. Реализована также файловая система MS-DOS, позволяющая прямо обращаться к файлам MS-DOS на жестком диске. Поддерживается также файловая система ISO 9660 CD-ROM для работы с дисками CD-ROM.

Linux обеспечивает полный набор протоколов TCP/IP для сетевой работы. Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet, NNTP и SMTP.

Ядро Linux сразу создано с учетом специального защищенного режима для процессоров Intel 80386 и 80486. В частности, Linux использует парадигму описания памяти в защищенном режиме и другие новые свойства процессоров.

Для увеличения объема доступной памяти Linux осуществляет также разбиение диска на страницы: то есть на диске может быть выделено до 256 Мбайт "пространства для свопинга" (swap space). Когда системе нужно больше физической памяти, то она с помощью свопинга выводит неактивные страницы на диск. Это позволяет выполнять более объемные программы и обслуживать одновременно больше пользователей. Однако свопинг не исключает наращивания физической памяти, поскольку он снижает быстродействие, увеличивает время доступа.

Ядро также поддерживает универсальный пул памяти для пользовательских программ и дискового кэша. При этом для кэша может использоваться вся память, и наоборот, кэш уменьшается при работе больших программ.

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

Linux на сегодняшний день - самая распространенная бесплатная операционная система с открытым исходным кодом. При ее разработке из мира семейства UNIX старались взять все лучшее. Благодаря участию десятков тысяч разработчиков программного обеспечения и координации их действий через Интернет Linux и программное обеспечение для нее развивается очень динамично, ошибки и различные проблемы в программном обеспечении, как правило, исправляются в считанные часы после их обнаружения. Большую помощь в развитии и распространении Linux и сопутствующего, ему программного обеспечения оказали фонд Свободного программного обеспечения (Free Software Foundation, USA) и лицензия GNU (The GNU General Public License, Универсальная общественная лицензия GNU) для программного обеспечения. На сегодняшний день существует одно ядро Linux, разработку которого координируют его создатели Линус Торвальдс и Алан Кокс, и множество дистрибутивов (не менее 2-3 десятков), отличающихся как функциональным назначением, так и составом программного обеспечения, входящим в дистрибутив. Существуют дистрибутивы, занимающие десяток компакт-дисков, и дистрибутивы, умещающиеся на одной-двух дискетах. Все, что справедливо для семейства UNIX -- справедливо и для Linux. Широчайшая поддержка аппаратных платформ, малая требовательность к аппаратным ресурсам (процессор 486, 8 Мбайт оперативной памяти, винчестер120 Мбайт). Масштабируемость, поддержка мультипроцессорных систем, кластеризация, поддержка распределенных вычислений, десятки графических оболочек -- и это далеко не все. Поддерживаются десятки файловых систем, родная файловая система Ext2. И при всей мощи -- достаточно дружественная операционная система, способная работать как на мощнейшем сервере, так и на стареньком "пентиуме" где-нибудь в офисе.

свободного программного обеспечения . Аббревиатура GNU открывается рекурсивно - GNU"s Not Unix, т. е. то, что принадлежит проекту GNU, не является частью Unix (потому что к тому времени даже само слово UNIX уже было зарегистрированной товарной маркой, т. е. перестало быть свободным). В "Манифесте GNU", который был написан в 1985 г., Р. Столлман в качестве главной движущей силы, которая привела к возникновению FSF и проекта GNU, ставит свое неприятие прав собственности отдельных людей на программное обеспечение.

То, что разрабатываемое в рамках проекта GNU ПО свободно, не означает, что оно распространяется без лицензии и никак не защищено в юридическом смысле. Программы, разрабатываемые в рамках движения Open Source , распространяются на условиях лицензии General Public License(GPL). Если сказать очень кратко, то суть этой лицензии состоит в следующем. Программное обеспечение, распространяемое под этой лицензией, можно как угодно дорабатывать, модифицировать, передавать или продавать другим лицам при условии, что результат такой переработки тоже будет распространяться под лицензией copyleft . Последнее условие - самое важное и определяющее в этой лицензии. Оно гарантирует, что результаты усилий разработчиков свободного ПО останутся открытыми и не станут частью какого-либо лицензированного обычным способом продукта. Оно также отличает свободное ПО от ПО, распространяемого бесплатно. Говоря словами создателей FSF , лицензия GPL "делает ПО свободным и гарантирует, что оно останется свободным".

Практически все ПО, распространяемое на условиях GPL, является почти бесплатным для пользователей (в большинстве случаев для того, чтобы получить его, Вы должны заплатить только за CD-ROM-диск с ПО или за трафик выхода в Интернет). Это не означает, что программисты перестают получать вознаграждение за свой труд. Основная мысль Р. Столлмана состоит в том, что нужно продавать не программное обеспечение, а труд программиста как такового. Например, источником дохода может быть сопровождение программных продуктов или их установка и конфигурация для внедрения на новых компьютерах и/или в новых условиях, преподавание и т. д. Хорошим вознаграждением может быть и получение автором свободных программ определенной известности, которая позволит ему в последующем получить высокооплачиваемую работу.

В рамках движения Open Source , и в частности проекта GNU, было разработано значительное количество программ, наиболее известными из которых являются редактор Emacs и компилятор GCC (GNU C Compiler) - самый лучший и по сей день компилятор языка C. Открытость исходных кодов программ оказывает очень благотворное влияние на качество программного обеспечения: все лучшее, все новые идеи и решения сразу же широко распространяются, а все ошибки замечаются и быстро устраняются. Начинает работать механизм естественного отбора, который подавлен в том варианте подхода к распространению программ, который практикуется в коммерческом ПО.

Но вернемся к истории собственно Linux. Надо сказать, что разработка Линуса Торвальдса представляла собой только ядро операционной системы. Это ядро "упало на подготовленную почву", в том смысле, что в рамках проекта GNU уже было разработано большое количество утилит разного рода. Но для превращения GNU в полноценную ОС не хватало ядра. Разработка ядра велась (оно называлось Hurd), но по каким-то причинам задерживалась. Поэтому появление разработки Л. Торвальдса было очень своевременным. Оно ознаменовало рождение операционной системы, распространяемой с открытыми исходными кодами.

Р. Столлман, конечно, прав, когда настаивает на том, что операционная система Linux должна называться GNU/Linux. Но так уж сложилось, что название ядра стало служить названием всей операционной системы, и мы в этой книге будем поступать так же.

Основные характеристики ОС Linux

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

Реальная многозадачность

Все процессы независимы; ни один из них не должен мешать выполнению других задач. Для этого ядро осуществляет режим разделения времени центрального процессора, поочередно выделяя каждому процессу интервалы времени для выполнения. Это существенно отличается от режима "вытесняющей многозадачности", реализованной в Windows 95, когда процесс должен сам "уступить" процессор другим процессам (и может сильно задержать их выполнение).

Многопользовательский доступ

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

Поделиться