курсовая работа. Пояснительная записка по курсовому проекту по дисциплине Архитектура операционных систем и организация взаимодействия процессов по теме
Скачать 0.78 Mb.
|
МИНОБРНАУКИ РОССИИ федеральное государственное бюджетное образовательное учреждение высшего образования «Самарский государственный технический университет» (ФГБОУ ВО «СамГТУ») Россия, 443100, Самара, ул. Молодогвардейская, 244. Телефон: (846)3335-075. rector@samgtu.ru Институт автоматики и информационных технологий (ИАиИТ) Кафедра: Информационные технологии (ИТ) ПОЯСНИТЕЛЬНАЯ ЗАПИСКА ПО КУРСОВОМУ ПРОЕКТУ по дисциплине Архитектура операционных систем и организация взаимодействия процессов по теме «Сетевые, распределенные и мультипроцессорные операционные системы» Выполнил: ФИО обучающегося: Баев Дмитрий Денисович Курс, факультет, группа: 2- ИАИТ-21ИАИТ-112 Направление подготовки: 09.03.02 «Информационные системы и технологии» дата сдачи: __.05.2023 подпись: Принял: Руководитель курсового проекта: Козлов В.В., к.т.н., доцент каф. ИТ (фамилия, инициалы, уч.звание, должность) дата: 03.06.2023 с оценкой: подпись: Самара, 2023 2 МИНОБРНАУКИ РОССИИ федеральное государственное бюджетное образовательное учреждение высшего образования «Самарский государственный технический университет» (ФГБОУ ВО «СамГТУ») Институт автоматики и информационных технологий Кафедра информационных технологий ЗАДАНИЕ НА КУРСОВОЙ ПРОЕКТ (КП) по дисциплине «Архитектура операционных систем и организация взаимодействия процессов» Обучающийся: Баев Дмитрий Денисович Курс, группа, факультет: 2- ИАИТ-21ИАИТ-112 Образовательная программа: 09.03.02 «Информационные системы и технологии» Тема КП: «Сетевые, распределенные и мультипроцессорные операционные системы» Цель и назначение КП: Изучение сетевых, распределенных и мультипроцессорных операционных систем, их принципов функционирования и возможностей. Также рассмотрение проблем, связанных с организацией взаимодействия процессов в таких системах. Результат КП: Проанализированы основные принципы и алгоритмы, связанные с этими типами операционных систем. Сравнительный анализ различных сетевых, распределенных и мультипроцессорных операционных систем, выявлены их преимущества и недостатки. Изучены применения данных операционных систем в реальных сценариях. Задачи: 1.Изучение основных понятий и принципов сетевых ОС, принципов функционирования распределенных ОС, основных концепций и возможностей мультипроцессорных ОС. 2.Рассмотрение проблем, связанных с организацией взаимодействия процессов в сетевых, распределенных и мультипроцессорных ОС. 3.Анализ существующих решений и технологий, используемых для реализации сетевых, распределенных и мультипроцессорных ОС. Технические требования: Объем: Определенное количество страниц (30+страниц). Источники: Научно-обоснованные и актуальные. Таблицы: Четкая подпись, удобочитаемый формат. Цитирование и список литературы: Правила цитирования и оформления в соответствии с выбранным стилем (например, ГОСТ Р7.0.100-2018). Методические указания руководителя: Критерии оценивания: «отлично» – в проекте дополнительно должны быть и исследование и программа либо довольно сложная комплексная программа; «хорошо» – в проекте должна быть программная часть или большое исследование; «удовлетворительно» – проект реферативного типа или не дотягивает до более высокой оценки. Требования к документированию: КП – реферативного типа, приложение или приложение с элементами исследования: 1. Приложение - должно иллюстрировать какой-либо аспект операционных систем; 2. Исследование: с помощью разработанного приложения снимаются характеристики и проводится их анализ (не обязательно в разработанной программе); 3. В случае реферативного типа тема должна быть связана с тематикой операционных систем. Дата выдачи задания: «09» января 2023 года Срок представления законченной работы до: «03» июня 2023 года Руководитель проекта: Козлов В.В. Задание принял к исполнению: 3 СОДЕРЖАНИЕ ВВЕДЕНИЕ .................................................................................................................................................. 4 1. ОПЕРАЦИОННАЯ СИСТЕМА ....................................................................... 6 1.1. Что такое операционная система? ............................................................ 6 1.2. Функции операционной системы .............................................................. 6 1.3. ОС как расширенная машина .................................................................... 7 1.4. ОС как система управления ресурсами .................................................... 8 1.5. Классификация ОС ....................................................................................... 9 2. МНОГОЗАДАЧНОСТЬ ОС ............................................................................. 11 2.1. Особенности алгоритмов управления ресурсами ................................. 11 2.2. Поддержка многозадачности. .................................................................. 11 2.3. Поддержка многопользовательского режима. ......................................... 12 2.4. Вытесняющая и невытесняющая многозадачность. ............................... 13 2.5. Многопроцессорная обработка.................................................................. 13 2.6. Особенности аппаратных платформ ......................................................... 14 2.7. Особенности областей использования ...................................................... 15 З. СЕТЕВЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ .................................................. 17 3.1. Структура сетевой операционной системы .............................................. 17 3.2. Одноранговые сетевые ОС и ОС с выделенными серверами ................ 20 3.3. ОС для рабочих групп и ОС для сетей масштаба предприятия ............. 22 4. РАСПРЕДЕЛЕННЫЕ ОС. .............................................................................. 26 4.1. Определение распределенной ОС ............................................................. 26 4.2. Задачи распределенной ОС ........................................................................ 27 4.2.1. Соединение пользователей с ресурсами .......................................... 27 4.2.2. Прозрачность ...................................................................................... 28 4.2.3. Открытость .......................................................................................... 29 4.2.4. Гибкость .............................................................................................. 29 4.2.5. Масштабируемость ............................................................................ 29 4.3. Мультипроцессоры ..................................................................................... 30 ЗАКЛЮЧЕНИЕ ..................................................................................................... 31 СПИСОК ЛИТЕРАТУРЫ ..................................................................................... 32 4 ВВЕДЕНИЕ Цель работы: Целью данной работы является изучение сетевых, распределенных и мультипроцессорных операционных систем, их принципов функционирования и возможностей. Также целью работы является рассмотрение проблем, связанных с организацией взаимодействия процессов в таких системах. Задачи, поставленные для достижения цели: 1. Изучение основных понятий и принципов сетевых ОС. 2. Изучение принципов функционирования распределенных ОС. 3. Изучение основных концепций и возможностей мультипроцессорных ОС. 4. Рассмотрение проблем, связанных с организацией взаимодействия процессов в сетевых, распределенных и мультипроцессорных ОС. 5. Анализ существующих решений и технологий, используемых для реализации сетевых, распределенных и мультипроцессорных ОС. Актуальность работы: В современном мире человек уже не может представить свою жизнь без возможности доступа к сети интернет и компьютеру, который значительно повысил человеческую эффективность и дал возможность получать новые знания. Компьютер, в свою очередь, не может существовать без операционной системы. Несмотря на это, пользователи, активно использующие вычислительную технику, зачастую испытывают затруднения при попытке дать определение операционной системе. Чтобы разобраться в том, что такое сетевые и распределенные операционные системы следует понять, что из себя представляет просто ОС. Операционная система - это программа, предназначенная для запуска других программ на компьютере. ОС считается основой компьютера, управляя и программным и аппаратным обеспечением персонального компьютера либо другой вычислительной машины. Операционные системы отвечают за все: от управления и распределения 5 памяти до распознавания и ввода информации с внешних устройств до передачи ее на дисплеи компьютеров. Они также управляют файлами на жестких дисках компьютеров и управляют периферийными устройствами, такими как принтеры и сканеры. Операционная система большой компьютерной сети имеет еще больше работы, которую необходимо выполнить. Такие операционные системы отслеживают различные программы и пользователей, обеспечивая гладкую работу, несмотря на то, что одновременно используются многочисленные устройства и программы. Операционная система также играет жизненно важную роль в обеспечении безопасности. Его работа включает в себя предотвращение несанкционированного доступа пользователей к компьютерной системе. Предмет исследования: Предметом исследования данной работы являются сетевые, распределенные и мультипроцессорные ОС. Работа будет посвящена изучению их основных концепций, принципов функционирования, а также проблем, возникающих при организации взаимодействия процессов в таких системах. Объект исследования: Объектом исследования являются процессы, осуществляющие взаимодействие в сетевых, распределенных и мультипроцессорных ОС. Работа будет посвящена изучению способов организации взаимодействия процессов, передаче данных, синхронизации и координации действий в таких системах. 6 1. ОПЕРАЦИОННАЯ СИСТЕМА 1.1. Что такое операционная система? Операционная система - это программное обеспечение, необходимое для запуска прикладных программ и утилит. Она работает как мост для выполнения лучшего взаимодействия между программами и аппаратным обеспечением компьютера. Примерами операционных систем являются UNIX, MS-DOS, MS-Windows - 98/XP/Vista/7/8/10/11, Windows-NT/2000, OS 2 и Мас OS . Операционная система - это диспетчер ресурсов, который управляет всеми ресурсами, подключенными к системе, такими как память, процессор, устройства ввода-вывода. 1.2. Функции операционной системы ОС управляет всем хранением и доступом к файлам и каталогам операций чтения записи. Операционная система управляет общей деятельностью компьютера, как и устройствами ввода и вывода, которые подключены к компьютеру. Это первое программное обеспечение, которое вы видите, когда включаете компьютер, и последнее программное обеспечение, которое вы видите, когда компьютер в процессе завершения работы. Это программное обеспечение, которое позволяет все программы, которые вы используете. На самом простом уровне операционная система выполняет две функции: Во-первых, она управляет аппаратными и программными ресурсами компьютерной системы. Эти ресурсы включают процессор, память, дисковое пространство и т.д. Во-вторых, она обеспечивает стабильную, последовательную работоспособность для приложений. Первая задача, т. е. управление аппаратными и программными ресурсами, очень важна, так как различные процессы конкурируют друг с другом за получение процессорного времени и пространства памяти для выполнения задачи. В этой связи операционная система выступает в качестве менеджера для распределения имеющихся ресурсов для удовлетворения потребностей каждого процесса. 7 Особенно важна вторая задача, обеспечение согласованного интерфейса приложения. Последовательный интерфейс прикладных программ (API) позволяет пользователю (или S/W разработчику) написать прикладную программу на любом компьютере и запустить эту программу на другом компьютере, даже если конфигурация аппаратного обеспечения отличается, например, как объем памяти, тип процессора или диска хранения. Он защищает потребителя машины от низкоуровневых деталей деятельности машины и обеспечивает часто необходимые средства. 1.3. ОС как расширенная машина Еще одной важной функцией операционной системы является создание благоприятной обстановки для работы пользователя. Например, используя машинный язык для ввода-вывода человек столкнется с проблемой: для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающих наличие и типы ошибок, которые, очевидно, надо анализировать. Эти команды предназначены для чтения и записи данных, перемещения дисковой считывающей головки и форматирования дорожек, а также инициализации, сброса и повторной калибровки контроллера, дисков. Самые основные команды чтение и письмо. Каждое из них требует 13 параметров, упакованных в 9 байт. Эти параметры указывают адрес считываемого дискового блока, количество секторов на дорожку, режим записи, используемый на физическом носителе, межсекторный интервал и то, что делать с удаленной меткой адреса данных. Необязательно быть программистом, чтоб сделать вывод о монотонности и сложности постоянного программирования этих операций. Возможность удобного просмотра, чтения и записи файлов даёт операционная система. Она предоставляет простой файловый интерфейс и защищает пользователя от 8 рутины, связанной с аппаратурой дискового накопителя, работает с таймерами, оперативной памятью и прочими проблемами. С этой точки зрения функцией ОС является предоставление пользователю некоторой расширенной или виртуальной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальную машину. 1.4. ОС как система управления ресурсами Другой взгляд, снизу вверх, дает представление об ОС как о некотором механизме, управляющем всеми частями сложной системы. В соответствии со вторым подходом, функцией ОС является распределение процессоров, памяти, устройств и данных между процессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсами вычислительной машины таким образом, чтобы обеспечить максимальную эффективность ее функционирование. Критерием эффективности может быть, например, пропускная способность или реактивность системы. Управление ресурсами включает решение двух общих, не зависящих от типа ресурса задач: 1. планирование ресурса — то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс; 2. отслеживание состояния ресурса — то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов какое количество ресурса уже распределено, а какое свободно. Для решения этих общих задач управления ресурсами разные ОС используют различные алгоритмы, что, в конечном счете, и определяет их облик в целом, включая характеристики производительности, область применения и даже пользовательский интерфейс. Так, например, алгоритм управления процессором в значительной степени определяет, является ли ОС 9 системой разделения времени, системой пакетной обработки или системой реального времени. 1.5. Классификация ОС Операционные системы следует классифицировать по нескольким признакам. Первым из них является классификация по количеству пользователей. ОС бывают однопользовательскими и многопользовательскими. Как понятно из названия, первая обслуживает только одного пользователя, вторая более, чем одного. Вторым признаком нужно выделить классификацию по числу процессов. Однозадачные (обрабатывают только одну задачу, т.е. являются устаревшими в наше время); многозадачные (располагает в оперативной памяти одновременно несколько задач, которые попеременно обрабатывает процессор); Следующий признак классификации по типу средств вычислительной техники: однопроцессорные, многопроцессорные и сетевые ОС. Серверы, как правило, являются многопроцессорным, так как задачи могут выполняться на разных процессорах. Сетевые операционные системы обеспечивают совместное использование ресурсов всеми выполняемыми в сети задачами. Также операционные системы делятся на ОС с интерфейсом командной строки и ОС с графическим интерфейсом MS-DOS, Unix первые операционные системы. Они в полном смысле слова вели диалог с пользователем. Человек вводил команду, а компьютер, проверяя ее, либо приводил в исполнении, либо сообщал о невозможности исполнения из-за ошибки. Данные операционные системы называются ОС с интерфейсом командной строки. С ходом прогресса стали появляться новые технологии, среди которых стали появляться дисплеи, графическое развитие которых позволило изменить принцип взаимодействия человека и компьютера. Командная строка была полностью и безвозвратно заменена новым графическим интерфейсом. В нем объекты были отображены с помощью изображений, а действия задавались не написанием кода компьютеру, а 10 выбором той или иной функции из предлагаемых самим компьютером в списке. Данный новый метод диалога с машиной позволял ограничиться всего парой клавиш для взаимодействия. Важным компонентом графического способа ведения диалога является принесенное прогрессом новое устройство для ввода информации в компьютер «компьютерная мышь», без которой сейчас, конечно, и невозможно представить взаимодействие пользователя с компьютера. Windows, МАС OS популярные операционные системы, являющиеся примерами графического интерфейса. Таким же образом операционные системы различаются и способами реализации алгоритмов и функций, а также управлением оперативной памятью, процессорами, подключаемыми устройствами и другими ресурсами компьютера, особенностями использованных методов конструирования. Ниже приведена классификации ОС по нескольким наиболее основным признакам. 11 2. МНОГОЗАДАЧНОСТЬ ОС 2.1. Особенности алгоритмов управления ресурсами Управление ресурсами это процесс во всех операционных системах, в которых, системные ресурсы (например, центральный процессор (ЦП) оперативная память, вторичные устройства хранения, внешние устройства и т.д., назначаются процессам, потокам и приложениям. Обычно это делается для достижения высокой пропускной способности, качества обслуживания, справедливости и баланса между всеми процессами. Чтобы выполнить эту задачу уровня управления, нам нужны алгоритмы планирования, чтобы гарантировать, что все процессы совместно используют системные ресурсы в соответствии с потребностями. Задача планирования является основным требованием для тех систем, которые выполняют многозадачные и мультиплексированные задачи. 2.2. Поддержка многозадачности. Многозадачность - возможность обрабатывать несколько задач одновременно. Многозадачность также относится к тому, как работает компьютер. Центральный процессор компьютера может обрабатывать множество процессов одновременно, не теряя полной точности. Однако он будет обрабатывать только инструкции, отправленные ему программным обеспечением компьютера. Поэтому, чтобы в полной мере использовать возможности центрального процессора, программное обеспечение должно обрабатывать более одной задачи за раз, то есть являться многозадачным. Ранние операционные системы могли запускать несколько программ одновременно, но не полностью поддерживали многозадачность. Поэтому одна программа может потреблять весь ресурс процессора компьютера при выполнении определенной операции. Основные процессы операционной системы, такие как копирование файлов, не позволяли пользователю 12 выполнять другие задачи, например открытие или закрытие окон. К счастью, поскольку современные операционные системы включают полную поддержку многозадачности, несколько программ могут работать одновременно, не влияя друг на друга. Кроме того, несколько процессов операционной системы могут происходить одновременно. Поскольку многозадачность может обрабатывать несколько задач одновременно, это также повышает стабильность работы компьютера. Например, в случае сбоя одного процесса это не повлияет на другие запущенные программы, поскольку компьютер обрабатывает каждый процесс отдельно. Другими словами, если вы находитесь в процессе написания статьи в текстовой программе и ваш веб-браузер неожиданно завершает работу, вы не потеряете свой прогресс. Вот тогда вы действительно можете быть благодарны за многозадачность современных операционных систем. 2.3. Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на однопользовательские (MS-DOS, Windows 3.х, ранние версии OS/2) и многопользовательские (UNIX, Windows NT). База данных, работающая в многопользовательском режиме, позволяет нескольким пользователям получать к ней доступ одновременно. Пользователь координирует все запросы на подключение к базе данных, а серверы получают и хранят данные от имени клиентов. Каждый пользователь способен заблокировать свои данные, чтобы любой другой клиент или однопользовательский процесс не мог получить к ним доступ. 13 2.4. Вытесняющая и невытесняющая многозадачность. Время - важнейший ресурс для человека. Соответственно этому, для компьютера, от которого требуется с наивысшей скоростью выдать решение поставленной пользователем задачи, процессорное время является важнейшим распределяемым ресурсом. Специфику и направленность ОС во многом определяет способ распределения процессорного времени между процессами (нитями). Среди множества существующих вариантов реализации многозадачности следует выделить две группы алгоритмов: невытесняющая и вытесняющая многозадачность. Примером первой может послужить Netware, Windows 3.х, а второй Windows NT, UNIX. Различие в данных вариантах заключается в степени централизации механизма планирования процессов. При вытесняющей многозадачности механизм целиком сосредоточен в ОС, а во втором случае распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется так долго, как ему нужно, пока он сам не отдаст управление ОС для выбора к выполнению другого процесса. При вытесняющей ОС сама принимает решение о переключении с процесса на процесс. В случае поддержки многонитевости ОС разделяет процессорное время не между задачами и приложениями, а между их отдельными ветвями(нитями). 2.5. Многопроцессорная обработка. Многопроцессорная обработка — это использование двух или более центральных процессоров (ЦП) в одной компьютерной системе. Термин также относится к способности системы поддерживать более одного процессора или способности распределять задачи между ними. В зависимости от контекста, темы, от того, как определяется процессор (несколько ядер на одном кристалле, несколько кристаллов в одном пакете и т.д.) определение многопроцессорности может принимать иные значения. 14 Многопроцессорная система — это система, имеющая два или более процессорных блока, которые совместно используют основную память и периферийные устройства для обработки данных. Многопроцессорность может быть противопоставлена многозадачности, так как первая используется для обозначения несколько отдельных процессов, который в свою очередь выполняются на разных процессорах. При многозадачности используется один процессор, но переключаем во временных интервал от задачи к задаче (разделение процессорного времени, о котором шла речь выше). Стоит сказать, что многопроцессорная обработка не всегда говорит о том, что конкретно один процесс использует более одного процессора одновременно. Для обозначения данной функции используется термин «параллельная обработка». Некоторые авторы научных работ предпочитают называть методы операционной системы мультипрограммированием и оставляют термин «многопроцессорная обработка» для аппаратного аспекта наличия более одного процессора. 2.6. Особенности аппаратных платформ Свойства операционной системы зависят от аппаратных средств, на которые она ориентирована. По типу аппаратуры ОС делятся на систем персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. ОС большой машины является более объемной, чем ОС персонального компьютера, так как в первой больше функций, направленных на приоритизацию и планирование потока задач, что реализуется с помощью использования сложных дисциплин. Аналогично происходит и с другими функциями операционных систем. Сетевая ОС имеет в своем составе средства для передачи сообщений между компьютерами в сети, т.е. поддерживает разделение ресурсов между пользователями. С программной стороны сетевые операционные системы отличаются коммуникационными протоколами, например IP, IPX, Internet. Многопроцессорные системы требуют от операционной системы особой организации, с помощью которой сама 15 операционная система, а также поддерживаемые ею приложения могли бы выполняться параллельно отдельными процессорами системы. К кластерным системам предъявляются иные требования. Кластер слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Для данных систем требуется не только специальное аппаратное обеспечение, но и программная поддержка, сводящаяся к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической конфигурации системы. Наряду с ОС, ориентированными на совершенно определенный тип аппаратной платформы, существуют операционные системы, созданные для легкого транспортирования с одного устройства на другое. Самым ярким и популярным примером данной типа систем является система UNIX. В данных системы аппаратно-зависимые места локализованы отдельно от других, в процессе переноса переписываются только они. Вторым облегчающим свойством данных ОС является ее написание на машинно-независимом языке. 2.7. Особенности областей использования Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности: 1) системы пакетной обработки (например, ОС ЕС); 2) системы разделения времени (UNIX, VMS); 3) системы реального времени (QNX, RT/11). Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. 16 Системы разделения времени призваны исправить основной недостаток систем пакетной обработки изоляцию пользователя-программиста от процесса выполнения его задач. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя. Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, и т.п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы - реактивностью. Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом. 17 З. СЕТЕВЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ 3.1. Структура сетевой операционной системы Сетевая операционная система — это инфраструктура, которая обеспечивает надежное распределение процессов, файловых систем, сетевых компонентов, сетевых протоколов и других связанных компонентов для создания надежной и безопасной системы, которая работает в рамках требуемой спецификации. В случае сетевой операционной системы сеть – это не что иное, как набор компьютерных устройств, соединенных вместе. Сетевая операционная система усиливает информационный поток и связь в разных сетях. В сети каждый компьютер обособлен в некоторой степени, потому в широком смысле сетевая операционная система не что иное, как совокупность отдельный операционных систем. На рисунке выделены несколько частей отдельной ОС, состоящей в сетевой операционной системе. Рисунок 1 - Структура сетевой ОС Средства управления локальными ресурсами компьютера: распределение оперативной памяти между процессами, планирование и диспетчеризация процессов, управление самими процессорами, управление периферийными устройствами и другие функции. 18 Средства предоставления собственных ресурсов и услуг в общее пользование серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам. Средства запроса доступа к удаленным ресурсам и услугам и их использования клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо. Коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений. Так же в компьютере, в зависимости от его назначения может отсутствовать либо серверная, либо клиентская части. Рассмотрим взаимодействие сетевых компонентов на рисунке 2. Компьютер клиент, компьютер 2 сервер. В данном случае на первом компьютере отсутствует серверная часть, а на втором клиентская. Редиректор компонент клиентской части, принимающий запросы от приложений и анализирующий их. Он переадресовывает запросы к ресурсам к подходящей подсистеме локальной ОС. Запрос к удаленному ресурсу направляется в сеть. Клиентская часть преобразует запрос из локальной ОС в сетевую, а серверная часть из локальной формы в сетевой формат. Транспортная подсистема отвечает за переадресацию ответа клиенту, который задал данный запрос. Клиентская 19 часть уже форматирует полученный ответ для приложения, которое выдало запрос, что отображено на рисунке 2. Рисунок 2- Взаимодействие компонентов операционной системы при взаимодействии компьютеров В практике используется несколько подходов к созданию сетевых операционных систем. Варианты построения сетевых ОС отображены на рисунке 3. Рисунок 3- Варианты построения сетевых ОС Первые сетевые ОС не имели встроенных функций. Они представляли собой локальную ОС, содержащую минимум сетевых настроек и функций, и надстроенную над ней сетевую оболочку. Примером такой системы является 20 MS DOS. В современных ОС, например LANtastic или Personal Ware принцип данной надстройки сохранился. Более эффективным является путь создания ОС, изначально направленных на работу в сети. Сетевые функции тут имеют не надстройку, а глубокую интеграцию в основные модули ОС, что обеспечивает их логическую стройность, простоту использования, модификации, не заменяя высокую производительность. Например Windows NT. 3.2. Одноранговые сетевые ОС и ОС с выделенными серверами Исходя из потребностей пользователей, функции распределяются между компьютерами сети по-разному. Разделение функций образуют одноранговые (рисунок 4) и двухранговые (рисунок 5) сети. Рисунок 4- Одноранговая сеть 21 Рисунок 5- Двухранговая сеть Следует повторить: компьютер, предоставляющий свои ресурсы другим пользователям сети сервер, компьютер, обращающийся к ресурсам другой машины — клиент. Компьютер может выполнять обе эти функции, либо только одну из них. Допустим, что какой-либо компьютер занимается только серверными функциями (например, организует совместное использование факса). Данный компьютер будет называться выделенным сервером. В зависимости от того, каким ресурсом делится данный сервер, он может называться файл-сервером, факс-сервером, принт-сервером и так далее. Данный сервер обязан иметь ОС, специально оптимизированную для выполнения серверных операций. Таким образом вся сеть выиграет в работоспособности, так как остальные компьютеры могут использовать ОС, отличающуюся функционалом, от выделенного сервера. Примером ОС, ориентированной на построение сети с выделенным сервером, является операционная система Windows NT. Серверный вариант Windows NT имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети, по сравнению с той же версией ОС, но направленной на работу в состоянии клиента (Windows NT Workstation). Он может выполнять более широкий набор функций, поддерживает большее количество одновременных соединений с клиентами, реализует централизованное управление сетью, имеет более развитые средства защиты. 22 Важно понять, что в общем случае все компьютеры сети могут выполнять роль сервера и клиента, однако и аппаратное и программное обеспечение не симметрично. Для выделенных серверов используются более мощные компьютеры с большими объемами оперативной и внешней памяти. В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга. Каждый пользователь может по своему желанию объявить какой- либо ресурс своего компьютера разделяемым, после чего другие пользователи могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные возможности. Одноранговые сети могут быть построены, например, на базе ОС LANtastic, Personal Ware. Одноранговые сети проще в организации и эксплуатации, однако они применяются в основном для объединения небольших групп пользователей, не предъявляющих больших требований к объемам хранимой информации, ее защищенности от несанкционированного доступа и к скорости доступа. При повышенных требованиях к этим характеристикам более подходящими являются двухранговые сети, где сервер лучше решает задачу обслуживания пользователей своими ресурсами, так как его аппаратура и сетевая операционная система специально спроектированы для этой цели. 3.3. ОС для рабочих групп и ОС для сетей масштаба предприятия В зависимости от масштаба предприятия сетевые операционные системы имеют различные функции и свойства. Начнем с сетей отделов. Они обычно не разделяются на подсети, так как используются небольшим количеством сотрудников, которые решают общие задачи. Сети кампусов (кампус — это обособленная территория, которая принадлежит компании) занимаются соединением несколько других сетей, например сетей отделов, внутри здания, либо на всей территории предприятия. Являются локальными, несмотря на возможно огромный размер покрываемых 23 территорий. Являются по факту распределителем взаимодействий между баз данных, также дают доступ к факс-серверам или принтерам. Сети предприятия или корпоративные сети занимаются объединением всех компьютеров на территории покрытия. Могут покрывать как небольшой город, так и весь континент. Предоставляют доступ к информации и приложениям, которые находятся в других отделах, города, штаб-квартирах и т.д. Итак, главной задачей сетей предприятий является адресация файлов по запросам, выдача доступа к принтерам, факсам и т.д. Обычно сети отделов имеют от одного до трех файловых сервера и не более чем 40 пользователей. Задачи, возлагаемые на такие сети относительно просты. В них входит инсталляция новых узлов, установка новых версий ПО, устранение отказов. Операционные системы сетей отделов в наше время хорошо отработаны. Существует много вариаций таких ОС, так как они применяются уже долго. Такая сеть обычно использует одну или две сетевых операционных систем. Чаще всего это сеть с выделенным сервером NetWare 3.х или Windows NT, или же одноранговая сеть, например сеть Windows for Workgroups. Сети кампусов следующий этап развития сетей. Они объединяют локальные сети в единую сеть, не требующую глобального соединения. ОС, которая работает в сети кампуса обеспечивает одних сотрудников связью и возможностью обмениваться данными и ресурсами с сотрудниками других отделов и сетей. Они отличаются тем, что не ограничиваются простым разделением файлов либо принтеров. Операционные системы кампусов дают доступ к серверам других типов, например сервер высокоскоростного модема, факс сервер или корпоративные базы данных, и не важно находятся ли они на серверах или на мини-компьютерах 24 Услуги, предоставляемые ОС сетей кампусов, не ограничиваются простым разделением файлов и принтеров, а часто предоставляют доступ и к серверам других типов, например, к факс-серверам и к серверам высокоскоростных модемов. Важным сервисом, предоставляемым операционными системами данного класса, является доступ к корпоративным базам данных, независимо от того, располагаются ли они на серверах баз данных или на мини-компьютерах. Рассмотрим ситуацию, в которой на уровне сети кампуса могут возникнуть затруднения с интеграцией. Обычно, отделы уже выбрали для себя определенные типы системных конфигураций (тип компьютера, сетевого оборудования и сетевых ОС). Например, маркетинговый отдел может использовать операционную систему UNIX и сетевое оборудование Ethernet, отдел продаж может использовать операционные среды DOS/Novell и оборудование Token Ring. В такой ситуации сети кампуса приходится соединять разные по своему строению о основе компьютерные системы. Корпоративная сеть соединяет сети всех подразделений предприятия, обычно находящихся на значительных расстояниях с помощью глобальной связи (WAN links) для соединения локальных сетей или отдельных устройств. К признакам корпоративных ОС можно отнести следующие особенности: поддержка приложений, справочная служба и безопасность. Приложения, требующие большой вычислительной мощности, делятся на несколько частей и выполняются на разных компьютерах. Сервер приложений должен базироваться на мощной аппаратной платформе, так как от него требуется выдерживать высокую нагрузку, сохраняя скорость обработки информации. Корпоративная ОС должна обладать способностью хранить информацию обо всех пользователях и ресурсах таким образом, чтобы обеспечивалось управление ею из одной центральной точки. База данных, хранящая справочную информацию, открывает множество возможностей, но и добавляет проблем. Она должна быть реализована как база данных, а не набор баз данных. Например, в 25 Windows NT имеется, по крайней мере, пять различных типов справочных баз данных. Особую важность для ОС корпоративной сети приобретают вопросы безопасности данных. Для защиты данных в корпоративных сетях наряду с различными аппаратными средствами используется весь спектр средств защиты, предоставляемый операционной системой: избирательные или мандатные права доступа, сложные процедуры аутентификации пользователей, программная шифрация. 26 4. РАСПРЕДЕЛЕННЫЕ ОС. 4.1. Определение распределенной ОС В литературе существует множество определений распределенной системы. Для наших целей подойдет вольная характеристика. Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой. Под данным определением подразумевается, что с аппаратной точки зрения все машины автономны, а с программной, что пользователь имеет дело с единой системой. Выделим важные характеристики распределенных систем. Первая из них заключается в сокрытии от пользователей различий между компьютерами и способов их связей. Вторая пользователи и приложения одновременно работают в единой сети, независимо от того, где происходит их взаимодействие. Масштабирование и расширение — те свойства, которым распределенная система должна легко поддаваться. Пользователи не должны знать о том, что какие-то части сети заменены, починены или добавлены. Для выполнения данных функций и поддержания единой системы распределенные ОС часто включают в себя дополнительный слой программного обеспечения. Данная структура отображена на рисунке 6. Рисунок 6- Распределенная система организована в виде службы промежуточного уровня. 27 Рассмотрим пример применения распределенной ОС. Подобные системы используются сотрудниками разных отделов, которые могут быть рассредоточены как по всему городу, так и по всей стране. Заказ, полученный по сотовому телефону, автоматически передается в отдел планирования, превращаясь во внутренний заказ на поставку, которые поступают в отдел доставки и в заявки на оплату. Пользователь в свою очередь остается в полном неведении о происходящем внутри системы. 4.2. Задачи распределенной ОС 4.2.1. Соединение пользователей с ресурсами Основная задача распределенных сетей — облегчить пользователям доступ к удаленным ресурсам, обеспечить их общее использования и регулировать данные процессы. Существует множество причин, из-за которых данные процессы важны. Совместное использование ресурсов не только позволяет повысить экономию, но и позволяет повысить работоспособность. Гораздо дешевле иметь один принтер, доступный большому количеству персонала, нежели каждому работнику выделять отдельную машину. Работоспособность повышается за счет ускоренного процесса обмена данных между сотрудниками, повышая уровень кооперации, что иллюстрирует успех Интернета. Однако с подключением большого количества пользователей появляется проблема безопасности. Пароли и другая особо важная информация часто пересылаются по сетям открытым текстом (то есть незашифрованными) или хранятся на серверах, надежность которых не подтверждена ничем, кроме нашей веры. Другая проблема безопасности состоит в том, что прослеживание коммуникаций позволяет построить профиль предпочтений конкретного пользователя. Подобное отслеживание серьезно нарушает права личности, особенно если производится без уведомления пользователя 28 4.2.2. Прозрачность Важной задачей распределенных систем является необходимость скрывать от пользователя, что процессы и ресурсы физически распределены между множеством компьютеров. Прозрачность доступа призвана скрыть разницу в представлении данных и в способах доступа пользователя к ресурсам. Так, при пересылке целого числа с рабочей станции на базе процессора Intel на Sun SPARC необходимо принять во внимание, что процессоры Intel оперируют с числами формата «младший — последним» (то есть первым передается старший байт), а процессор SPARC использует формат «старший последним» (то есть первым передается младший байт). Также в данных могут присутствовать и другие несоответствия. Распределенная система может иметь компьютеры с различными операционными системами, каждая из которых может иметь собственные способы отображения имен файлов. Прозрачность местоположения важная группа прозрачности, призвана скрыть от пользователя, где именно физически расположен в системе нужный ему ресурс. Прозрачность местоположения может быть достигнута путем присвоения ресурсам только логических имен, то есть таких имен, в которых не содержится закодированных сведений о местоположении ресурса. Прозрачность репликации позволяет скрыть факт нахождения нескольких копий ресурса. Прозрачность параллельного доступа возможность совместного использования ресурсов. Например, два отдельных пользователя могут редактировать таблицу в совместно используемой базе данных. Важно, что пользователь не имеет никакого представления о том, что он не один пользуется ресурсом. Прозрачность отказов означает, что пользователя никогда не уведомляют о том, что с ресурс недоступен или что система восстановила какое-либо повреждение. Прозрачность сохранности предоставляет возможность остаться в неведение о том, как происходит сохранение объектов в базах 29 данных. На самом деле сервер перемещает данные между диском, оперативной памятью и устройством длительного хранения. 4.2.3. Открытость Другая важная характеристика распределенных систем —это открытость. Открытая распределенная система - система, дающая доступ к службам, вызов которых требует стандартных синтаксис и семантику. Формат, смысл, содержимое в сетях подчиняется правилам, которые формализованы в протоколах. Здесь службы зачастую определяются через интерфейсы, которые в свою очередь описаны с помощью языка определения интерфейсов. Это касается только синтаксиса служб. Оно точно отражает имена доступных функций, параметры, значения, исключительные ситуации и так далее. Сложнее описать то, что делает служба, поэтому на практике данные спецификации задаются неформально, с помощью естественного языка. Правильное описание и определение интерфейса дает возможность совместной работы произвольного процесса с другим процессом, которые предоставляет этот интерфейс. 4.2.4. Гибкость Гибкость одна из важнейших характеристик открытых распределенных систем. Она отвечает за легкость настройки, конфигурации системы, которая может состоять из компонентов от разных производителей. Не должно быть проблем с добавлением новых компонентов, заменой старых. Так же, элементы, которые не заменяются должны оставаться нетронутыми. Другими словами, открытая распределенная система должна быть расширяемой. 4.2.5. Масштабируемость Масштабируемость измеряется по трем показателям. Первый она может быть масштабируемой по отношению к её размеру. Во-вторых, система может 30 масштабироваться географически. В-третьих, масштабируемость в административном смысле, то есть она должна быть просто в управлении при работе во множестве независимых организаций. К сожалению, система, которая обладает масштабируемостью, теряет в производительности. 4.3. Мультипроцессоры Мультипроцессорные системы имеют одну отличительную особенность: все процессоры имеют прямой доступ к общей памяти. Мультипроцессорные системы с шинной архитектурой имеют следующее строение: несколько процессоров, которые между собой соединены шиной, которая также соединяет их с модулями памяти. Проблема мультипроцессорных систем шинной архитектуры состоит в их ограниченной масштабируемости, даже в случае использования кэша. Для построения мультипроцессорной системы с более чем 256 процессорами для соединения процессоров с памятью необходимы другие методы. Один из вариантов: разделить общую память на модули и связать их с процессорами через коммутирующую решетку. 31 ЗАКЛЮЧЕНИЕ Итак, в наш век без использования компьютеров функционирования общества просто невозможно. Наука принесла человечеству невероятно полезный инструмент. Компьютеры базируются на аппаратной и программной составляющих. Самая важная программная часть - операционная система. ОС рассчитаны на конкретные потребности и нужды пользователей. Сетевые, распределенные и мультипроцессорные операционные системы занимаются распределением информации между отдельных компьютеров в сети, ускоряют ее обработку, дают доступ к быстро обмену данными, они повышают работоспособность предприятий, на которых держится экономика целых государств. Операционные системы продолжат развитие со стремительной скоростью. Данное явление связано с тем, что всё большее количество людей привлекается к данной отрасли, все больше общество зависит от технологий, а значит и от операционных систем, которые уже стали неотъемлемой частью нашей жизни. 32 СПИСОК ЛИТЕРАТУРЫ 1. Бабичев, С. Л. Распределенные системы: учебное пособие для вузов / С. Л. Бабичев, К. А. Коньков. - Москва: Издательство Юрайт, 2019. - 507 с. - (Высшее образование). - ISBN 978-5-534-11380-8. - Режим доступа: https://urait.ru/bcode/445188 2. Буцык, С. В. Вычислительные системы, сети и телекоммуникации: учебное пособие по дисциплине "Вычислительные системы, сети и телекоммуникации" для студентов, обучающихся по направлению "Информационные системы и технологии" / С. В. Буцык, А. С. Крестников, А. А. Рузаков. - Челябинск: Челябинский государственный институт культуры, 2016. - 116 с. - ISBN 978-5-94839-537-1. - Режим доступа: https://www.iprbookshop.ru/56399.html 3. Назаров, С. В. Современные операционные системы: учебное пособие / С. В. Назаров, А. И. Широков. - 3-е изд. - Москва, Саратов: Интернет Университет Информационных Технологий (ИНТУПТ), Ай Пи Ар Медиа, 2020. - 351 с. - ISBN 978-5-4497-0385-9. - Режим доступа: https://www.iprbookshop.ru/89474.html 4. Таненбаум, Э. Современные операционные системы / Э. Таненбаум, Б. Херберт. - 4-е издание. - Санкт-Петербург: Издательский дом "Питер", 2018. - 1120 с. - ISBN 978-5-496-01395-6. |