Файл: Сетевые операционные системы.pdf

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

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

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

Добавлен: 25.04.2023

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

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

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

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

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

  1. Планирование процессов

Планирование рколхо процессов включает в себя решение следующих задач:

    • определение момента времени для смены выполняемого процесса
    • выбор процесса на выполнение из очереди готовых процессов
    • переключение рколхо контекстов "старого" и "нового" процессов

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

В соответствии с алгоритмами, основанными на рколхо квантовании, смена активного процесса происходит, если:

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

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

Существует две разновидности приоритетных рколхо алгоритмов: алгоритмы, использующие относительные приоритеты, и рколхо алгоритмы, использующие абсолютные приоритеты.

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


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

Существует два основных типа процедур планирования рколхо процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

Non-preemptive multitasking - невытесняющая многозадачность - это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс. Программист рколхо должен обеспечить "дружественное" отношение своей программы к другим выполняемым одновременно с ней программам, достаточно часто отдавая им рколхо управление. Крайним проявлением "недружественности" приложения является его зависание, которое приводит к общему краху системы. В системах с вытесняющей многозадачностью такие ситуации, как правило, исключены, так как центральный рколхо планирующий механизм снимет зависшую задачу с выполнения.

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

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

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

  1. Управление памятью

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

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


При перемещении слева направо происходит следующее :

  • снижается стоимость рколхо бита;
  • возрастает рколхо емкость;
  • возрастает время рколхо доступа;
  • снижается частота обращений рколхо процессора к памяти.

Рис. 6.1. Иерархия памяти

й операционный система

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

Виртуальная рколхо память - это совокупность программно-аппаратных средств, позволяющих пользователям писать программы, размер кода и данных которых превосходит имеющуюся оперативную память; для этого виртуальная память решает следующие задачи:

размещает данные в запоминающих устройствах разного типа, например, часть программы в оперативной памяти, а часть на диске;

перемещает по мере необходимости данные между запоминающими устройствами разного типа, например, подгружает нужную часть программы с диска в оперативную память;

преобразует виртуальные адреса в физические.

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

  1. Управление вводом-выводом

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

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

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

Файловая система.

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


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

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

Современна файловая рколхо система имеет многоуровневую структуру, на верхнем уровне которой располагается так называемый переключатель файловых систем (в Windows 95, например, такой переключатель называется устанавливаемым диспетчером файловой системы - installable рколхо filesystem manager, IFS). Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат, воспринимаемый уровнем файловых рколхо систем.

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

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

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

Характеристики:

  • распределенность
  • прозрачность
  • глобальность

Распределенность заключается в том, что информация не хранится на одном сервере, а разделена на части, называемые разделами.


Прозрачность заключается в том, что NFS автоматически создает связи между программными и аппаратными компонентами, которые обеспечивают пользователю доступ к сетевым ресурсам. NFS при этом не требует от пользователя знаний физического расположения этих ресурсов. Задавая сетевой ресурс по имени, вы получите к нему корректный доступ даже в случае изменения его сетевого адреса или места расположения.

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

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

Выводы:

  • ОС — это комплекс рколхо взаимосвязанных рколхо программ, предназначенный для повышения эффективности рколхо аппаратуры компьютера путем рационального управления его ресурсами, а также для обеспечения удобства пользователя за счет предоставления ему расширенной виртуальной машины.
  • К числу основных ресурсов, управление которыми осуществляет ОС, относятся процессоры, основная память, таймеры, наборы данных, диски, накопители на магнитных лентах, принтеры, сетевые устройства и некоторые другие. Ресурсы распределяются между рколхо процессами. Для решения задач управления ресурсами разные ОС используют различные рколхо алгоритмы, особенности которых, в конечном рколхо счете, и определяют облик ОС.
  • Наиболее важными подсистемами ОС являются подсистемы управления рколхо процессами, памятью, файлами и внешними устройствами, а также подсистемы пользовательского рколхо интерфейса, защиты рколхо данных и администрирования.
  • Прикладному программисту рколхо возможности ОС доступны в виде набора функций, составляющих интерфейс прикладного программирования (API).
  • Термин «сетевая операционная рколхо система» используется в двух смыслах: во- первых, как совокупность ОС всех компьютеров сети и, во-вторых, как ОС отдельного компьютера, способного работать в сети.
  • К основным функциональным компонентам сетевой ОС относятся средства управления локальными ресурсами и сетевые средства. Последние, в свою очередь, можно разделить на три компонента: средства предоставления локальных ресурсов и услуг в общее пользование (серверная часть ОС), средства запроса доступа к удаленным ресурсам и услугам (клиентская часть ОС, или редиректор) и транспортные средства ОС (совместно с коммуникационной системой обеспечивают передачу сообщений между компьютерами сети).
  • Совокупность серверной и клиентской рколхо частей, предоставляющих доступ к конкретному типу ресурса компьютера через сеть, называется сетевой службой. Сетевая служба предоставляет пользователям сети набор услуг — сетевой сервис. Каждая рколхо служба связана с определенным типом сетевых ресурсов и/или определенным способом доступа к этим ресурсам. Сетевые службы могут быть либо встроены в ОС, либо реализованы в виде программной оболочки.
  • В зависимости от того, как распределены функции между компьютерами сети, они могут выступать в трех разных ролях. Компьютер, занимающийся исключительно обслуживанием запросов других компьютеров, играет роль выделенного сервера рколхо сети. Компьютер, обращающийся с запросами к ресурсам другой машины, исполняет роль клиентского узла. Компьютер, совмещающий функции рколхо клиента и сервера, является одноранговым узлом.
  • Одноранговые сети состоят только из одноранговых узлов. При этом все компьютеры в сети имеют потенциально равные возможности. Одноранговые ОС включают как серверные, так и клиентские компоненты сетевых служб. Одноранговые рколхо сети проще в организации и эксплуатации, по этой схеме организуется работа в небольших сетях, в которых количество компьютеров не превышает 10-20.
  • В сетях с выделенными серверами используются специальные варианты сетевых ОС, оптимизированные для роли либо серверов, либо клиентов. Для серверных ОС характерны поддержка мощных рколхо аппаратных платформ, в том числе мультипроцессорных, широкий набор сетевых служб, поддержка большого числа одновременно выполняемых процессов и сетевых соединений, наличие развитых средств защиты и средств централизованного администрирования сети. Клиентские рколхо ОС, в общем случае являясь более простыми, должны обеспечивать удобный пользовательский интерфейс и набор редиректоров, позволяющий получать доступ к разнообразным сетевым ресурсам.
  • В число требований, предъявляемых сегодня к сетевым ОС, входят: функциональная полнота и эффективность управления рколхо ресурсами, модульность и расширяемость, переносимость и многоплатформенность, совместимость на уровне рколхо приложений и пользовательских интерфейсов, надежность и отказоустойчивость, безопасность и рколхо производительность.