Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_k_zachetu_po_OS_UNIX.docx
Скачиваний:
10
Добавлен:
16.09.2019
Размер:
546.78 Кб
Скачать

8. Поддержка сети в ос unix

  • За годы развития UNIX максимальным изменениям была подвергнута часть ядра, являющаяся сетевой подсистемой. Ранние версии ОС работали отдельно друг от друга и не имели возможности соединения с другими машинами. Однако распространение компьютерных сетей поставило перед разработчиками проблему необходимости их поддержки в системе UNIX. Первым занялся решением этой проблемы университет Беркли. Организация DARPA профинансировала проект встраивания поддержки TCP/IP в 4BSD. На сегодняшний день системы UNIX поддерживают большое количество сетевых интерфейсов (таких как Ethernet, FDDI и ATM), протоколов (TCP/IP, UDP/IP, SNA и других) и средств (например, сокетов и STREAMS).

  • Появление возможности соединения с другими компьютерами во многих отношениях повлияло на операционную систему. Пользователи ОС сразу же захотели совместно использовать файлы, расположенные на соединенных между собой машинах, а также запускать приложения на удаленных узлах. Для удовлетворения этих требований развитие системы UNIX велось в трех направлениях:

  • Разрабатывались распределенные файловые системы, позволявшие вести прозрачный доступ к файлам на удаленных узлах. Наиболее удачными из созданных систем оказались Network File System (NFS) корпорации Sun Microsystems, Andrew File System (AFS) университета Карнеги— Меллона и Distributed File System (DFS) корпорации Transarc.

  • Создавалось большое количество распределенных служб, позволяющих совместно использовать информацию по сети. Эти службы представляют собой обычные пользовательские программы, основанные на модели «клиент-сервер» и использующие удаленные вызовы процедур для активации действий на других компьютерах. Примерами таких программ являются Network Information Service (Сетевой информационный сервис, NIS) и Distributed Computing Environment (Распределенная вычислительная среда, DCE).

  • Появлялись распределенные операционные системы, такие как Mach, Chorus и Sprite, имеющие различную степень совместимости с UNIX и продвигаемые на рынок как базовые технологии для построения будущих распределенных ОС.

- семейство протоколов TCP/IP

  • TCP/IP является плодом проекта DAPRA (Управление перспективных исследований и разработок) Министерства обороны США. Созданный в 1980 году, он был затем интегрирован в версию BSD 4.2. Впоследствии были разработаны версии TCP/IP для System V,права на которые приобрела фирма AT&T. В настоящее время TCP/IP входит в число основных сервисных программ систем UNIX, независимо от машин на которых он применяется.

- протокол IP

  • Уровень IP (Internet Protocol) обеспечивает рассылку дейтаграмм. Контроль потока весьма ограничен: посылка сообщения ICMP (Internet Control Message Protocol) на передающее устройство при насыщении машины. Согласование между адресом Internet и адресом Ethernet машины осуществляется посредством протокола ARP (Address Resolution Protocol). Используется передача Ethernet: машина, распознающая свой адрес Internet, отвечает, выдавая соответствующий адрес Ethernet.

- протоколы транспортного уровня

  • UDP (User Datagram Protocol) представляет собой средство пе- редачи данных, без установления виртуального соединения, ненадежное, позволяющее вести обмен сообщениями (дейтаграммами). UDP не предусматривает предупреждений в случае ошибки при передаче. Следовательно, требуется проверка правильности вы- полнения операций.

- реализация сетевой поддержки

  • За годы развития UNIX максимальным изменениям была подвергнута часть ядра, являющаяся сетевой подсистемой. Ранние версии ОС работали отдельно друг от друга и не имели возможности соединения с другими машинами. Однако распространение компьютерных сетей поставило перед разработчиками проблему необходимости их поддержки в системе UNIX. Первым занялся решением этой проблемы университет Беркли. Организация DARPA профинансировала проект встраивания поддержки TCP/IP в 4BSD. На сегодняшний день системы UNIX поддерживают большое количество сетевых интерфейсов (таких как Ethernet, FDDI и ATM), протоколов (TCP/IP, UDP/IP, SNA и других) и средств (например, сокетов и STREAMS).

  • Появление возможности соединения с другими компьютерами во многих отношениях повлияло на операционную систему. Пользователи ОС сразу же захотели совместно использовать файлы, расположенные на соединенных между собой машинах, а также запускать приложения на удаленных узлах. Для удовлетворения этих требований развитие системы UNIX велось в трех направлениях:

  • Разрабатывались распределенные файловые системы, позволявшие вести прозрачный доступ к файлам на удаленных узлах. Наиболее удачными из созданных систем оказались Network File System (NFS) корпорации Sun Microsystems, Andrew File System (AFS) университета Карнеги— Меллона и Distributed File System (DFS) корпорации Transarc.

  • Создавалось большое количество распределенных служб, позволяющих совместно использовать информацию по сети. Эти службы представляют собой обычные пользовательские программы, основанные на модели «клиент-сервер» и использующие удаленные вызовы процедур для активации действий на других компьютерах. Примерами таких программ являются Network Information Service (Сетевой информационный сервис, NIS) и Distributed Computing Environment (Распределенная вычислительная среда, DCE).

  • Появлялись распределенные операционные системы, такие как Mach, Chorus и Sprite, имеющие различную степень совместимости с UNIX и продвигаемые на рынок как базовые технологии для построения будущих распределенных ОС.

