Вход

Операционная система LINUX

Курсовая работа* по программированию
Дата добавления: 10 августа 2003
Язык курсовой: Русский
Word, rtf, 647 кб (архив zip, 56 кб)
Курсовую можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы
Найти ещё больше



Содержание


  1. Введение в Linux 2

  2. Ключевые черты Linux 3

  3. Главные отличия Linux от Unix 4

  4. Сравнительные характеристики 32-разрядных ОС 4

  5. Системные характеристики Linux 7

  6. Програмные характеристики

        1. Базовые команды и утилиты 9

        2. Языки программирования 11

        3. Система “X Window” 11

        4. Работа в сети 12

        5. Телекоммуникации и BBS 13

        6. Интерфейс с MS-DOS 14

        7. Другие приложения 14

  7. Исследование файловой системы 15

  8. Заключение 18

  9. Список литературы 19








  1. Введение в Linux


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

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

Первоначально LINUX создавался Линусом Торвальдсом как хобби. Его вдохновила операционная система Minix. Дальше LINUX стал разрабатываться группой энтузиастов UNIX. Сегодня LINUX – полноценная операционная система UNIX, способная работать с “X Windows”, TCP/IP, Emacs и прочими пакетами.

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

Университеты по всему миру применяют LINUX в учебных курсах по программированию и проектированию операционных систем.

  1. Ключевые черты LINUX.


  • Многопользовательская операционная система, защищенного 32-х разрядного режима, в ее составе нет 16-ти разрядного кода, кроме подпрограммы загрузки.

  • Передовая 32[64 для Alpha] битная подсистема виртуальной памяти.

  • Отсутствует ограничение 640к. LINUX может выделить до 3Гб на процесс, если у вас есть достаточно виртуальной памяти.

  • Система безопасности файлов и процессов пользователя.

  • Сетевая система графического интерфейса “X Windows”, отвечающая промышленному стандарту. Запуск приложений через сеть. Возможность работы приложений с многих машин на вашей рабочей станции одновременно.

  • Общие библиотеки (“Shared libraries”) для повышения эффективности использования памяти и дискового пространства.

  • Прозрачная программная эмуляция мат. сопроцессора для машин без такового.

  • API стиля POSIX.1 с USL и BSD расширениями. Перенос почти любого корректно написанного Posix или Unix API приложения является тривиальной задачей.

  • Встроенная поддержка сети TCP/IP включая оба протокола и стандартный набор инструментов BSD.

  • Широкий спектр WWW инструментов.

  • Клиент и сервер NFS - стандартной сетевой файловой системы Unix.

  • SAMBA SMB сервер для LAN manager и клиентов Windows for Workgroups.

  • MARS_NWE сервер клона Netware для использования в сетях IPX.

  • Netatalk Appletalk сервер для использования в сетях Appletalk (Эппл).

  • Клиент и сервер SMTP (E-mail) включая поддержку MIME.

  • Программное обеспечение для UUCP - протокола старого стиля для эффективного хранения и маршрутизации сетевой информации.

  • SLIP и PPP для работы с сетями Интернет через аналоговые и цифровые модемы.

  • Широкий ряд сетевых высокопроизводительных драйверов.

  • Драйверы для звуковых плат и приводов СD-ROM.

  • Эмулятор DOS.

  • Практически бесплатная система. Лицензия позволяет не только копировать и распространять soft, но и предоставляются исходные тексты.

  • Действительно надежная система, шансы на то, что одна задача повалит всю систему, практически равны нулю.

  • 2-6 миллионов пользователей по всему миру.

    1. Главные отличия LINUX от UNIX


  1. Цена. Коммерческие UNIX системы стоят 1000 - 3000 USD. LINUX распространяется бесплатно или для коммерческих дистрибутивов по сравнительно низкой цене.

  2. Лицензионная политика. LINUX распространяется вместе с исходными текстами и под лицензией, которая не разрешает использовать LINUX, не распространяя исходных текстов. Эта политика постоянно поддерживает цену коммерческих дистрибутивов LINUX на низком уровне. Эта политика делает также невозможным использования тактики имени Microsoft - использование недокументированных возможностей системы.

  3. Переносимость. LINUX с самого начала был предназначен для работы на IBM совместимых компьютерах. Отсюда его невысокие требования к ресурсам.


    1. Сравнительные характеристики 32-разрядных операционных систем

LINUX, так же как и OS/2, разрабатывался и оптимизировался для работы с процессором I80386 и совместимых с ним. А Windows NT, как ожидалось, должна была стать новым стандартом операционной системы и была портирована на MIPS и DEC Alpha. Все три ОС поддерживают многозадачный режим работы, при котором одновременно выполняется несколько пользовательских приложений. По сравнению с MS-DOS это существенный шаг вперед. NT поддерживает также многопроцессорный режим работы, который, впрочем, ориентирован на работу только с процессором Pentium. NT и Linux поддерживают также динамическое кэширование дисковой памяти, в то время как в OS/2 реализован традиционный подход, состоящий в выделении фиксированного объема памяти. В результате производительность Linux и NT оказывается существенно выше, поскольку необходимые для обработки данные в большинстве случаев оказываются уже в кэш-памяти. В отличие от OS/2 и Windows NT многопользовательская работа поддерживается Linux в полном объеме. Локальные пользователи, удаленные терминалы, подключенные через модемы, а также пользователи, подключенные посредствами локальной вычислительной сети без каких-либо ограничений могут одновременно работать с графическими и символьно-ориентированными приложениями. Для многих практических ситуаций эта возможность ставит Linux вне конкуренции. Linux имеет также ряд средств обеспечения безопасности системы, предотвращающих попытки пользователей “сломать машинку”. Впрочем, хотя Windows NT не является многопользовательской системой, она проверяет полномочия подключишегося к ней пользователя. Поэтому вы можете без опаски предоставлять сетевой доступ к Linux или NT машине, в то время, как пользователь OS/2 имеет все необходимые средства для умышленного или неумышленного разрушения операционной системы. Основные характеристики и возможности рассматриваемых систем сведены в таблице.

