v0.4.6 Данная редакция относится к весне 1996 г.
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 это полноценная 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 распахивает дверь в гигантский мир открытых систем, в котором существует огромное количество средств для решения самых разнообразных задач.
На отдельной консоли может работать как текстовая, так и графическая программа.
На одной из свободных консолей можно запустить оконную графическую систему X Window System. Открываете окно на экране и играете в DOOM. Можно через сеть с партнером. А в других окнах - база данных, почта, редактор, трансляция и т.д.
Таким образом, одновременно работает много консолей, а на одной из консолей еще и много окон X Window System.
Кроме того, в системе одновременно работают фоновые процессы, которые не выдают информации на дисплей, но делают свою работу, например, передают данные по модему, печатают на принтере, передают почту по сети и т.д. Фоновый процесс может инициировать как пользователь, так и сама ОС в соответствии со сложившимися условиями (есть почта для отправки, данные для печати, наступило время связи по модему и т.п.).
Linux обеспечивает физическое распараллеливание вычислений на многопроцессорных машинах (до 32 процессоров), но это не имеет прямого отношения к одновременному выполнению нескольких программ. Операционная система позволяет одновременно выполнять несколько задач на одном процессоре, сотни раз в секунду переключая процессор с задачи на задачу.
Консоль 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 мало документации, а в том, что ее очень много, она представлена в многообразных формах и доступна из массы различных источников. Для того, чтобы сориентироваться в этом богатстве выбора, потребуются определенные усилия.
Документация написана на английском языке. Существуют достаточно полные версии документации на немецком и японском языках. В 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:
Работа в 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 содержит подробный перечень поддерживаемого оборудования, включая типы графических адаптеров, контроллеров, сетевых плат и т.д.
При поддержке фирмы DEC реализован и получает распространение Linux для платформы DEC AXP.
В стадии разработки находятся версии Linux для платформ MIPS, PowerPC и др. Разработка для Power Macintosh поддерживается фирмой Apple.
Существуют коммерческие варианты дистрибутива в целом, например, Caldera Network Desktop, которые построен в основном на наборе готовых продуктов дистрибутива Red Hat Linux.
В Linux выполняются коммерческие приложения из других систем, например, SCO Unix:
Для взаимодействия с популярной службой WWW (World Wide Web) в Linux имеются программы-клиенты Lynx, Mosaic, Netscape. Для организации собственного сервиса WWW имеется богатый выбор серверов.
В Linux имеется большое количество программ, ориентированных на разнообразную обработку текстовой информации и подготовки печатного издания типографского качества. Полный набор средств слишком велик даже для простого перечисления, но особо следует выделить системы TeX, LyX и Andrew.
Можно использовать текстовый процессор WordPerfect как в виде версии для Linux, так и версию из ОС SCO Unix.
MS Word можно будет использовать под управлением системы WINE, предназначенной для запуска MS Windows приложений в среде X Windows. Есть возможность выполнять MS Word для MS Windows 3.1 под управлением эмулятора DOS.
Имеется загрузчик, который позволяет выборочно загружать требуемую ОС с диска.
Файловые системы DoubleSpace/Stacked и т.п. становятся доступными на чтение и на запись в Linux при работе эмулятора DOS.
Файловая система ОС Linux поддерживает все стандартные форматы CD ROM.
Linux способен быть как клиентом, так и сервером сетевой файловой системы NFS. Linux поддерживает протоколы NCP и SMB и может служить файлсервером или получать доступ к файлосерверам NetWare и Windows for Workgroups, Windows NT.
На базе UMSDOS построен 4-х дискетный дистрибутив Mini-Linux, который устанавливается в файловую систему DOS.
Приложение DOS выполняется параллельно с другими процессами. Можно одновременно выполнять несколько приложений DOS.
В эмуляторе 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.
В 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 содержит огромное количество данных на какие угодно темы и предоставляет широкий спектр услуг для получения информации. Особую популярность завоевывает относительно новый сервис 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 можно подключиться через сеть Релком.
Широко распространено представление, что сервер - это главный компьютер и обычно работает где-то за стенкой, далеко; а клиент это обычно мы сами и наша машина, разумеется.
В данном контексте имеется в виду нечто другое. Сервер это программа, которая предоставляет сервис, т.е. получает запрос и дает ответ. Клиент - это программа, которая выдает запрос и получает ответ. В общем случае это роли, которыми программы могут поменяться по ходу дела. Одна и та же программа во взаимодействиях с разными партнерами может быть одновременно сервером и клиентом. Сервер может одновременно обслуживать несколько клиентов.
Современное понимание сети содержит три уровня:
Для DOS и MS Windows реализованы сетевые пакеты, которые поддерживают протоколы TCP/IP. Для того, чтобы сделать полноценный сервер этого маловато, но в роли клиентов программы DOS и MS Windows могут интегрироваться в сеть.
Локальная сеть состоит из ряда машин, которые используют общую магистраль данных. Например, Ethernet. Возможны и другие варианты, например, подключение машин через последовательные порты. Локальная сеть, как правило, ограничивается пределами здания.
Локальные сети связываются между собой, образуя глобальную сеть.
Самая большая глобальная сеть - это Internet. Она объединяет 45 000 подсетей.
Делать сеть - так настоящую. Пользователь у себя на предприятии строит сеть в стандартах Internet, в виде совокупности локальных сетей по корпусам, затем подключается к Internet (Релкому) и связывается по сети с родственными предприятиями. Обратите внимание, что при этом программа-клиент работает с программой-сервером совершенно одинаково, что на машине, где установлен сервер, что из другого корпуса, что из другого города и даже другой страны.
Это достигается, во-первых, за счет того, что 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 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 реализована на большом количестве машин различной архитектуры в различных операционных системах. Это дает возможность через сеть выполнять приложение на мощном (супер)компьютере, а видеть результат и управлять работой приложения на скромной персоналке. На своем мониторе можно одновременно открыть несколько окон - одно приложение на машине в Сан-Франциско, второе в Сиднее, третье в Париже - и работать с ними одновременно, перемещая мышкой (или программно) данные между ними.
Linux с X Windows на персональном компьютере представляет собой достойную внимания замену X-терминала.
Во-первых, это сравнительно недорогое решение. Даже в том случае, если в качестве дисплея использовать хороший 17-дюймовый монитор.
Во-вторых, это больше, чем просто X-терминал. Это универсальный компьютер, который одновременно можно использовать для решения широкого класса задач.
Существуют различные программные реализации X-терминалов для DOS и MS Windows. Это коммерческие системы, но все они сильно уступают по быстродействию и надежности системе X Windows в Linux.
Установив Linux в раздел DOS, и выкинув все лишнее, можно получить программный X-терминал, который загружается командой в DOS прямо из файловой системы DOS. Это займет около 10 MB на диске.
Загруженный по сети 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.
Другой путь состоит в том, чтобы отдельную персоналку сконфигурировать как обычное рабочее место сети 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.
Лицензия 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.
Лицензия GNU GPL не запрещает использование текста свободного программного продукта в коммерческой разработке, но при этом те компоненты разрабатываемой системы, в которые включены коды, лицензированные GNU GPL, также должны получить лицензию GNU GPL, т.е. стать свободными.
Фирма Caldera использует лицензию GNU GPL. Фирма сделала вклад в развитие ядра Linux, в частности, разработав коды для поддержки протокола IPX, которые распространяются в составе исходных текстов ядра. Другие самостоятельные части системы, которые были полностью разработаны на базе фирменных технологий, являются коммерческими и не поставляются в исходном виде. Это, например, клиент Netware и графический интерфейс метафоры рабочего стола.
Такой подход также не запрещен лицензией GNU GPL, при условии, что свободные программные продукты, включенные в состав коммерческой системы, не изменяют свой статус, т.е. остаются под действием лицензиии GNU GPL и распространяются вместе с исходными текстами.
Например, использование свободного транслятора, лицензированного GNU GPL, для создания собственной программы без использования фрагментов исходных текстов каких-либо свободных программ. Это можно делать, при этом статус инструмента не влияет на статус продукта, который может быть наделен произвольной лицензией по желанию разработчика.
Встраивание в собственную программу библиотечных вызовов свободной библиотеки не ограничивает статус программы. Для библиотек применяется несколько другая лицензия - GNU LGPL (Library General Public License), которая расширяет толкование GNU GPL, учитывая некоторые особенности использования библиотек.
Широко распространена практика использования Linux как инструментальной ОС разработчиками коммерческих программ с последующим их переносом в коммерческую ОС.
Это никак не ограничивается лицензией GNU GPL.
Linux широко используется как сервер и клиент электронной почты и новостей, WWW, X-терминал, издательский комплекс, графическая станция, управляющая лабораторная система и т.д. и т.п.
В проекте Linux задействованы тысячи разработчиков и нет ни одного управляющего. Отсутствуют и какие-либо централизованно-формализованные цели и планы. Движущим началом проекта являются непосредственные потребности пользователей. Механизмом согласования усилий разработчиков служит Internet.
Любой желающий может присоединиться к команде разработчиков. Для этого надо отправить авторский исходный текст в исторически сложившиеся "приемные пункты", которые есть в различных странах на ряде машин сети Internet.
В первую же неделю тысячи людей возьмут по сети этот текст. За несколько дней завершится скрупулезное бета-тестирование и разработчик получит полную информацию о выявленных ошибках. Очень часто вместе с исправлениями. Если это стоящая вещь, то по сети новостей ее расхвалят и она завоюет популярность.
Так и произошло с системой Linux в целом.
Во-первых, если текущая версия системы удовлетворяет все ваши потребности, то нет необходимости ее обновлять.
Во-вторых, если вы все же пришли к выводу, что вам нужна новая версия, хотя бы просто из-за стремления к новизне, то возьмите для этого дистрибутив системы, распространяемый на компакт-диске (CDROM). Как правило, такая версия отстает от текущего состояния на 2-4 месяца, однако, она является опробованным продуктом, представленным в завершенном виде.
Открытость разработки не мешает обычному пользователю модернизировать свою систему раз в полгода или год, но передовому пользователю позволяет делать это каждую неделю.
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, исходные тексты системы, дополнительные пакеты программ, документацию, графические и звуковые файлы и другие дополнительные материалы.
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 в неделю.
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, изучите что и как там спрашивают и отвечают. Обратите внимание на статьи с названием типа "*** PLEASE READ THIS BEFORE POSTING ***". Возможно уже на этом этапе вы найдете ответ на нужный вам вопрос.
Задайте вопрос в выбранную вами конференцию. Вопрос нужно формулировать предельно конкретно, тогда можно рассчитывать получить конкретный ответ. Укажите точно версию ядра, используемых библиотек, программы, приведите точную копию диагностического сообщения и т.п. На вопрос типа "как направить вывод программы печати в файл", скорее всего, вы получите ответ типа "RTFM" (т.е. прочитайте документацию, прилагаемую к программе). Решение практически любой проблемы уже где-то описано. Задать вопрос в форме "есть проблема такая-то, в каком файле можно найти ответ?" - неплохая идея.
Как правило, вы получите ответ даже более полный, чем вы рассчитывали, но стопроцентной гарантии получения ответа нет. Вероятность получения ответа напрямую связана с умением сформулировать вопрос.
У автора свободной программы нет начальства, он не нервничает по поводу срыва сроков и может позволить себе спокойно подумать над вопросом, полученным по электронной почте. Электронный адрес автора (авторов) указан в документации по свободной программе (системе). И каждый может написать автору.
Не следует, однако, торопиться с вопросом. Сначала попытайтесь сами разобраться с ситуацией или получить поддержку в телеконференции. Объективно пользователи заинтересованы в том, чтобы как можно меньше мешать автору работать на благо пользователей.
С другой стороны, автор заинтересован в обратной связи от пользователей, которые в реальной работе досконально протестируют его продукт. Баланс интересов автора и пользователя достигается тогда, когда пользователь, обращаясь к автору напрямую, задает действительно серьезный вопрос, после того, как другие пути решения проблемы исчерпаны. Учтите, что автор просматривает телеконференции и удивить его сложно.
Формулировка вопроса должна отвечать тем же критериям, что и при обращении в телеконференцию. Хорошим тоном считается, если вместе с описанием проблемы, пользователь присылает и решение, таким, каким оно ему представляется. Отлично, если будут приложены тексты изменений (патчей) к исходной программе. Пусть это будет частное и в чем-то неверное решение, все равно, это поможет автору доработать решение до общего случая в следующей версии. Серьезность позиции пользователя повысит шансы получить серьезный ответ.
Автор свободной программы не находится на службе. Стопроцентной гарантии получения ответа не существует.
Существуют фирмы, предоставляющие на коммерческой основе гарантированную техническую поддержку пользователям свободного программного продукта, в т.ч. ОС Linux. Ведущая роль в этом отношении принадлежит фирме Cygnus.
Обычно применяется электронная почта. Преимущество поддержки по электронной почте все более осознается как пользователями, так и консультантами, и такая форма обслуживания стремительно завоевывает широкую популярность. Сравните необходимость пересказывать по телефону, что у вас происходит на экране дисплея, и возможность просто послать копию экрана по почте.
Английская фирма Lasermoon предоставляет бесплатную техническую поддержку как по электронной почте, так и по телефону в рабочие дни. Для тех пользователей, которые приобрели у фирмы CDROM с соответствующим продуктом.
Для подобных фирм поддержка является основным видом деятельности, а не побочным, как для производителей коммерческих программ. Это положительно влияет на качество услуг.
Ответ на вопрос пользователя гарантирован договором с фирмой на обслуживание.
В последнее время большую популярность приобрел дистрибутив Debian. По своей философии он наиболее близок к проекту Linux. Технически отличается тем, что имеет логичную продуманную процедуру установки новых компонент, не требующей переформатирования и перегенерации системы.
Если возникла проблема, которую вы не смогли решить самостоятельно, обратитесь за консультацией к коллегам, в телеконференцию.
Если вы приобретаете новый компьютер для работы в Linux, то имеется возможность избежать пуско-наладочных проблем, если обратиться в фирму, продающую компьютеры с предустановленной и настроенной по требованию заказчика системой.
Дополнительное преимущество этого подхода состоит в том, что вам поставят стопроцентно IBM-совместимый компьютер. Некачественная техника просто не будет работать с 32-х разрядной ОС.
В состав ОС Linux входят сотни различных программ, которые предоставляют пользователю широчайший спектр возможностей для решения самых разнообразных задач. Все эти программы подробно документированы - на английском языке. Таким образом, если пользователь решил взять на себя роль системного администратора, т.е. он сам устанавливает систему, изучает и настраивает пакеты программ, то он должен знать английский язык, хотя бы на уровне чтения со словарем.
Если речь идет о производственных условиях, например, о рабочих станциях в корпоративной сети фирмы, то проблемы языка, равно как и проблемы системного администрирования, не касаются большинства пользователей, которые имеют дело с интерфейсом прикладной программы и не более того. Однако, системный администратор в данном случае должен обладать профессиональной квалификацией в области Unix и Internet, а не просто умением читать по-английски. Конечно, организация может получить услуги по установке и сопровождению системы у специализированной фирмы.
Нужен ли опыт работы с системой Unix для того, чтобы освоить Linux? Если такой опыт нужно приобрести, то нельзя предложить ничего лучше ОС Linux, как по соображениям экономии, так и дружественности системы.
Желательно иметь на компьютере (достаточно на одном, если есть сеть) устройство для чтения компакт-дисков. Во-первых, CDROM это самый удобный и экономичный способ получения системы. Во-вторых, CDROM можно использовать как обычный диск для чтения, например, документации, экономя место на жестком диске. В-третьих, проигрывать музыкальные диски, продвигаясь вперед в освоении Linux.
Желательно иметь подключение к электронной почте, еще лучше к Internet по протоколам TCP/IP. Во-первых, это крайне облегчит поддержку системы. Во-вторых, даст возможность быть в курсе новостей об усовершенствованиях, появлении новых пакетов программ, CDROM и т.п. В-третьих, это позволит получить по сети необходимые изменения или дополнительные материалы.
Сервер определяет вид системы для пользователя. Соответствующим образом реализованный сервер превращает систему в 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.