9. Графическая система X Window

  • Это оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя. Используется в UNIX-подобных ОС.

  • X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране, взаимодействие с устройствами ввода, такими как, например, мышь и клавиатура. X Window System не определяет деталей интерфейса пользователя — этим занимаются менеджеры окон, которых разработано множество. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера.

  • В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться по сети и отображаться на локальной машине пользователя (в случае если это разрешено в настройках). В контексте X Window System термины «клиент» и «сервер» имеют непривычное для многих пользователей значение: «сервер» означает локальный дисплей пользователя (дисплейный сервер), а «клиент» — программу, которая этот дисплей использует (она может выполняться на удалённом компьютере).

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

  • Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. Нынешняя (по состоянию на февраль 2009 года) версия протокола — X11 — появилась в сентябре 1987 года. Проект X возглавляет фонд X.Org Foundation.

  • Референсная (или образцовая) реализация (reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий.

- клиент-серверная модель

  • X Window System использует клиент-серверную модель: X-сервер обменивается сообщениями с различными клиентскими программами. Сервер принимает запросы на вывод графики (окон) и отправляет обратно пользовательский ввод (от клавиатуры, мыши или сенсорного экрана). X-сервер может быть:

  • системной программой, контролирующей вывод видео на персональном компьютере;

  • приложением, отображающим графику в окно какой-то другой дисплейной системы;

  • выделенным компонентом аппаратного обеспечения.

  • Эта клиент-серверная терминология — пользовательский терминал в качестве «сервера» и удалённые приложения в качестве «клиентов» — зачастую запутывает новых пользователей X, так как обычно эти термины имеют обратные значения. Но X Window System принимает точку зрения программы, а не конечного пользователя аппаратуры: локальный дисплей предоставляет услуги отображения графики программам и потому выступает в роли сервера. Удалённые программы используют эти услуги и потому играют роль клиентов.

  • Протокол, с помощью которого общаются сервер и клиент, является прозрачным для сети: клиент и сервер могут находиться как на одной и той же машине, так и на разных. В частности, они могут работать на различных архитектурах под управлением разных операционных систем — результат будет одинаковым. Клиент и сервер могут даже безопасно взаимодействовать через Интернет посредством туннелирования соединения сквозь зашифрованный сетевой сеанс.

  • Чтобы запустить удалённую клиентскую программу, выводящую графику на локальный X-сервер, пользователь обычно открывает эмулятор терминала и подключается к удалённой машине при помощи telnet или SSH. Затем он отдаёт команду, указывающую дисплей, на который следует выводить графику (например, export DISPLAY=[имя компьютера пользователя]:0 при использовании bash). Наконец, пользователь запускает клиентскую программу. Она подключится к локальному X-серверу и будет отображать графику на локальный экран и принимать ввод от локальных устройств ввода. Другой вариант — использовать небольшую вспомогательную программу, которая подключается к удалённой машине и запускает на ней нужное клиентское приложение.

  • Использование удалённых клиентов может быть полезно, например, в таких ситуациях:

  • графическое администрирование удалённой машины;

  • выполнение интенсивных ресурсоёмких вычислений на удалённой UNIX-машине и вывод результатов на локальной Windows-машине;

  • выполнение графических программ одновременно на нескольких машинах, с одним дисплеем, одной клавиатурой и одной мышью.

  • В этом примере X-сервер принимает ввод с клавиатуры и мыши и производит вывод на экран. На пользовательской рабочей станции выполняются веб-браузер и эмулятор терминала. Программа обновления системы работает на удалённом сервере, но управляется с машины пользователя. Обратите внимание, что удалённое приложение работает так же, как если бы оно выполнялось локально

- интерфейсы пользователя

  • X Window System намеренно не определяет, как должен выглядеть интерфейс пользователя приложения — кнопки, меню, заголовки окон и т. д. Эти вопросы решаются на уровне оконных менеджеров, инструментариев элементов интерфейса, сред рабочего стола и на уровне отдельных приложений. По этой причине визуальное представление X-интерфейсов претерпело огромные изменения с течением времени.

  • Оконный менеджер управляет размещением и внешним видом окон приложений. Он может создавать интерфейс, подобный Microsoft Windows или Macintosh (например, так работают оконные менеджеры Kwin в KDE и Metacity в GNOME), или совершенно другой стиль (например, во фреймовых оконных менеджерах, таких как Ion). Оконный менеджер может быть простым и минималистичным (как twm — базовый оконный менеджер, поставляемый с X), а может предлагать функциональность, близкую к полноценной рабочей среде (например, Enlightenment).

  • Многие пользователи используют X вместе с полной средой рабочего стола, которая включает в себя оконный менеджер, различные приложения и единый стиль интерфейса. Наиболее популярные среды рабочего стола — GNOME и KDE. В стандарте Single UNIX Specification указана среда CDE. Проект freedesktop.org пытается обеспечить взаимодействие между различными средами, а также компоненты, необходимые для конкурентоспособного рабочего стола на основе X.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]