Таблица. Сравнительные характеристики 32-разрядных операционных систем

Параметр

Linux

OS/2

Windows NT

Многозадачность

Да

Да

Да

Многопотоковая обработка

Да

Да

Да

Многопроцессорность

Нет

Разрабатывается

Да

Поддержка параллельной работы

Да

Нет

Нет

Многопользовательский режим

Да

Нет

Нет

Легкость портирования ОС на другую платформу

Нет

Нет

Да

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

Да

Нет

Да

Максимальный объем памяти, выделяемый одному процессу

3 Гбайт

512 Мбайт

2 Гбайт

Поддерживаемые сетевые протоколы

TCP/IP

Да

За плату

Да

NFS

Да

За плату

Да

IPX/SPX

Да

За плату

За плату

IBM LAN Server

Нет

За плату

Нет

Microsoft LAN Server

Нет

Нет

Да

Поддерживаемые файловые системы

FAT (DOS)

Да

Да

Да

HPFS (OS/2)

только чтение

Да

Да

NTFS (Windows NT)

Нет

Нет

Да

EXT2 (Linux)

Да

Нет

Нет

ISO9660 (CD-ROM)

Да

Да

Да

Network File System (NFS)

Да

За плату

Да

Coherent (UNIX)

Да

Нет

Нет

Stacker

Нет

Да

Нет

DoubleSpace

Нет

Нет

Нет

Поддерживаемые приложения

DOS

Да

Да

Да

16-разрядные приложения Windows

Разрабатывается

Да

Да

16-разрядные приложения OS/2

Нет

Да

Да

32-разрядные приложения Windows

Нет

Нет

Да

32-разрядные приложения OS/2

Нет

Да

Нет

POSIX-совместимые приложения

Да

Нет

Да

Приложения для Macintosh

Разрабатывается

Нет

Нет

Приложения SCO UNIX

Да

Нет

Нет

Клиенты “X Window”

Да

Нет

Нет

Очевидно, что каждая дополнительная функция, реализованная в системе, приводит к увеличению объема системы, что сказывается на требованиях к оперативной памяти и жестким дискам. Кроме того, чем больше объем операционной системы, тем медленнее она обычно работает. Windows NT является самой большой из рассматриваемых нами систем. Причиной этого является высокая сложность системы и большой набор поддерживаемых ею функций. Что, кстати, только повышает конкурентоспособность системы. Linux (в комплекте с “X Window”) является следующей по размеру системой. И наконец, OS/2 является наиболее компактной системой. Именно в этом и состоит привлекательность операционной системы, разработанной IBM. Пользователю необходимо иметь только 8 Мбайт оперативной памяти, чтобы приобщиться к миру объектно-ориентированного интерфейса, и представляет собой неплохую платформу для многозадачной работы с приложениями DOS, Windows и OS/2. Отметим, что размер системы является одной из наиболее сильных характеристик Linux. Cистема изначально проектировалась максимально компактной и производительной, в то время как для NT основным критерием оптимизации являлась переносимость, а для OS/2 - совместимость с предыдущими версиями системы. А кроме того, поскольку любой администратор Linux-системы имеет в своем распоряжении полный исходный текст ОС, она может быть оптимизирована для работы с конкретным оборудованием и нуждами пользователя. Увы, OS/2 и NT похвастаться такой возможностью не могут.

Вывод:

  1. Windows NT интересен, поскольку это устойчивая система, предназначенная для широко распространенных процессоров фирмы Intel. OS/2 интересен по той причине, что это наилучшая система для запуска 16-разрядных приложений DOS и Windows, и при этом предоставляет возможность приобщиться к привлекательному миру 32-разрядных систем.

  2. В обеих системах один и тот же недостаток - и OS/2 и NT привязывают пользователя к той или иной технологии - ведь приложения будут работать либо в OS/2, либо в Windows NT. А вот Linux эта опасность не грозит. Приложения, разработанные для Linux могут быть перенесены на любую UNIX-систему.

  3. Приятной особенностью Linux является его способность использовать программное обеспечение, предназначенное для других РС-ориентированных версий UNIX, таких, как например, SCO UNIX. Впрочем, для UNIX-систем пока не реализованы версии текстовых процессоров, сопоставимых с возможностями Microsoft Word или Lotus Word Pro. И к сожалению, именно этот факт сдерживает распространение Linux.

    1. Системные характеристики

