Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Иконников_Компьютерные сети.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
330.75 Кб
Скачать

5.3. Операционная система Unix.

ОС UNIX представляет собой многозадачную ОС, созданную еще в 60-е годы прошлого века и доработанную на протяжении 70-х годов. Впервые ОС UNIX широкой публике была представлена в 1983 году под названием UNIX System V Release 1. С этого времени и до наших дней многие организации выпустили свои собственные версии ОС на базе UNIX, и сейчас существует множество различных ОС, функционирующих на базовых компонентах UNIX. Это стало возможным потому, что с самого начала ОС UNIX была больше совместным исследовательским проектом, нежели коммерческим продуктом.

Принципы UNIX

ОС UNIX базируется на следующих принципах:

  1. Максимальное упрощение (адаптация ОС к различным условиям аппаратного обеспечения). Данный принцип заключается в том, что ОС построена на правилах, в соответствии с которыми она взаимодействует с различными элементами ЭВМ наиболее простым и понятным образом.

  2. Локальность. Данный принцип заключается в использовании специализированных инструментов для выполнения простых системных вызовов, которые могут легко комбинироваться между собой в целях обеспечения более сложных действий. ОС UNIX использует небольшую программу, обеспечивающую базовый сервис для всех остальных программ.

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

Часть программистов работают над проектами программного обеспечения для UNIX в качестве хобби и выставляют результаты своей деятельности для публичного использования.

Архитектура UNIX.

Независимо от того какую аппаратную платформу использует ОС Unix, базовые программные компоненты ОС Unix остаются без изменений:

ПРОГРАММЫ

ОБОЛОЧКА

ЯДРО

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

ЯДРО (Kernel) – это основной модуль, который содержит драйверы устройств, взаимодействующие с соответствующими компонентами аппаратных средств компьютера для обеспечения следующих базовых функций:

- управление памятью

- ввод-вывод

- обработка прерываний

- управление доступом

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

ОБОЛОЧКА (командный процессор) обеспечивает интерфейс, применяемый пользователем для ввода команд и исполнения программ. Командный процессор представляет собой интерпретатор (непосредственное выполнение текста программы на языке высокого уровня без преобразования в машинные коды) команд, аналогично Command.com и ОС MS-DOS или Cmd.exe в ОС Widows NT/2000. Оболочка функционирует в качестве языка программирования, который может быть затребован при создании сценариев. В отличие от ОС MS-DOS и Windows NT, обеспечивающих пользователей только одним из интерпретаторов команд, ОС Unix предлагает несколько оболочек с различными возможностями.

Основные команды по управлению файлами и выполнению других стандартных задач одинаковы для всех оболочек. Различие становятся ощутимыми в случае более сложных команд и при создании сценариев.

Кроме текстовых командных процессоров в ОС Unix возможно использование графического интерфейса пользователя (Graphical User Interface). Некоторые разновидности Unix, такие как Solaris, используют собственный графический интерфейс пользователя, другие, такие как Linux, применяют сервер Х Windows. В ответ на растущую популярность ОС Windows, графические оболочки Unix улучшились по качеству и набору возможностей.

Над оболочкой располагаются команды, применяемые пользователем для выполнения задач в системе. ОС Unix содержит сотни маленьких программ, называющиеся инструментарием команд (tools of commands), комбинируя которые в командной строке можно решать более сложные задачи.

Инструменты командной строки ОС Unix являются программами, а не приложениями их не следует путать со сложными комплексными приложениями, которые используют другие ОС, например ОС Windows. Добавление нового инструмента в систему Unix не требует процедуры установки, достаточно просто уточнить место расположения инструмента в файловой системе.

Версии ОС Unix

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

    1. Unix System V Release 4 (SVR4) – первая популярная версия системы Unix, вышла в конце 80-х годов XX века. Эта версия включает компьютеры для построения компьютерных сетей с возможностями передачи файлов, дистанционного входа в систему и исполнения программ на удаленной машине, а также сетевую файловую систему NFS – Network File System.

1997 г. – Unix SVR5 (Open Server), SVR7 – UnixWare.

    1. BSD (Berkley – Калифорнийский ун-т) Unix – это версия основана при создании фирмами разработчиками своих оригинальных продуктов. В этой версии имеется полная совместимость машинных кодов большинства программ с другими версиями Unix. В 1979 году вышла версия BSD 4, в которой протоколы TCP/IP использовались в качестве основных. Версии BSD активно используются в настоящее время и представляют собой свободно распространяемые ОС: Free BSD, Net BSD, Open BSD. Все они базируются на BSD 4.4 (1992 г.) и применяется в различных аппаратных платформах.

    2. Free BSD основана на версии BSD 4.4 и имеет совместимость на уровне машинных кодов с приложениями для Linux, SVR4, Net BSD.

