Операционная система Linux передовая технология для всех
v0.4.6
Данная редакция относится к весне 1996 г.
Содержание
- Общие сведения
- Что
такое ОС Linux.
- Возможности,
которые предоставляет ОС Linux.
- Кому и
зачем может понадобиться ОС Linux.
- Свойства
- Характерные
особенности Linux как ОС.
- Как
выглядит одновременное выполнение нескольких программ.
- Как
несколько пользователей могут работать на одной и той же машине.
- Насколько полно
документирована ОС Linux.
- Отличие
Linux от других ОС со свободной лицензией.
- Аппаратное
обеспечение
- Оборудование, на
котором работает Linux.
- Linux на
платформах, отличных от Intel.
- Программное
обеспечение
- Программное
обеспечение, которое поддерживает система Linux.
- Коммерческое
программное обеспечение для Linux.
- Работа с
глобальной сетью Internet.
- DOOM для
Linux.
- Какой
текстовый процессор можно использовать в Linux.
- Совместимость
с другими ОС.
- Разделение диска
с другими ОС.
- Поддержка
файловых системам других ОС.
- Установка
Linux в раздел DOS.
- Работа с
дискетами в формате DOS.
- Выполнение
прикладных программ DOS.
- Работа с
приложениями MS Windows.
- Выполнение
программ из различных версий Unix.
- Сеть
- Что такое
Internet.
- Концепция
клиент/сервер и сеть.
- Роль Linux
в создании современной сети предприятия.
- Особенность X
Window System как сетевой системы.
- Как с помощью
Linux превратить DOS в X-терминал.
- Загрузка
Linux через сеть.
- Взаимодействие
Linux с DOS и MS Windows.
- Совместная
работа Linux и Novell Netware.
- Тиражирование и
развитие
- Лицензия на
Linux.
- Использование Linux
в коммерческих системах.
- Как
разрабатывается Linux.
- Модернизация
системы.
- Компакт-диски с
Linux.
- Распространение
Linux через Internet.
- Новости о
проекте Linux.
- Поддержка.
- Что делать,
если возник вопрос по работе системы.
- Как получить
поддержку в телеконференции.
- Можно ли
задать вопрос автору программы.
- Как получить
гарантированую техническую поддержку.
- Как
получить помощь в установке и настройке системы.
- Реалии
- Какие
проблемы и обстоятельства нужно учитывать при работе с Linux.
- Направление
развития системы Linux
- Linux и
Hurd.
- Linux на
микроядре OSF.
Linux произносится как
'Линукс, с ударением на первом слоге.
Linux - это современная POSIX-совместимая и Unix-подобная операционная
система для персональных компьютеров и рабочих станций.
Это многопользовательская сетевая операционная система с сетевой оконной
графической системой X Window System. ОС Linux поддерживает стандарты открытых
систем и протоколы сети Internet и совместима с системами Unix, DOS, MS Windows.
Все компоненты системы, включая исходные тексты, распространяются с лицензией на
свободное копирование и установку для неограниченного числа пользователей.
ОС Linux широко распространена на платформах Intel PC 386/486/Pentium/Pentium
Pro и завоевывает позиции на ряде других платформ (DEC AXP, Power Macintosh и др.).
Разработка ОС Linux выполнена Линусом Торвалдсом (Linus
Torvalds) из университета Хельсинки и не поддающейся подсчету обширной
командой из тысяч пользователей сети Internet, сотрудников исследовательских
центpов, фондов, унивеpситетов и т.д.
ОС
Linux
- дает возможность бесплатно и легально иметь современную ОС для
использования как на работе, так и дома;
- обладает высоким быстродействием;
- работает надежно, устойчиво, совершенно без зависаний;
- не подвержена вирусам;
- позволяет использовать полностью возможности современных ПК, снимая
ограничения, присущие DOS и MS Windows по использованию памяти машины и
ресурсов процессора(ов);
- эффективно управляет многозадачностью и приоритетами, фоновые задачи
(длительный расчет, передача электронной почты по модему, форматирование
дискеты и т.д. и т.п.) не мешают интерактивной работе;
- позволяет легко интегрировать компьютер в локальные и глобальные сети, в
т.ч. в Internet; работает с сетями на базе Novell и MS Windows;
- позволяет выполнять представленные в формате загрузки прикладные программы
других ОС - различных версий Unix, DOS и MS Windows;
- обеспечивает использование огромного числа разнообразных программных
пакетов, накопленных в мире Unix и свободно распространяемых вместе с
исходными текстами;
- предоставляет богатый набор инструментальных средств для разработки
прикладных программ любой степени сложности, включая системы класса
клиент-сервер, объектно-ориентированные, с многооконным текстовым и/или
графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;
- дает пользователю и особенно разработчику замечательную учебную базу в
виде богатой документации и исходных текстов всех компонент, включая ядро
самой ОС;
- дает всем желающим попробовать свои силы в разработке, организовать
общение и совместную работу через Internet с любыми из разработчиков ОС Linux
и сделать свой вклад, став соавтором системы.
В
применении Linux по разным причинам могут быть заинтересованы многие категории
пользователей. Привести исчерпывающий список невозможно. Однако, вот ряд
примеров.
Linux это полноценная 32-х разрядная (64-х разрядная на платформе DEC AXP)
операционная система, которая использует компьютер на полную мощность. Linux
превращает персональный компьютер IBM PC в настоящую рабочую станцию. По цене
персоналки, которая значительно ниже стоимости рабочей станции.
Выигрыш в цене очень большой, так как помимо экономии на оборудовании,
программное обеспечение в Linux поставляется со свободной лицензией, разрешающей
бесплатное неограниченное копирование системы. Ядро, редакторы, трансляторы,
СУБД, сеть, графические интерфейсы, игры и масса другого программного
обеспечения объемом в тысячи мегабайт - бесплатно и на законной основе.
Выигрыш только на программном обеспечении может составить от тысяч до
десятков тысяч долларов. Для многих пользователей в России свободная лицензия -
это единственная возможность легально снабдить себя полноценным набором
программного обеспечения.
Для пиратского рынка не платить за программы - обычное дело. Однако в случае
с Linux мало того, что за это никто преследовать не будет, еще и полную
документацию дадут! Более того, с исходными текстами всех программ! Пиратам
такое и не снилось.
Большой интерес Linux представляет для потребителей и разработчиков
прикладных систем. Представьте себе фирму, состоящую из нескольких филиалов,
территориально разнесенных по разным районам города и даже по разным городам и
странам. На головном предприятии работает сервер базы данных, клиенты - рабочие
места в филиалах - через сеть взаимодействуют с сервером. Такая система быстро,
дешево и удобно делается в Linux. Вспомните об устойчивости Linux. Вот где она
сильно пригодится!
Допустим, вы разработчик коммерческих программ для коммерческих ОС, например,
SCO Unix, Solaris или DOS. Вы используете многоплатформенный компилятор, мощную
многооконную систему отладки, эмуляторы и системы совместимости. Все это есть в
Linux. Можете поставить его на свою домашнюю персоналку и, если у вас есть
модем, ходить на работу только за зарплатой. Кстати, и здесь устойчивость не
помешает. Представьте, что вы открыли пару десятков окон, много что в них
наработали, а система зависла. В Linux такого не бывает.
А если вы научный работник и пишете статьи в международные журналы? К вашим
услугам в Linux издательская система TeX, в формате которой принимаются статьи в
эти журналы. Статью можете отправить по электронной почте прямо со своей
Linux-машины. Пока вы писали статью, машина делала длительный сложный расчет и
вам это совершенно не мешало. И массивы в вашей программе вовсе не ограничены
пределом в 640 KB. Хотите массив в 50 мегабайт? Пожалуйста, даже если у вас
только 8 MB RAM, так как в Linux работает виртуальная память. Как вы думаете,
приятно ли столкнуться с зависанием ОС, когда до окончания трехчасового расчета
осталось три минуты? В Linux это вам не грозит.
Может, вам нужно синтезировать рекламную картинку профессионального качества?
Пока система рендеринга будет это делать, можете поиграть в DOOM. Или отлаживать
описание другой картинки. Рендеринг сложной картинки идет часами. Устойчивость
ОС и тут не помешает.
Здесь не зря такой упор сделан на устойчивость ОС. Пользователь, практика
которого ограничена системами DOS и особенно MS Windows, привык, что зависание -
неотъемлемое свойство ОС. Дело обстоит как раз с точностью до наоборот.
Linux распахивает дверь в гигантский мир открытых систем, в котором
существует огромное количество средств для решения самых разнообразных задач.
Это
- многозадачность: много программ выполняются одновременно;
- многопользовательский режим: много пользователей одновременно работают на
одной и той же машине;
- защищенный режим процессора (386 protected mode);
- защита памяти процесса; сбой программы не может вызвать зависания системы;
- экономная загрузка: Linux считывает с диска только те части программы,
которые действительно используются для выполнения;
- разделение страниц по записи между экземплярами выполняемой программы. Это
значит, что процессы-экземпляры программы могут использовать при выполнении
одну и ту же память. Когда такой процесс пытается произвести запись в память,
то 4-x килобайтная страница, в которую идет запись, копируется на свободное
место. Это свойство увеличивает быстродействие и экономит память;
- виртуальная память со страничной организацией (т.е. на диск из памяти
вытесняется не весь неактивный процесс, а только требуемая страница);
виртуальная память в самостоятельных разделах диска и/или файлах файловой
системы; объем виртуальной памяти до 2 Гбайт; изменение размера виртуальной
памяти во время выполнения программ;
- общая память программ и дискового кэша: вся свободная память используется
для буферизации обмена с диском;
- динамические загружаемые разделяемые библиотеки;
- дамп программы для пост-мортем анализа: позволяет анализировать отладчиком
не только выполняющуюся, но и завершившуюся аварийно программу;
- сертификация по стандарту POSIX.1, совместимость со стандартами System V и
BSD на уровне исходных текстов;
- через iBCS2-согласованный эмулятор совместимость с SCO, SVR3, SVR4 по
загружаемым программам,
- наличие исходного текста всех программ, включая тексты ядра, драйверов,
средств разработки и приложений. Эти тексты свободно распространяются. В
настоящее время некоторыми фирмами для Linux поставляется ряд коммерческих
программ без исходных текстов, но все, что было свободным так и остается
свободным;
- управление заданиями в стандарте POSIX;
- эмуляция сопроцессора в ядре, поэтому приложение может не заботиться об
эмуляции сопроцессора. Конечно, если сопроцессор в наличии, то он и
используется;
- поддержка национальных алфавитов и соглашений, в т.ч. для русского языка;
возможность добавлять новые;
- множественные виртуальные консоли: на одном дисплее несколько
одновременных независимых сеансов работы, переключаемых с клавиатуры;
- поддержка ряда распространенных файловых систем (MINIX, Xenix, файловые
системы System V); наличие собственной передовой файловой системы объемом до 4
Терабайт и с именами файлов до 255 знаков;
- прозрачный доступ к разделам DOS (или OS/2 FAT): раздел DOS выглядит как
часть файловой системы Linux; поддержка VFAT (WNT, Windows 95);
- специальная файловая система UMSDOS, которая позволяет устанавливать Linux
в файловую систему DOS;
- доступ (только чтение) к файловой системе HPFS-2 OS/2 2.1;
- поддержка всех стандартных форматов CD ROM;
- поддержка сети TCP/IP, включая ftp, telnet, NFS и т.д.
Так называемая виртуальная мультиконсоль дает возможность на
одном дисплее организовать работу нескольких консолей. На первой консоли
запускается процесс трансляции. Комбинацией клавиш Alt-F2 следует переход на
вторую консоль. Трансляция продолжается, но при этом первая консоль на экране
дисплея заменяется новой картинкой второй консоли. В которой запускается,
например, редактор текста. Комбинацией Alt-F3 следует переход на третью консоль,
в которой запускается отладчик и т.д. Обычно в системе 8 консолей, но можно
установить до 64-х. В любой момент времени можно переключиться на любую консоль.
На отдельной консоли может работать как текстовая, так и графическая
программа.
На одной из свободных консолей можно запустить оконную графическую систему X
Window System. Открываете окно на экране и играете в DOOM. Можно через сеть с
партнером. А в других окнах - база данных, почта, редактор, трансляция и т.д.
Таким образом, одновременно работает много консолей, а на одной из консолей
еще и много окон X Window System.
Кроме того, в системе одновременно работают фоновые процессы, которые не
выдают информации на дисплей, но делают свою работу, например, передают данные
по модему, печатают на принтере, передают почту по сети и т.д. Фоновый процесс
может инициировать как пользователь, так и сама ОС в соответствии со
сложившимися условиями (есть почта для отправки, данные для печати, наступило
время связи по модему и т.п.).
Linux обеспечивает физическое
распараллеливание вычислений на многопроцессорных машинах (до 32
процессоров), но это не имеет прямого отношения к одновременному выполнению
нескольких программ. Операционная система позволяет одновременно выполнять
несколько задач на одном процессоре, сотни раз в секунду переключая процессор с
задачи на задачу.
Пользователь получает доступ к системе в результате регистрации.
На консоль система выводит приглашение login:, а пользователь в ответ вводит
свое имя и пароль доступа. После проверки прав доступа система выдает
приглашение вводить команды на выполнение программ, принимает команды и
выполняет их, например: Консоль tty1 Консоль tty2
______________________________ ________________________________
/ \ / \
| tty1 eugene.mplik.ru login: root | tty2 eugene.mplik.ru login: eugene |
| Password: xxxxxxxx | Password: xxxxxxxx |
| | |
| Linux 1.3.68 | Linux 1.3.68 |
| | |
| eugene.mplik.ru > cal 02 1996 | eugene.mplik.ru $ telnet elvis.ru 2|
| Февраля 1996 | Connected to elvis.ru. |
| Вс Пн Вт Ср Чт Пт Су | Англо-русский,русско-английский сло|
| 1 2 3 | .e or . - выход |
| 4 5 6 7 8 9 10 | .h - помощь |
| 11 12 13 14 15 16 17 | tr>unix |
| 18 19 20 21 22 23 24 | операционная система; первоначально|
| 25 26 27 28 29 | разработанная в Bell Laboratories |
| | для мини-ЭВМ серии PDP-11 и получив|
| eugene.mplik.ru > | различных классов и типов. Особенно|
\ ______________________________ / \ ________________________________ /
Обычная практика состоит в том, что пользователь регистрируется на разных
виртуальных консолях под разными именами. Например, для выполнения
административных функций на консоли 1 пользователь регистрируется как root, для
выполнения прикладной программы как eugene на консоли 2, для запуска игрушки как
games на консоли 3 и т.д. Смысл такого подхода в том, что различные
"пользователи" обладают различными индивидуальностями в системе - правами
доступа к ресурсам, начальными установками, файлами и т.д.
Если машина включена в сеть, то возможна удаленная регистрация пользователя с
машины A в машину B, даже тогда, когда эти машины расположены на разных
континентах (связь машин в планетарном масштабе обеспечивает сеть Internet).
Пользователь на машине A выдает команду типа telnet машина_B.фирма_B.город_B.страна_B
и через секунду-две видит на экране приглашение машина_B login:
вводит свое имя и пароль и оказывается на текущей консоли в машине B (если
пароль подтвердил права доступа). С другой консоли возможен вход другую машину
или повторно в машину B.
Находясь в машине B, пользователь может выдать команду telnet машина_A.фирма_A.город_A.страна_A
и зарегистрироваться еще раз в собственной машине A из машины B.
В общем случае регистрация необязательна, а адреса не имеют такой жестко
зафиксированной формы, например: eugene.mplik.ru $ telnet elvis.ru 2345
Connected to elvis.ru.
Англо-русский,русско-английский словарь
.e or . - выход
.h - помощь
tr>unix
операционная система; первоначально
разработанная в Bell Laboratories
для мини-ЭВМ серии PDP-11 и получившая широкое распространение на ЭВМ
различных классов и типов. Особенности UNIX: переносимость программ
между реализациями UNIX на различных ЭВМ; ориентация на диалоговый
режим работы и использование, в первую очередь, программистами для
разработки программ; открытость для
внесения расширений.
tr>.e
Connection closed by foreign host.
eugene.mplik.ru $
Помимо сетевого подключения машина может иметь десятки терминалов,
подключенных через последовательные порты. Терминал представляет собой экран и
клавиатуру, т.е. консоль, на которой пользователь может регистрироваться обычным
образом. Только в этом случае консоль не виртуальная, а представлена
специализированным отдельным устройством. Терминалом может служить персональный
компьютер, например, работающий под DOS PC 286, на котором выполняется
программа, имитирующая логику работы консоли (прозрачный ввод с местной
клавиатуры в Linux-машину и прозрачный вывод на местный дисплей данных от
Linux-машины).
сеть ...___________________________...
|
____|____ ____
| | | | дисплей
| Linux |---|____| с виртуальными
| | /___/ консолями
|---------|
|_________| порты
/|\
/ | \
/ | \ линии связи
/ | \
____ ____ ____
| | | | | | терминалы
|____| |____| |____|
/___/ /___/ /___/
Подключение терминалов, удаленных на расстояние более двух десятков
метров, требует включения на линию промежуточных согласующих устройств,
например, модемов. Заодно модем может обеспечить коммутацию соединений, т.е.
несколько разных терминалов могут по очереди звонить на модем компьютера и
обеспечивать регистрацию различных пользователей.
Все перечисленные способы регистрации пользователей в системе действуют
совместно. Таким образом, в одной машине десятки и сотни пользователей, вошедших
в систему по различным каналам связи, могут одновременно выполнять тысячи задач.
ОС Linux
документирована так полно, как ни одна из коммерческих ОС. По Linux имеются книги, руководства, справочники и
то, что недоступно в коммерческой системе - полные исходные тексты ОС с
пояснениями и комментариями.
Объем документации по Linux непрерывно пополняется и расширяется, динамично
отслеживая развитие системы.
Те, кто привык иметь дело с пиратскими программами, страдая от недостатка
документации, в Linux столкнутся с ситуацией совершенно противоположного рода.
Проблема не в том, что в Linux мало документации, а в том, что ее очень много,
она представлена в многообразных формах и доступна из массы различных источников. Для
того, чтобы сориентироваться в этом богатстве выбора, потребуются определенные
усилия.
Документация написана на английском языке. Существуют достаточно полные
версии документации на немецком и японском языках. В Internet доступен русский перевод книги
Linux Installation and Getting Started - ИНСТАЛЛЯЦИЯ LINUX И ПЕРВЫЕ ШАГИ. Может
пригодиться ряд книг по системе Unix, вышедших на русском языке. Некоторые издания по Unix существуют в
электронном виде на серверах Релкома.
На русском языке имеется справочник по стандарту POSIX: Беляков М.И., Рабовер
Ю.И., Фридман А.Л. Мобильная операционная система: Справочник. - М.: Радио и
связь, 1991. - 208с. Для начинающего пользователя он труден, но полезен для
программиста, знакомого с концептуальными основами Unix и открытых систем.
Описания на русском языке
архитектуры Unix, принципов построения сети на основе протоколов TCP/IP и
ряда смежных вопросов существуют в виде файлов на серверах сети Релком.
Что касается оригинальной документации по Linux, то можно
выделить следующие основные, но не исчерпывающие формы: книги, руководства
HOWTO, справочники FAQ, гипертекстовые справочники INFO, оперативные руководства
MAN, описания программных пакетов. Книги распространяются в печатном и
электронном виде, остальные формы, как правило, электронные, т.е. представленные
в виде файлов в составе дистрибутивов системы Linux и
пакетов программ, распространяемых через Internet и на компакт-дисках.
Часто один и тот же электронный документ доступен в виде нескольких файлов
одного содержания, но разных форматов, например, ascii, postsсript, html. Один
формат удобен для просмотра и поиска ключевых слов на текстовом экране дисплея,
другие форматы приспособлены для печати с типографским качеством на лазерном
принтере или для просмотра на графическом экране.
В группе comp.os.linux.answers сети новостей Usenet регулярно публикуются
последние версии некоторых документов по Linux (одновременно они появляются на
серверах Internet, откуда их можно получить различными способами, в т.ч. по
электронной почте, например, через mailserv@kiae.su).
Для примера вот список (неполный) руководств HOWTO:
- Bootdisk HOWTO
- CDROM HOWTO
- Commercial HOWTO
- Cyrillic HOWTO
- DOSEMU HOWTO
- Distribution HOWTO
- Ethernet HOWTO
- HOWTO Index
- Hardware Compatibility HOWTO
- INFO-SHEET
- Installation HOWTO
- Kernel HOWTO
- Electronic Mail HOWTO
- NET-2 HOWTO
- News HOWTO
- PCI HOWTO
- PCMCIA HOWTO
- Printing HOWTO
- SCSI HOWTO
- Serial HOWTO
- Sound HOWTO
- UMSDOS HOWTO
- UPS HOWTO
- UUCP HOWTO
- XFree86 HOWTO
Существует ряд
других операционных систем, которые имеют лицензию, разрешающую свободное
копирование. Из них в России наиболее популярна система FreeBSD.
Работа в Linux или FreeBSD для опытного специалиста не представляет труда. Но
для новичка Linux проще в освоении и удобнее в эксплуатации.
В отличие от FreeBSD, которая исторически происходит от кодов Unix, ядро
системы Linux написано заново.
Обе ОС - это системы отличного качества. Одна в чем-то лучше, чем другая, и
наоборот. Обе системы активно развиваются, поэтому они могут быстро и
неоднократно меняться лидирующей ролью в каких-либо аспектах.
Какой бы выбор вы не сделали - Linux или FreeBSD - в любом из этих случаев
это будет хороший выбор.
Linux и FreeBSD сильно различаются концепцией развития. Более того, среди
операционных систем Linux вообще уникальна по своей философии.
Это система, которую пользователи сделали для пользователей.
Linux не просто свободная система, которую каждый может копировать без
ограничений. Это система со свободной открытой
разработкой, и любой человек, будь он житель Вашингтона или Екатеринбурга,
может стать соавтором Linux, сделав свой вклад, не имеет значения, большой или
маленький.
В мире Linux популярнее FreeBSD. По некоторым оценкам в 1995 году количество установок Linux
достигло 10 миллионов. Выпускается печатный журнал Linux Journal. Продаются десятки
различных версий компакт-дисков с
Linux. Через глобальные сети доступны сотни архивов с Linux. Исходящий
трафик архива Linux на сервере
sunsite.unc.edu составляет десяток гигабайт в день. Круглые сутки с этим
архивом в каждый момент времени работают несколько сотен пользователей и для
обслуживания других тысяч желающих образованы десятки зеркальных копий архива Linux от
sunsite.
Как грибы в США, Европе, Японии, Австралии возникают Linux User Groups (ассоциации
пользователей). Регулярно проводятся международные конференции по
Linux. 30 ноября - 2 декабря 1994 г. в Вашингтоне работала секция Linux на 6-ой
OSW (Open Systems World) - международной конференции по открытым системам.
Одновременно работали секции Novell AppWare, Windows NT, Solaris, SCO Unix. С
того времени Linux это постоянная тема на международных форумах по Unix. На Unix
Expo 95 к Linux был проявлен фантастический интерес, к стендам с Linux - Red Hat, Caldera, DEC, Linux Journal - невозможно было
протолкнуться.
Соответственно, материалов по Linux больше и они доступнее. Существует
богатый выбор недорогих CDROM (компакт-дисков) по Linux. За несколько десятков
долларов приобретаются тысячи мегабайтов программного обеспечения отменного
качества.
Для работы Linux требуется компьютер PC 386, 486 или Pentium с 2 MB
оперативной памяти (RAM) и одним флоппи диском. Такая конфигурация позволит
запустить Linux. 4 MB RAM и 30 MB на жестком диске (HDD) - это тpебуемые
ресурсы, когда можно сделать нечто реальное и полезное (без оконной системы X
Window System). 4 MB RAM и 60 MB HDD - вместе с X Window System (X Windows, как
ее часто называют в просторечии). Для эффективной работы системы X Windows
требуется 8 MB RAM. Машину с 33-х МГц процессором 486 и памятью 8 MB RAM / 120
MB HDD Linux превращает в графическую рабочую станцию. На машине с 12 MB RAM
окошки X Windows начинают "летать". Машина с 486 DX2 66 МГц и 16 MB RAM под
Linux представляет собой мощную рабочую станцию и/или многопользовательский
сетевой сервер. Машина Pentium 133 МГц и 64 MB RAM с ОС Linux сравнима с рабочей
станцией SGI.
Linux поддерживает шины ISA, VESA и PCI. Шина MCA фирмы IBM (серия
компьютеров PS) поддерживается не во всех конфигурациях.
Linux вместе с X Windows работает на большом количестве марок ноутбуков и лэп-топов.
На персональных компьютерах с процессорами 8086 и 80286 Linux не
используется, но имеется вариант Linux, работающий на процессоре
8086, для применения в качестве встроенной системы.
Дистрибутив системы Linux содержит подробный перечень поддерживаемого
оборудования, включая типы графических адаптеров, контроллеров, сетевых плат
и т.д.
Помимо платформы Intel Linux работает
на компьютерах Amiga и Atari, построенных на процессорах серии Motorola 68000.
При поддержке фирмы DEC реализован и получает распространение Linux для
платформы DEC AXP.
В стадии разработки находятся версии Linux для платформ MIPS, PowerPC и др.
Разработка для Power Macintosh поддерживается фирмой Apple.
В составе Linux работают
- ядро ОС;
- загружаемые драйверы
(модули);
- базовые команды Unix (ls, tr, sed, awk и т.д.);
- набоp pедактоpов (GNU
Emacs, Lucid Emacs, MicroEmacs, jove, ez, epoch, elvis (GNU vi), vim, vile,
joe, pico, jed и др.);
- системы программирования для большого числа языков: C, C++, Objective C, Pascal, Fortran,
Tcl/tk, Perl, Common Lisp, ML, scheme, ADA, Modula-3,
Modula-2, Prolog, Smalltalk, Java, Oberon, Python, Sather и
много других;
- средства разработки и
отладки (gdb, xxgdb, ddd, make, bison, flex, perl, rcs, cvs, prof и т.п.)
- pазделяемые динамические
библиотеки;
- эмулятоp пpогpамм DOS;
- сеть на базе протоколов
TCP/IP;
- поддержка большого числа
файловых систем, включая DOS, VFAT, OS/2, файловую систему с
доопределяемыми пользователем свойствами, файловую систему CDROM, сетевую
файловую систему NFS и др.;
- электронная почта с мультимедиа поддержкой;
- ряд СУБД, (Exodus,
Shore, Ingres, Postgres 95, mSQL, OBST, Onyx и др.);
- графическая сетевая оконная система X Window System (XFree86);
- системы разработки программ
для X Window System (Tcl/Tk, Interviews, OI и др.)
- система Wine выполнения
приложений для MS Windows под X Window System (находится в стадии разработки);
- издательская система TeX;
- WYSIWYG текстовый процессор
LyX, основанный на TeX;
- другие средства текстовой
обработки (groff, doc, ez, Linuxdoc-SGML и т.д.)
- мультимедиа система Andrew
User Interface System (ez является ее частью);
- большое число игр, включая DOOM;
- и многие другие сотни программ и пакетов, созданные или перенесенные в
Linux, включая прикладные системы, например, такие как картографическая
система GRASS, система анализа методом конечных элементов FElt, система автоматизации
проектирования микросхем Magic, пакет проектирования печатных плат PCB,
компьютерный осциллограф Scope, система автоматизации проектирования SISCAD, система рендеринга
Radiance, пакет обработки радиоастрономических данных AIPS и т.д. и т.п. Здесь
не перечислена даже сотая доля от того богатства средств, которые
предоставляет Linux.
Ряд фирм производят версии коммерческого программного обеспечения
для Linux. Вот некоторые примеры:
Коммерческие пакеты рапространяются в загрузочном виде, а в ряде
случаев и в исходном. Например, Freedom Desktop manager (администрирование в X
Windows/Motif) продается по $40 за копию загружаемой программы и $1000 за
исходный текст системы.
Существуют коммерческие варианты дистрибутива в целом, например, Caldera Network Desktop, которые
построен в основном на наборе готовых продуктов дистрибутива Red Hat Linux.
В Linux выполняются коммерческие приложения из других систем, например, SCO
Unix:
- СУБД Raima Data Manager (бывш. Vista);
- СУБД Oracle;
- текстовый процессор WordPerfect (версия для SCO Unix);
- и др.
Сеть в Linux
устроена также, как сеть Internet - работает на тех же протоколах TCP/IP, имеет
тот же самый набор сервиса и инструментария. Поэтому машина с системой Linux
легко и естественно подключается к Internet.
Для взаимодействия с популярной службой WWW (World Wide Web) в Linux имеются
программы-клиенты Lynx, Mosaic, Netscape. Для организации
собственного сервиса WWW имеется богатый выбор серверов.
В Linux имеются две версии игры DOOM:
- вариант для X Windows;
- вариант для графической консоли (без X Windows).
Кроме того,
программа DOOM работает в эмуляторе DOS под Linux.
В Linux имеется большое количество программ, ориентированных на разнообразную
обработку текстовой информации и подготовки печатного издания типографского
качества. Полный набор средств слишком велик даже для простого перечисления, но
особо следует выделить системы TeX, LyX и Andrew.
Можно использовать текстовый процессор WordPerfect как в виде версии для
Linux, так и версию из ОС SCO Unix.
MS Word можно будет использовать под управлением системы WINE, предназначенной для запуска
MS Windows приложений в среде X Windows. Есть возможность выполнять MS Word для
MS Windows 3.1 под управлением эмулятора DOS.
Linux использует
стандартную схему разделов диска и может разделять жесткий диск с другими
системами, в т.ч. с DOS.
Имеется загрузчик, который позволяет выборочно загружать требуемую ОС с
диска.
Из Linux
обычным образом можно работать с разделами жестких дисков и дискетами,
содержащими файловые системы других ОС, в т.ч. DOS, Windows 95, Minix, Xenix,
Coherent, файловые системы System V. Файловые системы DoubleSpace, HPFS-2 (OS/2)
и Amiga доступны в режиме только чтения.
Файловые системы DoubleSpace/Stacked и т.п. становятся доступными на чтение и
на запись в Linux при работе эмулятора DOS.
Файловая система ОС Linux поддерживает все стандартные форматы CD ROM.
Linux способен быть как клиентом, так и сервером сетевой файловой системы NFS. Linux поддерживает протоколы
NCP и SMB и может служить файлсервером или получать доступ к файлосерверам
NetWare и Windows for Workgroups, Windows NT.
Linux поддерживает
файловую систему UMSDOS, что дает возможность устанавливать Linux прямо в
файловую систему DOS без переделывания разделов на жестком диске.
На базе UMSDOS построен 4-х дискетный дистрибутив Mini-Linux, который устанавливается
в файловую систему DOS.
Из Linux можно читать
и записывать дискеты DOS. Это делается как обычными средствами Linux (тогда
дискета монтируется как часть файловой системы), так и специальными командами
для обслуживания дискет DOS. Также дискеты доступны в эмуляторе DOS.
В Linux работает
система dosemu - эмулятор DOS.
Эта программа позволяет выполнять в Linux систему DOS, в которой обычным образом
работают прикладные программы DOS. Можно выполнять много программ DOS, но не
все. Например, эмулятор DOS позволяет работать с
- информационными базами данных:
- Консультант +,
- Пульс цен,
- Оптовики России,
- и др.;
- программными комплексами задач по бухгалтерскому учету.
Приложения
DOS, работающие в Linux, могут использовать файловую систему как раздела DOS,
так и файловую систему Linux, в т.ч. сетевую файловую систему NFS.
Приложение DOS выполняется параллельно с другими процессами. Можно
одновременно выполнять несколько приложений DOS.
В стадии разработки
находится система WINE, которая
позволяет запускать в X Windows прикладные программы MS Windows. При этом
система MS Windows не используется и ее наличие не требуется. В настоящее время
WINE позволяет выполнять ограниченное количество приложений MS Windows. Такие
популярные программы как Word, PageMaker, CorelDraw пока не работают с системой
WINE. Проект WINE интенсивно развивается, и эти и другие приложения через
некоторое время можно будет использовать в X Windows.
В эмуляторе DOS можно
выполнять MS Windows 3.0 в реальном режиме и соответствующие приложения. MS
Windows 3.1 и Windows for Workgroups работают в эмуляторе версии 0.63, хотя для
этих целей dosemu пока следует рассматривать как альфа-версию. Эмулятор DOS
быстро развивается.
Фирма Willows Software,
Inc. разработала коммерческую систему TWIN XPDK. Эта система содержит
компоненту, функционально аналогичную WINE, с помощью которой в X Windows
работают приложения Microsoft Office Applications, Word, Excel and Project. В
целом TWIN XPDK это набор средств для разработчика MS Windows приложений (в т.ч.
для Win95), который позволяет разработчику без дополнительных усилий переносить
приложения между рядом платформ, включая Unix, OS/2, Mac.
Фирма Caldera, Inc.,
стартовый капитал которой составили инвестиции Noorda Family Trust, Inc. (Ray
Noorda - прежний главный управляющий фирмы Novell), продает систему Caldera
Network Desktop, основанную на Linux. Caldera приобрела у фирмы SunSoft, Inc
лицензию на Wabi - коммерческую систему функционально аналогичную свободной
системе WINE. По цене не более $200 Wabi будет поставляться в составе диска
Caldera Solutions CD.
С помощью
эмулятора iBCS2 система Linux
позволяет выполнять загружаемые программы из систем SCO Unix, Xenix V/386, SVR3
generic, Wyse V/386, SVR4 (Unixware, USL, Dell), BSD/OS, FreeBSD. Например, в
Linux работают такие приложения SCO Unix как CorelDraw, WordPerfect, Oracle.
В Linux (и обратно) легко переносятся на уровне исходных текстов программы из
систем Unix System V и BSD.
Linux поддерживает стандарты открытых систем, в т.ч. POSIX. Мировой лидер по
вопросам стандартизации информационных технологий и держатель торговой марки
UNIX компания X/Open присвоила ОС Linux сертификат стандарта POSIX.1 FIPS151-2.
Это означает официальное признание того факта, что практически все
Unix-приложения могут быть без проблем переносимы в Linux. Не за горами
сертификация относительно POSIX.2, POSIX.4 и POSIX.7. Компания Lasermoon, выпускающая
дистрибутив Linux-FT, имеет членство в X/Open.
Internet это всемирная
компьютерная сеть. На 1 октября 1994 года она содержала 3 898 233 компьютера.
Темпы развития Internet настолько велики, что к 1999 году прогнозируется рост
сети до 100 000 000 машин.
Internet содержит огромное количество данных на какие угодно темы и
предоставляет широкий спектр услуг для получения информации. Особую популярность
завоевывает относительно новый сервис Internet, т.н. "всемирная паутина" WWW
(World Wide Web). Для доступа к этому сервису создан ряд программ-клиентов,
таких как Mosaic, Netscape и
др. Эти клиенты в виде как свободных, так и коммерческих версий реализованы для
большого числа платформ, в т.ч. Linux, MS Windows.
Система WWW состоит из большого числа программ-серверов, выполняющихся на
машинах сети Internet.
Совместно серверы WWW образуют распределенную базу данных сетевого
мультимедиа гипертекста. Сервер наполняется информацией на какую-либо тему
(скажем, "ОС Linux - передовая технология для всех"), включая образы фотографий,
картин и музыки, шумов, речи. Далее пользователь через сеть Internet с помощью
программы Netscape у себя на машине обращается к этому серверу по его адресу в
сети. Пользователь видит вводный текст, в котором, как и положено гипертекстовой
системе, выделены некоторые участки текста. Например, слова "Linus
Torvalds". Достаточно щелкнуть по выделенному участку мышкой и раскроется
его содержание - фото автора проекта Linux.
Если требуемой информации на данном сервере нет, то ссылка может привести на
другой сервер WWW, который работает на другом конце мира. Соединение выполняется
практически мгновенно (секунды) между континентами.
Сейчас во многих странах серверы WWW растут как грибы. В России тоже. Первым
проектом такого рода стал сервер "Окно в
Россию", созданный АО Релком и Ассоциацией Новых Экранных Технологий в мае
1994 г. Через этот сервер доступны экспозиции "Музеи Кремля", "Современное
изобразительное искусство", сотни экспозиций в других странах.
Конечно, работа с WWW требует наличия "настоящей" сети связи, которая
обеспечивает режим online, а не отложенную передачу, как в электронной почте.
В сервере WWW можно хранить данные и ссылки на данные других серверов на
какую угодно тему, в т.ч. на научную или практическую. Это зависит только от
фантазии разработчика и потребностей заказчика.
В мире существует огромное количество WWW серверов самого разного назначения.
Без специальных средств ориентировка в этом гигантском складе информации просто
невозможна. Решают эту проблему поисковые серверы, которые
хранят миллионы ссылок на разные темы и производят поиск нужной ссылки по
запросу пользователя.
В России к Internet можно подключиться через сеть Релком.
Современные
компьютерные технологии ориентирована на идеологию клиент/сервер в рамках сети.
Широко распространено представление, что сервер - это главный компьютер и
обычно работает где-то за стенкой, далеко; а клиент это обычно мы сами и наша
машина, разумеется.
В данном контексте имеется в виду нечто другое. Сервер это программа, которая
предоставляет сервис, т.е. получает запрос и дает ответ. Клиент - это программа,
которая выдает запрос и получает ответ. В общем случае это роли, которыми
программы могут поменяться по ходу дела. Одна и та же программа во
взаимодействиях с разными партнерами может быть одновременно сервером и
клиентом. Сервер может одновременно обслуживать несколько клиентов.
Современное понимание сети содержит три уровня:
- компьютер как сеть;
- локальная сеть;
- глобальная сеть.
Компьютер, снабженный полноценной ОС с сетевой
поддержкой протоколов TCP/IP (как Linux, например), обладает замечательным
свойством. Можно разработать систему клиент/сервер в рамках одного компьютера, а
использовать эту систему как на отдельном компьютере, так и в локальной и в
глобальной сети. Скажем, систему, в которой сервер управляет прикладной базой
данных, а программы-клиенты предоставляют пользователю прикладной интерфейс для
доступа к базе через запросы к серверу по сети. Это получается благодаря тому,
что ОС для взаимодействия клиента и сервера в пределах одной машины использует
те же самые протоколы, что и для взаимодействия клиента и сервера через
глобальную сеть.
Для DOS и MS Windows реализованы сетевые пакеты, которые поддерживают
протоколы TCP/IP. Для того, чтобы сделать полноценный сервер этого маловато, но
в роли клиентов программы DOS и MS Windows могут интегрироваться в сеть.
Локальная сеть состоит из ряда машин, которые используют общую магистраль
данных. Например, Ethernet. Возможны и другие варианты, например, подключение
машин через последовательные порты. Локальная сеть, как правило, ограничивается
пределами здания.
Локальные сети связываются между собой, образуя глобальную сеть.
Самая большая глобальная сеть - это Internet. Она объединяет 45 000 подсетей.
Делать сеть - так настоящую. Пользователь у себя на предприятии строит сеть в
стандартах Internet, в виде совокупности локальных сетей по корпусам, затем
подключается к Internet (Релкому) и связывается по сети с родственными
предприятиями. Обратите внимание, что при этом программа-клиент работает с
программой-сервером совершенно одинаково, что на машине, где установлен сервер,
что из другого корпуса, что из другого города и даже другой страны.
Роль Linux в
такой разработке достаточно значительна. В Linux есть все необходимые
инструменты, он свободен и комфортен. Это отличный полигон для обкатки решений.
Даже если вы потом перейдете на другую платформу (например, мощный сервер Sun и
ОС Solaris), то вы не с пустыми руками это сделаете, а захватив с собой
наработки.
Это достигается, во-первых, за счет того, что Linux поддерживает стандарты
открытых систем.
Во-вторых, в Linux есть большое число инструментальных пакетов, с помощью
которых реализуется прикладная система клиент-сервер. Это СУБД, построители
графических интерфейсов и пр. Эти пакеты свободны, поставляются в исходных
текстах. Они генерируются из исходных текстов как для Linux, так и для десятков
других платформ, в т.ч. коммерческих - Solaris, SCO, BSD*.
Например, СУБД Exodus,
Postgres и др. Пакет для разработки интерфейса пользователя Tcl/Tk.
Последний может использоваться как интерпретатор и как библиотека программных
вызовов. Tcl генерируется на десятки платформ: Linux, BSDI, SunOS, Solaris,
Ultrix, IRIX, AIX, OSF/1, HPUX, SCO Unix, Xenix, Dynix, UMAX, Unicos, A/UX, QNX,
VMS, NextStep, Convex, DOS, MS Windows, OS/2, ...
Когда вам понадобится перенести прикладную систему на другую платформу, вы
легко сделаете это, поскольку у вас есть не только исходные тексты вашей
прикладной системы, но и исходные тексты использованных инструментальных
пакетов, которые вы можете свободно прихватить с собой на законных основаниях.
Следует особо выделить роль Linux как платформы для знакомства начинающих
разработчиков и пользователей с миром открытых систем. Во-первых, Linux это
комфортная и полноценная 32-х разрядная ОС, по качеству сравнимая и в ряде
аспектов превосходящая коммерческие ОС. Во-вторых, расходы, связанные с
освоением Linux, во много раз меньше, чем в случае с коммерческой системой. И не
надо платить за дополнительные подсистемы и пакеты программ, нет ограничений на
число пользователей. При этом доступ к исходным текстам! И не в виде примера из
учебника, а в виде текста реально работающей программы.
Результат - драгоценный опыт при минимальных затратах, который убережет от
дорогих ошибок в сфере коммерческих систем.
X
Window System (X Windows) это оконно-графическая система клиент/сервер.
Сервер X Windows выполняется на машине, где нужно отображать информацию.
Часто к одной машине подключен один дисплей, но бывает и несколько. На одной
машине может работать несколько серверов, каждый из которых обслуживает свой
дисплей. Дисплей это клавиатура, мышка, планшет и т.п. в связке с монитором или
несколькими мониторами (например, обычным и большим графическим).
Клиент это программа, которая посылает данные серверу для отображения в окне
(окнах) на мониторе. И принимает данные от сервера, например, строку, введенную
с клавиатуры. Клиент может выполняться как на той же машине, что и X сервер, так
и на другой машине Internet.
Допустим, вы работаете на машине my_host и на одной из консолей запустили X
Window System, т.е. X сервер. Затем, работая на другой консоли или в окне, вы
загрузились в удаленную машину remote_host и хотите выполнить X приложение, т.е.
прикладную программу, предназначенную для работы в X Windows. Для того, чтобы
сообщить X приложению, что вы хотите видеть его окошки у себя на мониторе,
достаточно ввести в удаленную машину команду
export DISPLAY=my_host:0.0
Если вы теперь вызовите X приложение, то оно по сети откроет канал связи с
вашим X сервером на машине my_host, а не с X сервером машины remote_host, и
отобразит все свои окна на вашем экране. Данные передаются по каналу связи между
клиентом (X приложением) и X сервером таким же образом, как если бы они работали
на одной машине. Сеть прозрачна и возникает иллюзия, что работа происходит на
одной машине.
:0.0 это просто конкретные значения :<номер дисплея>.<номер
монитора>, характерные для случая машины с одним монитором.
X Windows реализована на большом количестве машин различной архитектуры в
различных операционных системах. Это дает возможность через сеть выполнять
приложение на мощном (супер)компьютере, а видеть результат и управлять работой
приложения на скромной персоналке. На своем мониторе можно одновременно открыть
несколько окон - одно приложение на машине в Сан-Франциско, второе в Сиднее,
третье в Париже - и работать с ними одновременно, перемещая мышкой (или
программно) данные между ними.
Для
работы в сетях с системой X Windows созданы специальные устройства -
X-терминалы. Фактически X-терминал представляет собой специализированный
компьютер - аппаратное воплощение X сервера со встроенным сетевым интерфейсом.
Это высококачественное устройство с отличной графикой, но довольно дорогое.
Linux с X Windows на персональном компьютере представляет собой достойную
внимания замену X-терминала.
Во-первых, это сравнительно недорогое решение. Даже в том случае, если в
качестве дисплея использовать хороший 17-дюймовый монитор.
Во-вторых, это больше, чем просто X-терминал. Это универсальный компьютер,
который одновременно можно использовать для решения широкого класса задач.
Существуют различные программные реализации X-терминалов для DOS и MS
Windows. Это коммерческие системы, но все они сильно уступают по быстродействию
и надежности системе X Windows в Linux.
Установив Linux в раздел DOS, и выкинув все лишнее, можно получить
программный X-терминал, который загружается командой в DOS прямо из файловой
системы DOS. Это займет около 10 MB на диске.
Сетевой загрузчик Linux
может вызываться следующим образом:
- из постоянной памяти (ПЗУ) сетевой платы на бездисковой машине;
- с флоппи диска;
- как программа DOS, выполняемая сразу же после загрузки.
Для того,
чтобы использовать сетевой загрузчик необходимо в сети запустить соответствующий
сервер, взаимодействующий с загрузчиком.
Загруженный по сети Linux работает с файловой системой через сеть.
В системах
DOS и MS Windows существует поддержка протоколов TCP/IP, позволяющая выполнять
программы-клиенты, которые через сеть TCP/IP взаимодействуют с Linux и позволяют
загружаться в Linux, обмениваться файлами, электронной почтой и новостями,
монтировать файлы через сетевую файловую систему NFS (коммерческие PCNFS, PCTCP,
WATTCP, WinQVT, WINARCH, EINet winWAIS, свободные WinVn, WS_FTP, NCSA Telnet,
NCSA Mosaic). В Linux существуют соответствующие программы-серверы.
В Linux имеется сервер Samba,
который позволяет программам-клиентам через протокол SMB (Session Message Block)
получить доступ к файловой системе Linux и принтеру, работающему в Linux. Это
такие клиенты как LanManager для DOS, Windows for Workgroups, Windows NT, OS/2,
Pathworks и многие другие. В пакет Samba входит и программа-клиент, которая
позволяет получить из Linux доступ к файлам и принтеру в Windows for Workgoups,
OS/2.
Протокол SMB выполняется поверх протокола TCP/IP.
Имеется
возможность организовать доступ к серверу Netware непосредственно из Linux через
сетевую файловую систему NFS. Конечно, это возможно только в том случае, если вы
приобрели у Novell модуль NFS сервера, а стоит он несколько тысяч долларов.
Другой путь состоит в том, чтобы отдельную персоналку сконфигурировать как
обычное рабочее место сети Novell, отобразив требуемые директории файлсервера на
виртуальные диски. На этой же машине необходимо запустить в работу свободно
распространяемый пакет SOSS (Son Of Stans own Server), который является сервером
NFS и обеспечивает экспорт сетевых дисков Novell в сетевую файловую систему NFS.
Еще один путь состоит в том, чтобы выполнять в Linux эмулятор DOS, который
обеспечивает поддержку сети Novell. Далее обычным образом, как в DOS,
выполняются программы-клиенты для доступа к серверу Netware.
В Linux также имеются свободные клиент NetWare и эмулятор сервера
NetWare.
В коммерческой системе Caldera
Network Desktop, построенной на базе Linux, имеется полномасштабный клиент
Netware версий 3 и 4.
Система Linux имеет Copyright и
свободно распространяется под лицензией GNU GPL (GNU General Public License),
разработанной фондом Free Software
Foundation. Суть этой лицензии состоит в том, что исходные тексты программ
доступны для пользователя. Если некто использует фрагменты этих текстов в
собственных разработках, то эти разработки должны распространяться также под
лицензией GNU GPL. Согласно лицензии программы распространяются без каких-либо
гарантий. Разрешается распространять продукт как бесплатно, так и за деньги,
которыми оплачиваются услуги по копированию, установке, консультации,
сопровождению и т.п. Разрешается даже продавать собственно продукт, защищенный
этой лицензией, а не только услуги по его распространению, но при условии
непременного ознакомления покупателя с лицензией GNU GPL и предоставления ему
всех прав свободного приобретения продукта с исходными текстами.
Лицензия GNU GPL это объемный тщательно разработанный документ. Точные
исчерпывающие сведения об этой лицензии дает ее собственный текст.
Назначение лицензии GNU GPL в том, чтобы, охраняя авторские права, дать
свободу для использования программного обеспечения и не позволить ограничить ее.
В отличие от сужающего круг пользователей Copyright, такая лицензия - это
поощряющий к неограниченному копированию Copyleft.
ОС Linux в общих чертах состоит из трех больших компонент: ядра Linux, пакета
программ проекта GNU и XFree86
- реализации системы X Window System для Unix-совместимых ОС на платформе Intel
x86.
Лицензия на ядро Linux принадлежит Линусу Торвалдсу (Linus Torvalds) из
университета Хельсинки.
Лицензия на программы проекта GNU принадлежит фонду Free Software Foundation, который
основал и возглавляет Ричард Столлман (Richard Stollman).
Проект X Window System основан в Massachusetts Institute of Technology и
развивается рядом групп разработчиков, которым и принадлежит лицензия на систему
X Window System и XFree86. Это не лицензия GNU GPL, но она также допускает
свободное распространение системы.
В составе ОС Linux помимо упомянутых компонент содержится много других, менее
выдающихся, но не менее необходимых подсистем. Они снабжены своими лицензиями,
часто GNU GPL, иногда другого типа, допускающих свободное распространение.
Полные тексты лицензий включены в состав дистрибутива ОС Linux.
Есть
несколько различных способов использования свободного программного обеспечения в
коммерческих разработках, которые применимы и к системе Linux.
- Непосредственное использование исходных текстов в собственных программах.
В 1995 году фирма Caldera, Inc выпустила ОС Caldera Network Desktop,
основанную на системе Linux.
Лицензия GNU GPL не
запрещает использование текста свободного программного продукта в коммерческой
разработке, но при этом те компоненты разрабатываемой системы, в которые
включены коды, лицензированные GNU GPL, также должны получить лицензию GNU
GPL, т.е. стать свободными.
Фирма Caldera использует лицензию GNU GPL. Фирма сделала вклад в развитие
ядра Linux, в частности, разработав коды для поддержки протокола IPX, которые
распространяются в составе исходных текстов ядра. Другие самостоятельные части
системы, которые были полностью разработаны на базе фирменных технологий,
являются коммерческими и не поставляются в исходном виде. Это, например,
клиент Netware и графический интерфейс метафоры рабочего стола.
- Включение свободных подсистем в состав коммерческой системы. Caldera не
первая фирма, которая продает свободное программное обеспечение в составе
своей ОС. Фирма DELL поставляет свою версию системы Unix, состоящую из
фирменного ядра, которое окружено продуктом GNU, включающим трансляторы,
редакторы, утилиты и т.п. Отличие от Caldera состоит в том, что DELL не
практикует использование исходных текстов, защищенных GPL, ограничиваясь
включением в состав своей ОС готовых пакетов.
Такой подход также не запрещен лицензией GNU GPL, при условии, что
свободные программные продукты, включенные в состав коммерческой системы, не
изменяют свой статус, т.е. остаются под действием лицензиии GNU GPL и
распространяются вместе с исходными текстами.
- Использование свободных инструментальных средств для разработки
собственного программного обеспечения.
Например, использование свободного транслятора, лицензированного GNU GPL,
для создания собственной программы без использования фрагментов исходных
текстов каких-либо свободных программ. Это можно делать, при этом статус
инструмента не влияет на статус продукта, который может быть наделен
произвольной лицензией по желанию разработчика.
Встраивание в собственную программу библиотечных вызовов свободной
библиотеки не ограничивает статус программы. Для библиотек применяется
несколько другая лицензия - GNU LGPL (Library General Public License), которая
расширяет толкование GNU GPL, учитывая некоторые особенности использования
библиотек.
Широко распространена практика использования Linux как инструментальной ОС
разработчиками коммерческих программ с последующим их переносом в коммерческую
ОС.
- Использование свободного продукта непосредственно для решения прикладных
задач.
Это никак не ограничивается лицензией GNU GPL.
Linux широко используется как сервер и клиент электронной почты и новостей,
WWW, X-терминал, издательский комплекс, графическая станция, управляющая
лабораторная система и т.д. и т.п.
Linux является системой без
центpализованного упpавления pазpаботкой. Ее pазвитие поддеpживается
пользователями сети Internet, добpовольцами из исследовательских центpов,
унивеpситетов и т.д. ОС Linux включает свободные пакеты программ, разработанных
фондами, бесприбыльными организациями и другими фирмами. Есть несколько узлов
Internet, котоpые истоpически выполняют функции концентpатоpов и дистpибьютеpов,
согласованно выпуская новые веpсии Linux. Система непрерывно и быстро
pазвивается и совершенствуется.
В проекте Linux задействованы тысячи разработчиков и нет ни одного
управляющего. Отсутствуют и какие-либо централизованно-формализованные цели и
планы. Движущим началом проекта являются непосредственные потребности
пользователей. Механизмом согласования усилий разработчиков служит Internet.
Любой желающий может присоединиться к команде разработчиков. Для этого надо
отправить авторский исходный текст в исторически сложившиеся "приемные пункты",
которые есть в различных странах на ряде машин сети Internet.
В первую же неделю тысячи людей возьмут по сети этот текст. За несколько дней
завершится скрупулезное бета-тестирование и разработчик получит полную
информацию о выявленных ошибках. Очень часто вместе с исправлениями. Если это
стоящая вещь, то по сети новостей ее расхвалят и она завоюет популярность.
Так и произошло с системой Linux в целом.
Поскольку Linux - система с
открытой разработкой, то в отличие от обычной системы, для тиражирования по сети
Internet доступны все внутренние материалы проекта, в т.ч. те, которые являются
промежуточными отладочными версиями. Для пользователя, который занимает позицию
потребителя, а не разработчика, такая открытость создает сложность выбора. Это
кажущаяся сложность, которая легко преодолевается.
Во-первых, если текущая версия системы удовлетворяет все ваши потребности, то
нет необходимости ее обновлять.
Во-вторых, если вы все же пришли к выводу, что вам нужна новая версия, хотя
бы просто из-за стремления к новизне, то возьмите для этого дистрибутив системы,
распространяемый на компакт-диске (CDROM). Как правило, такая версия отстает от
текущего состояния на 2-4 месяца, однако, она является опробованным продуктом,
представленным в завершенном виде.
Открытость разработки не мешает обычному пользователю модернизировать свою
систему раз в полгода или год, но передовому пользователю позволяет делать это
каждую неделю.
Рядом фирм выпускаются недорогие
(в пределах нескольких десятков долларов) CDROM с системой Linux,
отличающиеся комплектацией и ориентацией на различные интересы пользователей,
например:
- Yggdrasil Linux Internet Archives (6-CD)
- Yggdrasil Plug & Play (CD, Diskette, Book)
- Linux-FT
Это далеко не исчерпывающий список.
Yggdrasil Linux Internet Archives CDROM фирмы Yggdrasil Computing,
Incorporated. Это альбом из 6-ти компакт-дисков общим объемом 3500 MB. Он
сожержит копии основных архивов Linux в сети Internet. Выпускается периодически.
Yggdrasil Plug & Play фирмы Yggdrasil Computing, Inc. Этот диск содержит
сгенерированный вариант Linux, который пригоден для работы с CDROM. К CDROM
прилагается загрузочная дискета. Достаточно установить CDROM и загрузиться с
дискеты и можно работать с Linux. Выпускается 2 раза в год.
Linux-FT это дистрибутив фирмы Lasermoon Ltd. Поставляется в виде наборов
компакт-дисков различной комплектации и проблемной ориентации. Отличается
инсталляционным кешем - с CDROM на жесткий диск программы переносятся по мере
обращения.
Все компакт-диски содержат дистрибутив (или даже несколько разных
дистрибутивов) для генерации системы Linux, исходные тексты системы,
дополнительные пакеты программ, документацию, графические и звуковые файлы и
другие дополнительные материалы.
В Internet
имеется три главных архива, содержащих материалы по Linux: textual name Linux directory
======================= ===============
tsx-11.mit.edu /pub/linux
sunsite.unc.edu /pub/Linux
nic.funet.fi /pub/OS/Linux
Доступ к этим архивам возможен по протоколу FTP, который обеспечивает
передачу файлов между машинами, подключенными к сети Internet. Пользователи,
имеющие доступ только к электронной почте, могут использовать мэйлсервер
ftpmail@sunsite.unc.edu.
Главные архивы полностью или частично дублируются на большом количестве
других машин Internet, расположенных по всему миру, в т.ч. в России. Новые поступления в
архивы публикуются в конференциях новостей, доступных через сеть Релком.
Объем установочного дистрибутива Linux составляет около 100 MB. С исходными
текстами и дополнительными материалами получается 600 MB и более. Выгоднее
приобрести CDROM с Linux, а через сеть Internet получать обновления для
отслеживания текущего состояния интересующей подсистемы. Например, объем
исходных текстов изменений к ядру составляет порядка 50 KB в неделю.
Через сеть Релком доступны
международные телеконференции сети новостей, в которых ежедневно публикуются
статьи на тему о Linux. Это одни из самых читаемых конференций в мире, они
входят в первую двадцатку из 3500 конференций. comp.os.linux.announce Важные объявления
comp.os.linux.answers FAQs, HOWTOs и другие документы
comp.os.linux.setup Установка и сопровождение системы
comp.os.linux.hardware Аппаратная совместимость и поддержка
comp.os.linux.networking Вопросы сети (TCP/IP, SLIP, PPP и т.д.)
comp.os.linux.x Установка и настройка X Window System
comp.os.linux.advocacy Сравнение Linux с другими ОС
comp.os.linux.development.apps Разработка прикладных и иных программ
comp.os.linux.development.system Разработка ядра и системных программ
comp.os.linux.misc Разное
Конференции comp.os.linux.* ведутся на английском языке.
В русскоязычной конференции relcom.archives (сообщения о новых поступлениях
на файловых серверах) появляется информация о поступлениях материалов по Linux в
архивы на машинах в России.
Издается ежемесячный журнал Linux Journal на английском языке:
Linux Journal
PO BOX 85867
Seattle, WA 98145-9913
USA
European Distribution:
Lasermoon Ltd, 2a Beaconsfield Road, Fareham, Hants, England.
PO16 0QB
Info Desk - info@lasermoon.co.uk
Russian Distribution:
ABAK Company,
4 Radischev Str,
Ekaterinburg, the Urals,
Russia.
Voice +7 (3432) 519061
info@abacus-ekt.mplik.ru
http://abacus-ekt.mplik.ru
Прежде всего следует попытаться самостоятельно найти ответ на
вопрос. Linux снабжен большим количеством разнообразной документации, в которой
почти наверняка дано решение вашей проблемы. Начать надо со справочников FAQ,
которые организованы в виде списка вопрос/ответ и дают ответы на наиболее часто
задаваемые вопросы, затем просмотреть руководства HOWTO и другую документацию.
Механизмы контекстного поиска (grep, less, регулярные выражения) позволяют
быстро обнаружить по ключевым словам нужное место в файле документа.
Пользователь, который умеет разбираться в исходных текстах имеет возможность
изучить любой вопрос с любой степенью детализации и даже поэкспериментировать с
системой.
Если вы не смогли самостоятельно решить проблему, обратитесь за консультацией
к коллегам, в телеконференцию, напишите автору.
Существуют
определенные правила работы в телеконференциях, которые регулярно публикуются в
конференции news.announce.newusers. Есть и другие источники (в т.ч. на русском),
описывающие этикет работы в сети.
Прежде всего пару дней понаблюдайте за положением дел в конференциях по
Linux, изучите что и как там спрашивают и отвечают. Обратите внимание на статьи
с названием типа "*** PLEASE READ THIS BEFORE POSTING ***". Возможно уже на этом
этапе вы найдете ответ на нужный вам вопрос.
Задайте вопрос в выбранную вами конференцию. Вопрос нужно формулировать
предельно конкретно, тогда можно рассчитывать получить конкретный ответ. Укажите
точно версию ядра, используемых библиотек, программы, приведите точную копию
диагностического сообщения и т.п. На вопрос типа "как направить вывод программы
печати в файл", скорее всего, вы получите ответ типа "RTFM" (т.е. прочитайте
документацию, прилагаемую к программе). Решение практически любой проблемы уже
где-то описано. Задать вопрос в форме "есть проблема такая-то, в каком файле
можно найти ответ?" - неплохая идея.
Как правило, вы получите ответ даже более полный, чем вы рассчитывали, но
стопроцентной гарантии получения ответа нет. Вероятность получения ответа
напрямую связана с умением сформулировать вопрос.
Фирмы,
выпускающие коммерческие системы, обеспечивают поддержку по телефону,
небесплатную, естественно (порядка $5 в минуту). Будьте уверены, что к телефону
подойдет не автор системы. Вам ответит дежурный служащий, перед которым лежит
список вопросов/ответов. Типовой ответ N1: "мы знаем эту проблему, она будет
решена в новой версии системы. Подождите, скоро она появится в продаже".
Ситуация вполне понятна - авторы трудятся над новой версией, им некогда отвечать
на вопросы, у них есть план и горят сроки.
У автора свободной программы нет начальства, он не нервничает по поводу срыва
сроков и может позволить себе спокойно подумать над вопросом, полученным по
электронной почте. Электронный адрес автора (авторов) указан в документации по
свободной программе (системе). И каждый может написать автору.
Не следует, однако, торопиться с вопросом. Сначала попытайтесь сами
разобраться с ситуацией или получить поддержку в телеконференции. Объективно
пользователи заинтересованы в том, чтобы как можно меньше мешать автору работать
на благо пользователей.
С другой стороны, автор заинтересован в обратной связи от пользователей,
которые в реальной работе досконально протестируют его продукт. Баланс интересов
автора и пользователя достигается тогда, когда пользователь, обращаясь к автору
напрямую, задает действительно серьезный вопрос, после того, как другие пути
решения проблемы исчерпаны. Учтите, что автор просматривает телеконференции и
удивить его сложно.
Формулировка вопроса должна отвечать тем же критериям, что и при обращении в
телеконференцию. Хорошим тоном считается, если вместе с описанием проблемы,
пользователь присылает и решение, таким, каким оно ему представляется. Отлично,
если будут приложены тексты изменений (патчей) к исходной программе. Пусть это
будет частное и в чем-то неверное решение, все равно, это поможет автору
доработать решение до общего случая в следующей версии. Серьезность позиции
пользователя повысит шансы получить серьезный ответ.
Автор свободной программы не находится на службе. Стопроцентной гарантии
получения ответа не существует.
Лицензия GNU GPL оговаривает отсутствие гарантий. Но не
запрещает любому лицу предложить защиту гарантий свободного продукта и взимать
за это плату.
Существуют фирмы, предоставляющие на коммерческой основе гарантированную
техническую поддержку пользователям свободного программного продукта, в т.ч. ОС
Linux. Ведущая роль в этом отношении принадлежит фирме Cygnus.
Обычно применяется электронная почта. Преимущество поддержки по электронной
почте все более осознается как пользователями, так и консультантами, и такая
форма обслуживания стремительно завоевывает широкую популярность. Сравните
необходимость пересказывать по телефону, что у вас происходит на экране дисплея,
и возможность просто послать копию экрана по почте.
Английская фирма Lasermoon
предоставляет бесплатную техническую поддержку как по электронной почте, так и
по телефону в рабочие дни. Для тех пользователей, которые приобрели у фирмы
CDROM с соответствующим продуктом.
Для подобных фирм поддержка является основным видом деятельности, а не
побочным, как для производителей коммерческих программ. Это положительно влияет
на качество услуг.
Ответ на вопрос пользователя гарантирован договором с фирмой на обслуживание.
Существует несколько различных дистрибутивов ОС Linux.
Начинающему можно рекомендовать для установки дистрибутив Slackware. Процедура
установки снабжена экранным интерфейсом с меню и подробными комментариями. После
установки в каталог /usr/doc/faq/howto записываются документы HOWTO, описывающие
все аспекты дальнейшей настройки системы - сети, электронной почты, X Windows,
эмулятора DOS, звуковой платы и т.д.
В последнее время большую популярность приобрел дистрибутив Debian. По своей
философии он наиболее близок к проекту Linux. Технически отличается тем, что
имеет логичную продуманную процедуру установки новых компонент, не требующей
переформатирования и перегенерации системы.
Если возникла проблема, которую вы не смогли решить самостоятельно,
обратитесь за консультацией к коллегам, в телеконференцию.
Если вы приобретаете новый компьютер для работы в Linux, то имеется
возможность избежать пуско-наладочных проблем, если обратиться в фирму,
продающую компьютеры с предустановленной и настроенной по требованию заказчика
системой.
Дополнительное преимущество этого подхода состоит в том, что вам поставят
стопроцентно IBM-совместимый компьютер. Некачественная техника просто не будет
работать с 32-х разрядной ОС.
Прежде всего необходимо правильно подобрать оборудование для
работы с Linux в нужных вам режимах. Прочитайте документ "Linux Hardware
Compatibility HOWTO" (Hardware-HOWTO), описывающий марки
оборудования, совместимого с Linux. Еще лучше, посоветуйтесь со специалистом.
Лучше всего, приобретайте компьютер у фирмы, которая сертифицирует оборудование
для работы с Linux.
В состав ОС Linux входят сотни различных программ, которые предоставляют
пользователю широчайший спектр возможностей для решения самых разнообразных
задач. Все эти программы подробно документированы - на английском языке. Таким
образом, если пользователь решил взять на себя роль системного администратора,
т.е. он сам устанавливает систему, изучает и настраивает пакеты программ, то он
должен знать английский язык, хотя бы на уровне чтения со словарем.
Если речь идет о производственных условиях, например, о рабочих станциях в
корпоративной сети фирмы, то проблемы языка, равно как и проблемы системного
администрирования, не касаются большинства пользователей, которые имеют дело с
интерфейсом прикладной программы и не более того. Однако, системный
администратор в данном случае должен обладать профессиональной квалификацией в
области Unix и Internet, а не просто умением читать по-английски. Конечно,
организация может получить услуги по установке и сопровождению системы у
специализированной фирмы.
Нужен ли опыт работы с системой Unix для того, чтобы освоить Linux? Если
такой опыт нужно приобрести, то нельзя предложить ничего лучше ОС Linux, как по
соображениям экономии, так и дружественности системы.
Желательно иметь на компьютере (достаточно на одном, если есть сеть)
устройство для чтения компакт-дисков. Во-первых, CDROM это самый удобный и
экономичный способ получения системы. Во-вторых, CDROM можно использовать как
обычный диск для чтения, например, документации, экономя место на жестком диске.
В-третьих, проигрывать музыкальные диски, продвигаясь вперед в освоении Linux.
Желательно иметь подключение к электронной почте, еще лучше к Internet по
протоколам TCP/IP. Во-первых, это крайне облегчит поддержку системы. Во-вторых,
даст возможность быть в курсе новостей об усовершенствованиях, появлении новых
пакетов программ, CDROM и т.п. В-третьих, это позволит получить по сети
необходимые изменения или дополнительные материалы.
В университете Карнеги-Меллона
разработан проект Mach - микроядерная архитектура операционной системы.
Микроядро управляет процессами, обменом сообщений между ними, виртуальной
памятью и драйверами устройств. Остальная часть ОС реализуется в виде серверов -
программ, которые выполняются в пользовательском режиме. В частности, это
означает, что пользователь может заменить сервер на свою собственную реализацию.
Сервер определяет вид системы для пользователя. Соответствующим образом
реализованный сервер превращает систему в Unix или DOS и т.д.
Микроядро это
современная технология, ориентированная на работу на многопроцессорных системах,
обладащая высокой степенью независимости от аппаратной платформы и
приспособляемостью под потребности пользователя.
С 3 по 6 ноября 1994 г. в Бухаресте состоялась Вторая Румынская конференция
по Открытым Системам (ROSE'94), на которой выступал Ричард Столлман (Richard
Stollman), основатель и президент фонда Free Software Foundation. Он
сообщил о текущем состоянии проекта
Hurd.
Hurd это свободная ОС, которая реализована в виде серверов над микроядром
Mach как расширенный вариант Unix. Hurd еще не закончен, хотя система уже
работоспособна. Текущие задачи Столлман видит в доработке сетевых функций и
реализации варианта системы для RISC-машин.
Hurd это завершающая стадия проекта GNU - создание свободной
стандартной среды ОС Unix, - который разрабатывает фонд FSF. Столлман предлагает
уже сейчас считать, что имеется полная реализация проекта GNU - ОС Linux, так
как в состав Linux включено программное обеспечение проекта GNU (трансляторы,
редакторы, утилиты и др.).
А вот что говорит Луи-Доминик Дюбо (Louis-Dominique Dubeau) разработчик сервера файловой системы Linux для
Hurd: "Hurd отлично спроектирован и, думаю, оправдает ожидания.
Использование технологии Hurd для того, чтобы реализовать Linux на базе
микроядра - это лучшее из возможных решений в настоящее время."
Таким образом, Linux и Hurd идут навстречу друг другу. Это будут серверы над
микроядром Mach.
Фирма Apple спонсирует
разработку MkLinux -
сервера Linux над микроядром OSF. Разработку выполняет OSF Research Institute.
Все исходные тексты для платформ Intel и Power Macintosh распространяются
свободно. Сервер Linux распространяется под лицензией GNU GPL, микроядро и
другие серверы распространяются под лицензией OSF Free Copyright. В настоящее
время версию MkLinux на платформе Intel можно получить через сеть Internet.
Версия для платформы Power Macintosh будет готова для распространения летом 1996
года.
|