Linux поддерживает большинство свойств, присущих другим реализациям UNIX, плюс ряд тех, которых больше нигде нет. Эта глава - поверхностный обзор характеристик ядра Linux. Linux - это полная многозадачная многопользовательская операционная система. Это означает, что одновременно много пользователей могут работать на одной машине, одновременно выполнять много программ. Linux достаточно хорошо совместим с рядом стандартов для UNIX (насколько можно говорить о стандартизации UNIX) на уровне исходных текстов, включая IEEE POSIX.1, System V и BSD. Он создавался имея в виду такую совместимость. Поэтому, скорее всего, вы найдете в Linux черты, присущие многим UNIX-системам. Большинство свободно распространяемых по сети Internet программ для UNIX может быть откомпилировано для LINUX практически без особых изменений. Кроме того, все исходные тексты для Linux, включая ядро, драйверы устройств, библиотеки, пользовательские программы и инструментальные средства распространяются свободно. Другие специфические внутренние черты Linux включают контроль работ по стандарту POSIX (используемый оболочками, такими как csh и bash), псевдотерминалы (pty), поддержка национальных и стандартных клавиатур, динамически загружаемыми драйверами клавиатур. Linux также поддерживает виртуальные консоли (“virtual consoles”), которые позволяют “переключать экраны” на консоли в текстовом режиме, также позволяют войти в систему под несколькими именами в одно время. Ядро может само эмулировать команды 387-FPU, так что системы без сопроцессора могут выполнять программы, на него рассчитывающие (т.е. с плавающей точкой). Linux поддерживает различные типы файловых систем для хранения данных. Некоторые файловые системы, такие как файловая система ext2fs, были созданы специально для Linux. Поддерживаются также другие типы файловых систем, такие как Minix-1 и Xenix. Реализована также файловая система MS-DOS, позволяющая прямо обращаться к файлам MS-DOS на жестком диске. Поддерживается также файловая система ISO 9660. Linux обеспечивает полный набор протоколов TCP/IP для сетевой работы, включая драйверы устройств для многих популярных карт Ethernet, SLIP (Serial Line Internet Protocol, обеспечивающие вам доступ по TCP/IP при последовательном соединении), PLIP (Parallel Line Internet Protocol), PPP (Point-to-Point Protocol), NFS (Network File System), и так далее. Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet, NNTP и SMTP. Ядро Linux сразу создано с учетом специального защищенного режима для процессоров Intel 80386 и 80486. В частности, Linux использует парадигму описания памяти в защищенном режиме и другие новые свойства процессоров. Ядро Linux поддерживает загрузку только нужных страниц. То есть с диска в память загружаются те сегменты программы, которые действительно используются. Возможно использование одной страницы, физически один раз загруженной в память, несколькими выполняемыми программами. Для увеличения объема доступной памяти Linux осуществляет также разбиение диска на страницы: то есть на диске может быть выделено до 256 Мбайт “пространства для своппинга” (swap space). В область своппинга выгружается не весь процесс, а только отдельные его части, в которых нет необходимости). Когда системе нужно больше физической памяти, то она с помощью своппинга выводит неактивные страницы на диск. Это позволяет выполнять более объемные программы и обслуживать одновременно больше пользователей. Однако свопинг не исключает наращивания физической памяти, поскольку он снижает быстродействие, увеличивает время доступа. Ядро также поддерживает универсальный пул памяти для пользовательских программ и дискового КЭШа. При этом для КЭШа может использоваться вся память, и наоборот, кэш уменьшается при работе больших программ. Выполняемые программы используют динамически связываемые библиотеки, т.е. выполняемые программы могут совместно использовать библиотечную программу, представленную одним физическим файлом на диске. Это позволяет выполняемым файлам занимать меньше места на диске, особенно тем, которые многократно используют библиотечные функции. Есть также статические связываемые библиотеки для тех, кто желает пользоваться отладкой на уровне объектных кодов или иметь “полные” выполняемые программы, которые не нуждаются в разделяемых библиотеках. В Linux разделяемые библиотеки динамически связываются во время выполнения, позволяя программисту заменять библиотечные модули своими собственными. Для обеспечения отладки ядро Linux выдает дампы памяти для “посмертного” анализа. Использование дампа и динамических отладчиков позволяет определить причины краха программы.

    1. Программные характеристики

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

      1. Базовые команды и утилиты

