Файл: Сетевые операционные системы (Особенности алгоритмов управления ресурсами).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.05.2023

Просмотров: 463

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Системы разделения времени призваны исправить основной недостаток систем пакетной обработки - изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая "выгодна" системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.

Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, такими, как гальваническая линия, доменный процесс и т.п.[6] Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы - реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.

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


1.4 Особенности методов построения

При описании операционной системы часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.

К таким базовым концепциям относятся:

Способы построения ядра системы - монолитное ядро или микроядерный подход[7]. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот.

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

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

Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.


Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб.

2. Обзор сетевых операционных систем

2.1 Сетевая ОС Cisco IOS

Cisco IOS или Internetwork Operating System (межсетевая операционная система) это программное обеспечение, которое используется в большинстве коммутаторов и маршрутизаторов Cisco (ранние версии коммутаторов работали на CatOS). IOS включает в себя функции маршрутизации, коммутации, межсетевого взаимодействия и телекоммуникаций, интегрированных в мультизадачную операционную систему.[8]

Cisco IOS является многозадачной операционной системой, выполняющей функции сетевой организации, маршрутизации, коммутации и передачи данных.

В Cisco IOS есть специфичный интерфейс командной строки (command line interface, CLI), который был скопирован многими другими сетевыми продуктами. Интерфейс IOS предлагает набор многословных команд, согласно выбранному режиму и уровню привилегий пользователя.

2.1.1 Предоставляемая функциональность

Существуют разные компоновки IOS отличающиеся функционалом, так называемые feature sets[9]:

IP Base — начальный уровень функциональности, включается во все другие. Обеспечивает базовую маршрутизацию (статические маршруты, RIP, OSPF, EIGRP для IPv4), VLAN (802.1Q и ISL) и NAT.

IP Services (для L3 свитчей) — протоколы динамической маршрутизации, NAT, IP SLA.

Advanced IP Services — добавляется поддержка IPv6.


IP Voice — добавляет функциональность VoIP и VoFR.

Advanced Security — добавляется IOS/Firewall, IDS, SCTP, SSH и IPSec (DES, 3DES и AES).

Service Provider Services — добавляется Netflow, SSH, BGP, ATM и VoATM.

Enterprise Base — добавляется поддержка L3-протоколов (IPX и AppleTalk), а также DLSw+, STUN/BSTUN и RSRB.

2.1.2 Архитектура

Во всех версиях Cisco IOS маршрутизация пакетов и пакетная передача (коммутация) являются разными функциями. Маршрутизация и другие протоколы выполняются в качестве процессов и составляют Базу Маршрутизации (Routing Information Base). Это необходимо для составления конечной таблицы IP-передачи (FIB, Forwarding Information Base), которая используется для передачи функций маршрутизатора. На платформах маршрутизаторов с передачей "software-only" (например Cisco 7200) большинство манипуляций с трафиком, включая фильтрацию и передачу контрольного списка доступа, осуществляются на уровне прерываний с использованием Cisco Express Forwarding (CEF) или dCEF (Distributed CEF). Это означает, что у IOS нет необходимости переключать контекст для передачи пакетов. Функции маршрутизации, такие как OSPF и BGP работают на уровне процессов. В маршрутизаторах с передачей на уровне железа (Cisco 12000) таблицы IP-передачи вычисляется на программном уровне и загружается в передающее устройство (например сетевой процессор), который и осуществляет передачу пакетов.[10]

Cisco IOS имеет "монолитную" архитектуру. Это означает, что система работает как единый объект и все процессы разделяют между собой единое пространство памяти. Между процессами не предусмотрена защита памяти, поэтому из-за каких либо дефектов в коде системы один процесс может повредить память другого процесса. Планировщик работает по принципу "работа до завершения", что означает, что процесс должен сообщить ядру о том, что он завершился и настала очередь следующего процесса. Для продуктов Cisco, требующих высокий уровень доступности (например Cisco CRS-1), такие ограничения неприемлемы. В добавок, конкурирующие ОС, появившиеся через 10-20 лет после IOS, такие как JUNOS от Juniper Networks, Inc., этих ограничений не содержали. Ответом Cisco была разработка новой версии Cisco IOS под названием IOS XR, предлагающей модульный принцип организации и защиту памяти между процессами, оптимизированные потоки, "упреждающий" планировщик и возможность независимо перезапускать неудачные процессы. IOS XR использует стороннее микроядро операционной системы реального времени QNX, поэтому большая часть кода IOS была переписана с целью использовать преимущества нового ядра. Микроядро устроено таким образом, что если нет необходимости исполнять процесс в само́м ядре, то он исполняется в качестве процесса обычного приложения. Благодаря такому методу, IOS XR способна достигать уровня доступности, подходящего для новых платформ маршрутизаторов. Таким образом IOS и IOS XR, имея мало общего в кодовой базе, сильно связаны по своему устройству и функционалу.


2.1.3 Основные команды

«?» : на первый взгляд использование «?» для вызова помощи кажется достаточно простым. Однако Cisco IOS кардинально отличается от других операционных систем в плане использования команды помощи. Поскольку Cisco IOS – это операционная система с командным интерфейсом, существуют тысячи команд для настройки и управления, а использование “?” поможет сэкономить немало времени. Эту команду можно применять различными способами. Во-первых, используйте ?, если не знаете какую команду написать. Например, вы можете написать ? в командной строке для вывода всех возможных команд. Также можно использовать «?», если вы не знаете аргумент какой-либо команды. Например, можно ввести «show ip ? ». Если команде не нужно никаких аргументов, роутер предложит только CR (возврат каретки).

Наконец, можно использовать «?» для просмотра всех команд, начинающихся с определённой буквы. Например, «show c?» покажет все команды, начинающиеся с буквы c.

«show running-configuration»: команда show running-config показывает текущую конфигурацию устройства. Running-configuration – это конфигурация, загруженная в данный момент в оперативную память роутера. Когда вы вносите изменения в оборудование, как раз эта конфигурация изменяется.

Важно помнить, что конфигурация не сохраняется пока не выполнить «copy running-configuration startup-configuration». Команду «show running-config» можно сокращать до «sh run».

«copy running-configuration startup-configuration»: команда сохранит текущие модификации в настройках (running-configuration, которая хранится в RAM), в энергонезависимую RAM (NVRAM). Если внезапно исчезнет электропитание, то данные в NVRAM сохранятся. Другими словами, если вы внесёте изменения в конфигурацию роутера или перезагрузите его, не используя перед этим данную команду, то все изменения будут утеряны. Команду можно сократить до copy run start. Команда copy также используется для копирования текущей или стартовой конфигурации на TFTP-сервер.

«show interface»: команда «show interface» отображает состояние интерфейсов маршрутизатора. Вот некоторые выводимые параметры: состояние интерфейса (вкл./выкл.), состояние протокола на интерфейсе, использование, ошибки, MTU. Эта команда играет важную роль для диагностики роутера или свитча. Её также можно использовать с указанием конкретного интерфейса, например, «sh int fa0/0.»

«show ip interface»: более распространёнными, чем «show interface» являются команды «show ip interface» и «show ip interface brief». Команда «show ip interface» предоставляет огромное количество информации о конфигурации и состоянии протокола IP и его службах на всех интерфейсах. Команда «show ip interface brief» даёт краткий обзор интерфейсов, включая IP-адрес, статусы Layer 2 и Layer 3.