Free BSD 3.4 – 1999. Бесплатная версия: http://www.freebsd.org

    1. Одним из приоритетов версии Net BSD является используемые ей приложения в различных аппаратных платформах. Совместимость данной версии на уровне кода позволяет ей поддерживать приложения BSD, Linux, System V, Sun OS. Существуют 15 версий NetBSD для различных аппаратных платформ. Net BSD 1.4.1 – 1999. Бесплатная версия: http://www.netbsd.org

    2. Open BSD. Приоритет – безопасность информации, поддержка 11 аппаратных платформ. Бесплатная версия: http://www.openbsd.org

    3. Sun Solaris или Sun OS. Данная ОС включает графический пользовательский интерфейс на основе X Windows. С 1991 года появились первые версии данной ОС (Solaris 8).

    4. Linux. Созданная в Швеции в качестве школьного проекта (Linus Torvaldson) ОС Linux стала одной из популярных разновидностью системы Unix за последнее время. Существует версия Linux для различных аппаратных платформ, продолжается улучшение и доработка этой ОС. Недостатки: в некоторых случаях, программы, разработанные для одного пользователя, не работают с версиями ОС, которые есть у других пользователей (Red Hat Linux).

Организация сети Unix

Сетевая операционная система UNIX является одноранговой (т.е. каждый компьютер сети имеет доступ к ресурсам других компьютеров и предоставляет свои ресурсы в коллективное пользование). Возможности сетевого взаимодействия в ОС Unix принимают следующие три формы:

-открытие сессии с другой системой и использование команд в ее оболочке;

-получение доступа к файловой системе другого компьютера, использующего сервис NFS;

-запуск специального сервиса в одном компьютере и организация доступа к нему программой-клиентом другого компьютера.

Протоколы TCP/IP представляют основу всех версий ОС Unix, поэтому они включаются во взаимодействие между системами сети Unix.

Команды удаленного управления

Одной из форм сетевого доступа, применяемой в ОС Unix, является сессия удаленной консоли (remote console session), при которой пользователь подключается к удаленной машине сети и выполняет на ней команды. Как только соединение установлено, команды, вводимые пользователем клиентской системы, исполняются сервером, а результаты их действия пересылаются обратно по сети системе-клиенту, где выводятся на экран.

Это следующие команды:

rsh - Исполнение единственной команды на удаленном компьютере с выводом результата ее действия без непосредственного входа в удаленную систему.

Формат : rsh имя узла команда

имя узла – имя удаленного компьютера

команда – действие, которое должно быть выполнено в удаленной системе.

rcp - Копирование файлов с удаленного компьютера или на него через сеть без интерактивного подключения.

Формат : rcp [-r] узел – источник: имя файла узел – получатель: имя файла

узел – источник: имя файла – файл в системе-источнике, который нужно копировать;

узел – получатель: имя файла – система-назначения и имя файла, которое будет присвоено в этой системе;

[-r] – ключ для создания копии целого каталога

Команды взаимодействия двух систем, поддерживающих семейство протоколов TCP/IP

Telnet – устанавливает сеансы связи с удаленным компьютером.

FTP – средство передачи файлов в удаленную систему или из нее вместо непосредственного удаленного доступа (через протокол TCP), TFTP - через протокол UDP.

Эти команды выполняются также после установления соединения в различных ОС, включая ОС Windows NT.

Сетевая файловая система NFS (Network File System).

Предоставление файлов в совместное пользование является основным компонентом сетевого взаимодействия, поэтому ОС Unix имеет несколько механизмов получения доступа к файлам других компьютеров без транспортировки их на локальный жесткий диск. Наиболее часто применяемым из этих механизмов является служба NFS. Каждая версия ОС Unix включает поддержку NFS; другие ОС также поддерживают NFS (ОС Windows NT и Novell NetWare), но при наличии дополнительного программного обеспечения. Поддержка в ОС Windows NT и Novell NetWare необходима для взаимодействия с компьютерами на основе ОС Unix, включая интеграцию этих компьютеров в свои сети.

NFS (Network File System) представляет собой приложение типа клиент – сервер, в котором сервер объявляет всю свою файловую систему или ее часть доступной для клиентов, а клиенты получают доступ к удаленной файловой системе. В результате, доступные файлы отображаются как часть локальной файловой системы.

В основе NFS положен сервис RPC (Remote Procedure Call – удаленный вызов процедуры), разработанный для поддержания коммуникационной связи с удаленным компьютером. Взаимодействие между серверами NFS и клиентами основано на RPC-процедурах.

Основные RPC-процедуры

  1. Getattr – получение атрибутов конкретного объекта файловой системы

  2. Setattr – изменение одного или нескольких атрибутов объекта файловой системы сервера

  3. Lookup – поиск заданного имени файла в каталоге

  4. Access – задание прав доступа, которые пользователь будет иметь в отношении объекта файловой системы

  5. Read – чтение данных из файла

  6. Write – запись данных в файла

  7. Create –создание файла

  8. mkdir – создание подкаталога

  9. Remove – удаление файла из каталога.

  10. Rmdir – удаление подкаталога из каталога.

  11. Rename – перемещение файла или каталога.

  12. link – создание связи с объектом.

Организация сети по принципу «клиент-сервер»

ОС Unix является популярной основой для серверных приложений за счет относительной простоты и гибкости. В ОС Unix намного проще, чем в ОС Windows NT настроить работу Web – сервера, ожидая от него обслуживания большого количества клиентов и отключив все посторонние функции.

В силу того, что протоколы TCP/IP в основном разрабатывались для UNIX-платформы, имеется программное обеспечение сервера UNIX для любого из существующих приложений TCP/IP.