Практически любая утилита, которую вы ожидаете найти в стандартных реализациях UNIX, имеется и в Linux. Сюда включены и базовые команды, такие как ls, awk, tr, sed, bc, more и т.д. Поэтому вы в праве ожидать знакомой рабочей UNIX-среды. В Linux есть все стандартные команды и утилиты. Вместо перечисления всех возможных опций каждой команды, будем говорить только о тех, которые полезны или важны в данное время (Таблица на следущей странице). Действительно, большинство из этих команд имеет большое число опций (большинство из которых никогда не используется). Можно для каждой команды с помощью man посмотреть все возможные опции. В Linux имеются многие текстовые редакторы, включая vi, ex, pico, jove, также как GNU Emacs и его вариации, вроде Lucid Emacs (который содержит расширение для использования под “X Window”) и joe. Но vi имеет много ограничений по причине своего преклонного возраста, сейчас завоевывают популярность более современные и сложные редакторы вроде Emacs. Emacs поддерживает базирующийся на LISP макроязык и интерпретатор, мощный командный синтаксис и другие расширения. Существуют макропакеты Emacs, позволяющие читать электронную почту и новости, редактировать содержимое каталогов и даже проводить сеансы психотерапии с использованием искусственного интеллекта. Многие пользователи самой важной утилитой считают shell. Shell - это программа, которая читает и выполняет команды пользователя. Кроме того, многие оболочки имеют такие возможности, как контроль выполнения (job control), позволяя пользователю управлять несколькими параллельными процессами, также перенаправление входа-выхода и командный язык для написания командных файлов (shell scripts). Командный файл - это программа на языке оболочки, аналогичная “batch file” в MS-DOS. В Linux много типов оболочек. Наиболее важное различие между ними - используемый командный язык. Например, C Shell (csh) использует командный язык, чем-то напоминающий язык программирования Си. Классический Баурновский shell (Bourne Shell) использует иной командный язык. Обычно выбор оболочки обусловлен выбором соответствующего командного языка. Выбранная оболочка в какой-то мере определяет рабочую среду. Наиболее популярная оболочка - это GNU Bourne Again Shell (bash), т.е. вариант Bourne shell, включающий много современных свойств и возможностей, таких как управление работами, командную историю, дописывание имен команд и имен файлов, Emacs-подобный интерфейс редактирования командной строки и мощное расширение стандартной оболочки (Bourne shell). Другая популярная оболочка - tcsh, версия C Shell с более современными функциями по сравнению с bash. Другие оболочки: zsh - небольшая баурно-подобная оболочка; ksh - оболочка Корна; ash - оболочка BSD. Что особенно важно сказать относительно этих оболочек? - Linux дает уникальную возможность кроить систему под наши личные нужды.

Команда

Что делает

Синтаксис

Cd

Изменяет текущий рабочий каталог

Cd ;
- каталог, в который перейти.

Ls

Выдает информацию о файлах в каталоге

Ls ...
Где ... имена файлов или каталогов, информацию про которые надо выдать.

Опции огромное колличество. Наиболее часто используемые: -F (для представления информации о типах файлов), и -l (выдает в длинном формате информацию о размерах файлов, владельцах, правах доступа и т.д.).

Cp

Копирует файл(ы) в файл или каталог

Cp ...
Где ... имена копируемых файлов, а файл или каталог, в который копируют.

Mv

Перемещает файл(ы) в другой файл или каталог

Mv ...
Где ... имена перемещаемых файлов, а имя файла или каталога, в который перемещают.

Rm

Удаляет файлы

Rm ...
Где ... имена удаляемых файлов.
Опции: -i потребует вашего подтверждения перед удалением файла

Mkdir

Создает новые каталоги

Mkdir ...

Rmdir

Эта команда удаляет пустые каталоги

rmdir ...
Где ... удаляемые каталоги

Man

Выдает страницу руководства по данной команде или ресурсу.

man
Где имя команды или ресурса, о котором запрашивается информация

More

Выдает содержимое названных файлов по-экранно

more ...
Где ... отображаемые файлы

Cat

Используется для конкатенации файлов. Также используется для выдачи полного содержания файла разом

cat ...
Где ... выдаваемые файлы

Echo

Просто повторяет аргументы

echo ...
Где ... "повторяемые" аргументы.

Grep

Выдает все строки в названном файле(лах), которые содержат заданный образец

grep ...
Где - образец (представленный регулярным выражением) и ... - файлы, в которых производится поиск

      1. Языки программирования и утилиты

Linux обеспечивает полную UNIX-среду программирования, включая все стандартные библиотеки, программный инструментарий, компиляторы, отладчики, которые вы встречаете и в других UNIX-системах. В мире UNIX большинство приложений и системных программ делаются на Си или Си++. Стандартным компилятором для Си и Си++ в Linux служит GNU gcc, который является современным компилятором, поддерживающим много опций. Он способен компилировать Си так же, как Objective-C, другие объектно-ориентированные диалекты Си. Кроме Си и Си++ многие другие компиляторы и интерпретаторы были перенесены в Linux, такие как Smalltalk, FORTRAN, Pascal, LISP, Scheme и Ada, Perl и shell-подобный командный язык, включающий поддержку разработки простейших приложений в “X Window”. В Linux был перенесен продвинутый отладчик gdb, позволяющий пошагово выполнять программы в поисках ошибок или анализировать крах программ с помощью дампов памяти. Gprof - утилита профилирования, показывающая, где ваша программа при выполнении тратит больше времени. Текстовый редактор Emacs позволяет осуществлять интерактивное редактирование. Другие инструменты, включая GNU make и imake используются для управления компиляцией больших программ; RCS - система для защиты и сопровождения исходных текстов. Linux содержит динамические библиотеки (DLL), которые позволяют экономить место, поскольку они вызываются только во время выполнения. Эти библиотеки позволяют также прикладному программисту переопределять функции, включая свои коды. Linux идеален для создания UNIX-приложений. Поддерживаются различные стандарты вроде POSIX.1, позволяющие легко переносить программы, написанные для Linux, на другие системы. Студенты, изучающие компьютерные науки, могут использовать Linux для обучения программированию в UNIX и изучения таких аспектов, как архитектура ядра.

      1. Система “X Window”

