Добавлен: 24.04.2023
Просмотров: 292
Скачиваний: 2
Рисунок 3 - Взаимодействие компонентов операционной системы при взаимодействии компьютеров
создавшему запрос. Клиентская часть преобразует результат в соответствующий формат и адресует его тому приложению, которое создало запрос.
На практике существует несколько подходов к построению сетевых операционных систем, представленных на рисунке 4 [9].
Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом локальная система обладала минимальным набором сетевых функций, которые требовались для работы сетевой оболочки. Именно сетевая оболочка выполняла основные функции, необходимые для работы в сети. Примером данного подхода является
Рисунок 4 - Варианты построения сетевых ОС
использование на каждом компьютере сети операционной системы MS-DOS. Принцип построения сетевых ОС в виде сетевой оболочки над локальной ОС используется и в современных ОС, таких, например, как LANtastic или Personal Ware [11].
Другой подход является более эффективным, так как предполагает изначальную разработку системы для работы в сети. Сетевые функции у таких ОС встраиваются в основные модули системы, что обеспечивает их логичность, простоту использования и модификации, а также высокие показатели производительности. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2 [9].
2.3. Одноранговые сетевые ОС и ОС с выделенными серверами
В зависимости от того, как функции распределяются между компьютерами сети, сетевые ОС делятся на два класса: одноранговые и двухранговые (сети с выделенными серверами). Схематичное представление данных сетей представлено на рисунках 5-6 [9].
Рисунок 5 - Одноранговая сеть
В том случае, когда компьютер предоставляет свои ресурсы другим пользователям, он выступает в роли сервера. При этом компьютер, использующий чужие ресурсы, считается клиентом. Стоит отметить, что любой компьютер способен совмещать роли сервера и клиента.
Рисунок 6 - Двухранговая сеть
Если выполнение каких-либо серверных функций является основной задачей компьютера (например, предоставление файлов в общий доступ или реализация совместного использования принтера), такой компьютер принято называть выделенным сервером. В зависимости от того, какой ресурс сервера является разделяемым, он называется файл-сервером, принт-сервером, сервером приложений и т.д.
Очевидно, что выделенные серверы должны работать под управлением особой ОС - она должна быть оптимизирована для выполнения тех или иных серверных функций. Поэтому в сетях с выделенными серверами чаще всего применяются сетевые операционные системы, в состав которых входит несколько вариантов ОС, отличающихся возможностями серверных частей. Так, например, сетевая ОС Novell NetWare предоставляет серверный вариант, оптимизированный для работы в качестве файл-сервера, а также варианты оболочек для рабочих станций с различными локальными ОС. Стоит отметить, что эти оболочки реализуют исключительно клиентские функции. Еще одним примером ОС, ориентированной на построение сети с выделенным сервером, является операционная система Windows NT. В отличие от NetWare, оба варианта данной сетевой ОС - Windows NT Server (для выделенного сервера) и Windows NT Workstation (для рабочей станции) - способны поддерживать функции и сервера, и клиента. Однако серверный вариант Windows NT обладает большими возможностей для предоставления ресурсов своего компьютера другим пользователям сети в силу того, что способен выполнять более обширный набор функций, поддерживая большее число одновременных соединений с клиентами, а также реализуя централизованное управление сетью, оперируя более развитыми средствами защиты [9].
Выделенный сервер не рекомендуется использовать в качестве компьютера для выполнения текущих задач, которые не связаны с его основным назначением. Это может сократить его производительность как сервера. В связи с этим в ОС Novell NetWare на серверной части отсутствует возможность выполнения обычных прикладных программ. Это говорит о том, что сервер не содержит клиентской части, а на пользовательских рабочих станциях отсутствуют серверные компоненты. Стоит отметить, что другие сетевые ОС поддерживают функцию выполнения приложений на выделенном сервере. Например, ОС Windows NT Server способна выполнять программы конечного пользователя, которые могут требовать выполнения клиентских функций ОС при появлении запросов к ресурсам других компьютеров сети. В этом случае рабочие станции, работающие под управлением ОС Windows NT Workstation, могут выполнять функции невыделенного сервера [11].
Стоит отметить, что несмотря на то, что в сети с выделенным сервером все компьютеры способны одновременно выступать в роли как сервера, так и клиента, эта сеть не является функционально симметричной: программно и аппаратно в ней присутствует два типа компьютеров - одни, в большей степени ориентируются на реализацию серверных функций и работают под управлением специализированных серверных ОС, а другие выполняют клиентские функции и работают под управлением соответствующего этому назначению варианта ОС. Данный факт является причиной существования несимметричности аппаратуры - для выделенных серверов применяются более мощные компьютеры с гораздо большими объемами внешней и оперативной памяти. Таким образом, функциональная несимметричность в сетях с выделенным сервером сопровождается несимметричностью операционных систем и аппаратной несимметричностью (специализацией компьютеров) [4].
В рамках одноранговой сети все компьютеры одинаковы в своих правах доступа к ресурсам друг друга. Любой пользователь сети может присвоить какому-либо ресурсу своего компьютера статус разделяемого, в результате чего другие пользователи смогут его эксплуатировать. В таких сетях всех компьютеры используют одну и ту же ОС, предоставляющую всем компьютерам сети потенциально равные возможности. Одноранговые сети могут строиться, например, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.
Кроме того, в одноранговых сетях может возникнуть функциональная несимметричность. Такая ситуация возникает в том случае, когда одни пользователи не хотят делить свои ресурсы с другими. При этом их компьютеры выполняют роль клиента, а за другими компьютерами администратор закрепляет исключительно функции по организации совместного использования ресурсов, следовательно, они являются серверами [14].
Есть еще один случай, когда локальный пользователь не выступает против использования его ресурсов, при этом сам не исключает возможности обращения к другим компьютерам. В такой ситуации ОС на его компьютере должна включать как серверную, так и клиентскую части. В отличие от сетей с выделенными серверами, в одноранговых сетях отсутствует специализация ОС в зависимости от преобладающей функциональной направленности - клиента или сервера. Все вариации реализуются средствами конфигурирования одного и того же варианта ОС.
Таким образом, одноранговые сети проще в эксплуатации и организации, однако в основном они используются для объединения небольших пользовательских групп, которые не предъявляют больших требований к объемам хранимой информации, ее защищенности от несанкционированного доступа и к скорости доступа. При повышенных требованиях к этим характеристикам более подходящими являются двухранговые сети, где сервер лучше решает задачу обслуживания пользователей своими ресурсами, по причине того, что его аппаратура и сетевая операционная система специально спроектированы для этой цели [9].
3. РАБОТА В СЕТЕВОЙ ОС LINUX
3.1. Основные понятия
Впервые операционная система Linux появилась в 1991 году. Ее создателем является финский студент Линус Торвальдс. Чтобы получить более широкую сферу применения Линус изменил лицензию системы на GNU GPL и опубликовал исходный код в свободный доступ. Это позволило использовать операционную систему в коммерческих целях, а также привлекло большое количество разработчиков. До сих пор Торвальдс остается координатором в процессе разработке ядра Linux [3].
Благодаря свободной лицензии разработчики со всего мира создали большое количество приложений, позволяющих использовать Linux не только для настольных ПК, но и для серверных платформ [5].
При разработке Linux особое внимание уделялось функционированию в качестве полноценной многопользовательской системы. Базовые функции ОС составляют ядро, именно они определяют возможности по взаимодействию с аппаратным обеспечением, распределению оперативной памяти, управлению процессами, по работе с файловыми системами и т.п.
Характерной чертой Linux является архитектура ядра на основе выделения функциональных модулей. Одновременно с доступностью исходного кода ядра это позволяет скомпилировать и скомпоновать исполняемый код ядра с включением только того функционала, который необходим в каждом конкретном случае.
Доступность возможности загрузки модулей уже в процессе работы ядра обеспечивает динамическое расширение функционала ядра при такой необходимости, а также экономию памяти, когда необходимость в функции, обеспечиваемой модулем, пропала [6].
В силу того, что за разработку ядра отвечает сообщество разработчиков, требуется строгая организация процесса внесения изменений в код ядра. В настоящее время весь процесс замкнут на Линуса Торвальдса, за которым остается право одобрения или отклонения всех правок кода ядра ОС Linux.
На сегодняшний день широко используются два способа взаимодействия с ОС [15]:
- с помощью передачи команд и получения ответов на них;
- использование графического интерфейса, при котором передача команд реализуется преимущественно мышью, а ответы представляют собой визуальное изменение интерфейса.
По умолчанию в среде ОС Linux рекомендуется использование первого способа. Для осуществления системой возможности принятия команд применяется специальная программа - командный интерпретатор, задача которого - перевод команд пользователя в конкретные системные действия, а также отображение полученного результата. Экземпляр командного интерпретатора запускается для каждого пользователя и взаимодействует только с ним. В ОС Linux доступно для использования пользователями в качестве интерпретаторов несколько программ, которые имеют несущественные различия в поведении: sh, bash, ksh, zsh.
Умение работать в командном интерпретаторе позволяет достаточно эффективно управлять ОС, а также использовать все ее возможности для решения прикладных задач [13].
3.2. Журнал ядра
Для того, чтобы ознакомиться с журналом ядра, необходимо выполнить команду dmesg. Результат выполнения данной команды представлен на рисунке 7 [3].
Рисунок 7 – Фрагмент журнала ядра
Чтобы отфильтровать сообщения о процессоре, необходимо использовать специальный фильтр - grep. Для этого необходимо использовать команду dmesg | grep CPU. Результат выполнения данных действий представлен на рисунке 8 [5].
Рисунок 8 – Сообщения о процессоре
3.3. Сетевые средства мониторинга
Мониторинг за производительностью сетевых средств системы является очень важным в процессе обеспечения работоспособности большого класса системных и прикладных программ. Мониторинг сети охватывает три направления:
- работоспособность подключения к сети;
- статистика сетевого взаимодействия;
- графическое представление графической информации [6].
Необходимость проверки работоспособности возникает в случаях устранения неполадок при подключении компьютера к сетям, а также во время его эксплуатации. В этом случае характерно использование утилит, позволяющих диагностировать проблемы различного рода, возникающие при работе сетевых служб. Утилиты различаются по своему назначению от самых простых до достаточно сложных, способных определять комплексные ошибки. В любом случае все эти утилиты предоставляют разностороннюю информацию о текущем состояния подключения к сети, для того чтобы администратор вычислительной системы мог самостоятельно, принимая во внимание различные аспекты выявить и устранить ошибки подключения.
Самой простой утилитой проверки соединения является команда ping, выполнение которой представлено на рисунке 9 [13].
Рисунок 9 - Команда ping
Команда ping предназначена для проверки качества соединения и достижимости сетевыми пакетами целевого узла. Для работы программа использует запросы протокола ICMP и, получая ICMP ответы, показывает статистику доставки пакетов и скорость непосредственно канала между источником и адресатом.