Система “X Window” (или кратко просто Х) - стандартный графический интерфейс для UNIX-машин. Это мощная среда, поддерживающая много приложений. Используя “X Window”, пользователь может одновременно иметь на экране несколько окон, при этом каждое имеет независимый login. Часто используется мышь, хотя она необязательна. Было написано много специфических Х-приложений, таких как игры, графические утилиты, инструментарий для программирования и документирования и т.д. С Linux и X ваш компьютер - замечательная рабочая станция. Используя протоколы TCP/IP, можем смотреть у себя X-приложения, выполняемые на других машинах. Система “X Window” была первоначально создана в MIT и свободно распространялась. Существует много и коммерческих приложений, расширяющих возможности “X Window”. Для Linux есть система “X Window”, известная как XFree86; версия X11R5 свободно распространяется для UNIX-систем типа Linux. XFree86 поддерживает широкий спектр видео устройств, включая VGA, Super VGA, различные видео адаптеры с ускорителями. Это полный комплект “X Window”, содержащий сам сервер, много прикладных программ и утилит, программные библиотеки и документацию.



Стандартные Х-приложения включают xterm (эмулятор терминала, используемый в большинстве текстовых приложений в X Window); xdm (X-менеджер, обслуживающий login); xclock (представление простых часов); xman (X-ориентированное руководство по Linux) и т.д. Трудно перечислить все приложения X, доступные в Linux, но базовый комплект XFree86 включает “стандартные” приложения, содержащиеся в исходной версии MIT. Но доступно и многое другое, теоретически, все написанное для “X Window” должно прямо компилироваться и для Linux. Интерфейс “X Window” в большой степени контролируется менеджером окон (Window manager). Эта программа отвечает за размещение окон, изменение их размеров, размещение иконок, перемещение окон, вид оконных рамок и т.д. Стандартный дистрибутив XFree86 включает twm, классический оконный менеджер MIT, но также имеются и более современные менеджеры, такие как Open Look Virtual Window Manager (olvwm). Среди пользователей Linux популярен fvwm. Это небольшой менеджер окон, требующий в два с лишним раза меньше памяти, чем twm. Он обеспечивает трехмерное представление обрамления окон и виртуальный рабочий стол (desktop) - если пользователь подвигает мышь к краю экрана, все изображение смещается, будто дисплей имеет большие размеры, чем на самом деле. Fvwm более традиционен и позволяет реализовать все функции доступа как с клавиатуры, так и от мыши. Многие дистрибутивы Linux содержат fvwm, как стандартный менеджер окон. Дистрибутив XFree86 содержит программные библиотеки и включает файлы для тех программистов, кто желает создавать приложения в X. Поддерживаются различные множества widget (графических представлений), такие как Athena, Open Look и Xaw3D. Включены все стандартные фонты, битмэпы и документация. Поддерживается также PEX (программный интерфейс для трехмерной графики). Многие пользующиеся Х используют и имеющиеся в Motif наборы widget. Несколько компаний продают одно- и многопользовательские лицензии бинарников Motif в Linux. Поскольку Motif сам по себе сравнительно дорог, немногие владельцы Linux имеют Motif. Тем не менее, бинарники, статически связанные с библиотечными программами Motif, могут свободно распространяться. Главные ограничения использования “X Window” происходят от требований к аппаратуре. Для более комфортного режима желательно не менее 8 Мбайт. Желательно и процессор побыстрее, но прежде всего необходима память. Для действительно хорошего результата лучше иметь карту с акселератором (как например S3-chipset). На Linux с XFree86 был достигнут рейтинг выполнения, превосходящий 140000 xstones.

      1. Работа в сети

Linux поддерживает два базовых сетевых протокола UNIX: TCP/IP и UUCP. TCP/IP (Transmission Control Protocol/Internet Protocol) есть множество сетевых парадигм, позволяющих системам по всему миру связываться по единой сети, известной как Internet. С помощью Linux, TCP/IP и подключения к сети вы можете общаться с пользователями и машинами всего Internet через электронную почту, новости USENET, передачу файлов FTP и т.п. В Internet много машин под Linux. Большинство сетей TCP/IP используют Ethernet, как физическое транспортное средство. Linux поддерживает многие популярные карты Ethernet и интерфейсы. Однако, поскольку не у всех есть дома плата Ethernet, Linux также поддерживает SLIP (Serial Line Internet Protocol), позволяющий связываться с Internet через модем. Для использования SLIP вы должны иметь доступ к SLIP-серверу, машине связанной с сетью и, обеспечивающей вам вход в Internet. Многие фирмы и университеты предоставляют SLIP-сервис. Если ваш Linux имеет Ethernet и модем, вы можете сконфигурировать систему как SLIP-сервер для других хостов. NFS (Network File System) позволяет вам использовать файлы совместно с другими машинами сети. FTP (File Transfer Protocol) позволяет передавать файлы между машинами. Другие приложения включают sendmail - систему передачи и получения электронной почты с использованием протокола SMTP; базирующуюся на протоколе NNTP, системе электронных новостей типа C-News и INN; telnet, rlogin и rsh - позволяют войти и выполнить команды на других машинах сети; finger - позволяет получать информацию о других пользователях Internet. Фигурально выражаясь - существуют тонны различных приложений для протокола TCP/IP. Полный спектр различных программ для чтения почты и новостей существует в Linux, это, например: elm, pine, rn, nn и tin. Система обеспечивает стандартный программный интерфейс, поэтому любая программа, использующая TCP/IP, может быть легко перенесена на Linux. X-сервер Linux также поддерживает TCP/IP, позволяя отображать выполняемые на других машинах прикладные программы на вашем дисплее. UUCP (UNIX-to-UNIX Copy) - старейший механизм передачи файлов, электронной почты и электронных новостей между UNIX-машинами. Классически, UUCP-машины связываются друг с другом по телефонным линиям через модем, но UUCP может использовать в качестве транспортного средства и связь по TCP/IP. Если у вас нет доступа по TCP/IP или SLIP-сервера, вы можете сконфигурировать свою систему так, чтобы посылать и получать файлы и электронную почту с использованием UUCP.

      1. Телекоммуникации и BBS

Если есть модем, то можно связываться с другими машинами, используя телекоммуникационные пакеты, имеющиеся в Linux. Многие используют программы телекоммуникации для связи с BBS (Bulletin Board Systems), а также и с коммерческими онлайновыми системами, вроде Prodigy, CompuServer и America On-Line. Другие через модемы связываются с UNIX-системой в школе или на работе. Можно использовать модем и Linux для посылки и приема факсов. Телекоммуникационные пакеты Linux очень похожи на имеющиеся в MS-DOS или других операционных системах. Один из наиболее популярных телекоммуникационных пакетов в Linux - Seyon – X -приложение, предоставляющее традиционный эргономичный интерфейс со встроенной поддержкой различных протоколов передачи файлов, таких как Kermit, ZModem и т.п. Есть также телекоммуникационные программы C-Kermit, pcomm и minicom. Это напоминает наборы телекоммуникационных программ в других системах. Если нет доступа к SLIP-серверу, то можно использовать term для мультиплексирования вашей последовательной линии. Term обеспечивает множественный доступ через модем на удаленную машину, также позволит перенаправлять X-клиента на локальный X-сервер через последовательную линию, давая возможность отобразить удаленное X-приложение на вашей Linux-системе. Другой пакет - KA9Q - обеспечивает интерфейс, похожий на SLIP. BBS - это сегодня хобби многих программистов. Linux поддерживает большое разнообразие программ для BBS, большинство из которых более мощные, чем в других операционных системах. С телефонной линией, модемом и Linux можно превратить компьютер в BBS, обеспечив dial-in доступ к своей системе для пользователей с Земного шара. Программное обеспечение BBS для Linux включает XBBS и пакеты UniBoard BBS. Большинство программ BBS ограничивают пользователя меню-системой, где имеется некоторый фиксированный набор функций.

      1. Интерфейс с MS-DOS

Существуют различные утилиты для связи с миром MS-DOS. Наиболее известен Linux MS-DOS Emulator, позволяющий выполнять многие MS-DOS программы прямо на Linux. Несмотря на то, что Linux и MS-DOS абсолютно различные операционные системы, среда защищенного режима для 80386 позволяет некоторым задачам вести себя так, как это делают прикладные программы MS-DOS. Эмулятор MS-DOS все еще в стадии совершенствования, но многие популярные пакеты в нем уже выполняются. Понятно, что некоторые приложения MS-DOS, использующие специфические или скрытые свойства системы, никогда не будут выполняться, поскольку эмулятор не знает, как их эмулировать. Эмулятор MS-DOS прежде всего предназначается для тех, кому MS-DOS нужен только для выполнения нескольких приложений, но в основном используется Linux. Эмулятор, это не полное повторение MS-DOS. Разумеется, если эмулятор не удовлетворяет вашим потребностям, вы можете использовать MS-DOS непосредственно, как и Linux, на одной и той же машине. При использовании загрузчика LILO можно во время загрузки указать, какую загрузить операционную систему. Linux может сосуществовать с другими операционными системами, с той же OS/2. Linux обеспечивает “гладкий” интерфейс для обмена файлами между Linux и MS-DOS. Вы можете “примонтировать” раздел MS-DOS или гибкий диск под Linux и иметь прямой доступ к файлам MS-DOS, как и к "родным".

      1. Другие приложения

В Linux огромное количество всевозможных приложений, что и следует ожидать от такой “разносторонней” операционной системы. Основная ориентация Linux была на персональные UNIX-вычисления, но она быстро меняется. Все больше его используют в бизнесе и обучении, все больше появляется на рынке всевозможных коммерческих приложений. В Linux доступно несколько реляционных баз, включая Postgres, Ingres, и Mbase. Это полномасштабные профессиональные системы управления базами данных типа клиент-сервер, похожие на имеющиеся на других платформах UNIX. Имеется также коммерческая база - rdb. Прикладные научные пакеты включают FELT (Finite Element Analysis Tool); gnuplot (анализ данных и черчение); Octave (пакет символических вычислений, похожий на MATLAB); xspread ( калькулятор типа spreadsheet); xfractint (X-вариант популярного рекурсивного генератора Fractint); xlispstat (пакет статистики) и многое другое. Другие приложения содержат Spice (проектирование и анализ цепей) и Khoros (аналого-цифровая обработка сигналов и визуализация). Разумеется, есть еще много приложений, которые были или будут перенесены на Linux. Linux обеспечивает полный программный UNIX-интерфейс, удобный в качестве исходной базы для любых приложений в любой научной области. Как и другие операционные системы, Linux не стоит в стороне от компьютерных игр. Это и классические текстовые “подземельные” игры, вроде Nethack и Moria; игры типа MUDs (Multi-User Dungeons, которые позволяют взаимодействовать многим пользователям), а также тьма игр в X, таких как xtetris, netrek и Xboard. Для меломанов Linux поддерживает различные саунд-карты, вроде CDplayer (программа, которая может управлять драйвером CD-ROM, как традиционным CD-плейером), MIDI последовательности и саунд-редакторы цифровой записи.

    1. Исследование файловой системы

Во многих операционных системах (включая UNIX) существует концепция файла, по которой его можно рассматривать просто, как набор информации, которому дано имя. Примерами файлов будут: программа, которая может выполняться, письмо, полученное по электронной почте, написанная вами статья. Существенно то, что все, что хранится на диске, хранится в отдельных файлах. Файлы идентифицируются по именам. Например, файл, содержащий вашу статью может быть сохранен под именем my-paper. Эти имена обычно каким-то образом отражают содержание. Не существует стандартного формата имен файлов, как в MS-DOS и других операционных системах; в общем случае имена файлов могут содержать почти любые символы и ограничены 256 символами по длине. Одновременно с концепцией файла рассмотрим и концепцию каталога. Каталог - это совокупность файлов. Его можно рассматривать как “папку”, содержащую множество различных файлов. Каталоги сами по себе также получают имена, по которым вы их различаете. Каталоги организованы в древовидную структуру, т.е. каталоги могут содержать другие каталоги. Файловая система есть собрание файлов и иерархия каталогов. (Различные версии Linux могут иметь отличия). Присмотримся к каждому каталогу:

/bin bin - это сокращенно от “binaries” (т.е. двоичные или выполняемые файлы). Здесь находится много важных системных программ. Когда, например, вы используете команду cp, вы выполняете программу /bin/cp /dev “Файлы” в /dev известны как драйверы устройств - они используются для доступа к устройствам и ресурсам системы, таким как диски, модемы, память и т.д. Например, как вы можете читать данные из файла, точно также вы можете читать входные сигналы от мыши, имея доступ к /dev/mouse. Имена файлов, начинающиеся на fd - это дисководы гибких дисков. fd0 - первый дисковод, fd1 - второй. Вот перечень некоторых из наиболее используемых файлов устройств: /dev/console/ относится к системной консоли, т.е. к монитору, напрямую связанному с системой. Различные /dev/ttyS и /dev/cua устройства используются для доступа к последовательным портам. Например, /dev/ttyS0 относится к “COM1” под MS-DOS. Устройства /dev/cua относятся к “звонящим” устройствам, которые используются совместно с модемами. Устройства, имена которых начинаются с hd, имеют доступ к жестким дискам. /dev/hda относится ко всему первому жесткому диску, а hda1 только к первому разделу /dev/hda. Устройства с именами, начинающимися на sd - SCSI-драйверы. Если у вас SCSI жесткий диск, вместо доступа к нему через /dev/hda, вы будете обращаться к /dev/sda. SCSI ленты доступны через устройства st, а SCSI CD-ROM через sr. Устройства lp обеспечивают доступ к параллельным портам. /dev/lp0 относится к “LPT1” в MS-DOS. /dev/null используется как “черная дыра” - любые данные, посланные сюда, канут в Лету. Если вы хотите подавить вывод команды на экран, вы можете перенаправить этот вывод в /dev/null.

Устройства с именами /dev/tty относятся к “виртуальным консолям” вашей системы (доступ путем нажатия alt-F1, alt-F2 и т.д.). /dev/tty1 соответствует первой VC, /dev/tty2 соответствует второй и т.д. Устройства, чьи имена начинаются на /dev/pty, это "псевдотерминалы". Они используются для входа с удаленных "терминалов". Например, если ваша машина в сети, вход к вам по telnet будет использовать одно из устройств /dev/pty. /etc /etc содержит множество всевозможных системных файлов конфигурации. Они включают /etc/passwd (файл паролей), /etc/rc (командный файл инициализации) и т.д. /sbin /sbin используется для хранения важных системных двоичных файлов, используемых системным администратором. /home /home содержит домашние каталоги пользователей. На вновь инсталлированной системе этот каталог может быть пуст в связи с временным отсутствием зарегистрированных пользователей. /lib /lib содержит образы разделяемых библиотек (shared library images). Эти файлы содержат код, который могут использовать многие программы. Вместо того, чтобы каждая программа имела свою собственную копию этих выполняемых файлов, они хранятся в одном общедоступном месте - в /lib. Это позволяет сделать выполняемые файлы меньше и сэкономит место в системе. /proc /proc - это "виртуальная файловая система", в которой файлы хранятся в памяти, а не на диске. Они связаны с различными процессами, происходящими в системе, и позволяют получить информацию о том, что делают программы и процессы в указанное время. /tmp Многие программы нуждаются в создании рабочих файлов, которые нужны короткое время. Каноническое место для этих файлов в /tmp (там обычно чаще проводится уборка мусора). /usr /usr - это очень важный каталог. Он состоит из ряда подкаталогов, которые в свою очередь содержат наиболее важные и полезные программы и файлы конфигурации, используемые системой. Различные каталоги, описанные выше, необходимы для нормального функционирования системы, но большинство вещей, содержащихся в /usr необязательны для системы. Но это такие необязательные вещи, которые делают систему полезной и интересной. Без /usr вы бы имели достаточно занудную систему, содержащую только программы, вроде cp и ls. /usr содержит много больших программных пакетов и конфигурационных файлов, которые их сопровождают. /usr/X386 /usr/X386 содержит The X Window System, если вы ее инсталлировали. Каталог /usr/X386 содержит все выполняемые и конфигурационные файлы X Window, а также файлы поддержки. /usr/bin /usr/bin настоящее хранилище для различных программ UNIX. Он содержит большинство выполняемых программ, которых нет ни в каких других местах, например, в том же /bin их нет. /usr/etc Точно также, как и /etc, содержит всевозможные системные программы и конфигурационные файлы. /usr/etc содержит даже больше утилит и файлов. В общем, файлы, находящиеся в /usr/etc несущественны для системы, в отличие от тех, которые находятся в /etc, и очень существенны. /usr/include /usr/include содержит include-файлы для компилятора Си. Эти файлы (большинство имен которых заканчивается на .h (от слова “header”') объявляют имена структур данных, подпрограмм и констант, используемых при написании программ на Си. Те файлы, которые находятся в /usr/include/sys в общем случае используются при программировании на системном уровне UNIX. /usr/g++-include /usr/g++-include содержит include-файлы для компилятора Cи++ (очень похожие на /usr/include). /usr/lib /usr/lib содержит библиотеки-"заглушки" и "статические" библиотеки, эквивалентные файлам из /lib. При компиляции программа "связывается" с библиотеками, находящимися в /usr/lib, которые в свою очередь направляют программы обращаться в /lib, если им нужет актуальный код. Кроме того, многие другие программы хранят в /usr/lib свои конфигурационные файлы. /usr/local /usr/local в большой степени похож на /usr - он содержит различные программы и файлы, несущественные для системы, но превращающие ее в удовольствие и восторг. В общем, эти программы, находящиеся в /usr/local специализируются на специфике вашей системы, т.е. /usr/local сильно отличается в различных UNIX. Здесь вы найдете такие большие программные пакеты, как TeX (система форматирования документов) и Emacs (большой и мощный редактор), если вы их установите. /usr/man Этот каталог содержит страницы Руководства. Здесь два подкаталога для каждого “раздела” Руководства. /usr/src /usr/src содержит исходные коды (неоткомпилированные программы) для различных программ вашей системы. Наиболее важная вещь здесь, это /usr/src/linux, содержащий исходные коды ядра Linux. /var /var содержит каталоги, которые часто меняются в размере или имеют тенденцию быстро расти. Многие из этих каталогов "квартировались" в /usr, но поскольку мы стремимся сделать его достаточно стабильным, каталоги, которые часто меняются были перенесены в /var. К числу таких каталогов относятся: /var/adm /var/adm содержит различные файлы, интересные системному администратору, специфические системные файлы, фиксирующие ошибки и проблемы, возникающие в системе. Другие файлы фиксируют входы в систему, как и неудачные попытки войти. /var/spool /var/spool содержит файлы, которые предварительно формируются для других программ. Например, если ваша машина подключена к сети, входная почта будет помещаться в /var/spool/mail до тех пор, пока вы не прочитаете ее или не удалите. Входящие и исходящие новости помещаются в /var/spool/news и т.д.



    1. Заключение

С точки зрения пользователя, Linux идеально вписывается в концепцию “клиент/сервер”, реализуемую на базе протоколов TCP/IP. При этом Linux позволяет превратить казалось бы устаревшее оборудование в мощный файл-сервер, факс-сервер, работающий как шлюз для отправки факсов через внутреннюю систему электронной почты или postscript-ориентированный принт-сервер, который обслуживает обычные матричные или лазерные принтеры. При этом, Linux зачастую работает устойчивее, чем его коммерческие собратья. Система компактна и шустра, а кроме того, может быть перекомпонована для решения вполне определенных задач. В Linux встроены средства поддержки электронной почты и доступа к ресурсам Internet. Система отлично документирована и получает все большее распространение во всем мире. Вам полностью доступен исходный код операционной системы, что само по себе является мощным учебным пособием, которое так и тянет опробовать на практике. Подводя итоги, отметим, что Linux оказывается неожиданно мощной системой, которая разработана неорганизованной группой программистов-любителей. Идеи положенные в его основу проверены временем. Количество и качество свободно распространяемых приложений просто завораживает. Возможности этой системы открывают все новые и новые пользователи. И с эволюционным развитием всех трех систем наблюдается устойчивый рост количества пользователей Linux.





























    1. Список литературы

  1. М. Уэлш. Инсталяция Linux и первые шаги. –М. МГУ, 1999

  2. Сopyleft © Eugene Shakhtarin 1999, 2000 (). Операционная система Linux - передовая технология для всех.

  3. В. Водолазкий. Путь к LINUX. –Л. ЛГУ, 2001

  4. Интернет-обзор (http://www.Linux Chainik.html)

  5. Ismael Ripoll. Real-Time Linux. - Мультимидийные издания

  6. Компьютерный еженедельник UPGRADE #45(83) ноябрь 2002г.

© Рефератбанк, 2002 - 2024