- •Ответы на экзаменационные вопросы по соСиА
- •Классификация операционных систем
- •Обобщенная структура операционных систем
- •Сравнение моделей osi и tcp/ip
- •Сравнение моделей atm и tcp/ip
- •Модель клиент-сервер на базе микроядра
- •Сетевое по: иерархия протоколов, разработка уровней
- •Настройка сети
- •Распределенные системы: доступ, прозрачность
- •Прозрачность в распределенных системах.
- •Службы, примитивы и протоколы
- •Доступ в распределенных системах
- •Методы управления доступом
- •Распределенные системы: масштабируемость, открытость
- •Открытость
- •Масштабируемость
- •Концепции аппаратных решений
- •Гомогенные и гетерогенные сети
- •Концепции программных решений, сравнение систем
- •Мультипроцессорные ос
- •Мультикомпьютерные ос
- •Системы с распределенной разделяемой памятью
- •Программное обеспечение промежуточного уровня
- •Разделение приложений по уровням
- •Архитектура клиент-сервер: многозвенные архитектуры
- •Структура файловой системы: принципы и особенности
- •Структура файловой системы: стандарт fhs
- •Структура файловой системы: принципы организации данных на диске
- •Структура файловой системы: монтирование и размонтирование
- •Структура файловой системы: журналирование
- •Структура файловой системы: принципы создания стартового виртуального диска
- •Досистемная загрузка: первичный и вторичный загрузчик
- •Досистемная загрузка: загрузчики lilo и grub
- •Загрузка системы: первый процесс init
- •Загрузка системы: стартовый виртуальный диск и модули ядра
- •Загрузка системы: демоны системных служб
- •Загрузка системы: схема «.D»
- •Загрузка системы: уровни выполнения
- •Работа с внешними устройствами: файлы-дырки, драйверы
- •Разметка диска и наименование устройств
- •Область подкачки
- •Проектирование свойств системы
- •Профиль системы
- •Управление пакетами
- •Установщики пакетов
- •Сетевые и серверные возможности
Службы, примитивы и протоколы
Служба (сервис) – набор примитивов (операций), которые более низкий уровень предоставляет более высокому. Определяет, какие именно операции уровень будет выполнять от лица своих пользователей, но никак не оговаривает, как должны реализовываться эти операции. Описывает интерфейс между двумя уровнями, в котором нижний уровень является поставщиком, а верхний – его потребителем.
Протокол – правило (спецификация) на работу программных модулей и взаимодействие между ними, передачу параметров и спецификация правил. Набор правил, описывающих формат и назначение кадров, пакетов или сообщений, которыми обмениваются объекты одного ранга внутри уровня.
Примитив (операция). Служба (сервис) формально описывается набором примитивов или операций, доступных пользователю или другому объекту для получения сервиса. Эти примитивы заставляют службу выполнять некоторые действия или служат ответами на действия объекта того же уровня. Если набор протоколов входит в состав операционной системы (как часто и бывает), то примитивы являются системными вызовами. Они приводят к возникновению системных прерываний в привилегированном режиме, в результате чего управление машиной передается операционной системе, которая и отсылает нужные пакеты.
Распределенные системы: доступ, прозрачность
Распределенной является такая вычислительная система, в которой неисправность компьютера, о существовании которого пользователи ранее даже не подозревали, приводит к остановке всей их работы. К таким системам относятся системам с уникальной точкой уязвимости (single point of failure).
Распределенной является любая вычислительная система, где обработка данных разделена между двумя и более компьютерами.
Распределенную систему можно определить, как набор соединенных каналами связи независимых компьютеров, которые с точки зрения пользователя некоторого программного обеспечения выглядят единым целым.
Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой.
Прозрачность в распределенных системах.
Существует много измерений прозрачности. Они составляют важную часть Международного стандарта по открытой распределенной обработке [ISO/IEC, 1996].
Прозрачность в распределенных системах имеет несколько различных измерений:
Прозрачность доступа.
Прозрачность доступа требует, чтобы интерфейс заявки на обслуживание был одним и тем же для связи между компонентами разных хостов [т.е. подразумевается одинаковость интерфейсов для локальной и удаленной связи]. Компонент, к которому нет прозрачного доступа, нельзя перенести с одного хоста на другой. Для этого необходимо изменить все остальные компоненты, запрашивающие услуги, чтобы они могли использовать другой интерфейс.
Прозрачность местонахождения.
Прозрачность местонахождения означает, что запрашивающему обслуживание объекту не требуется знать о физическом расположении компонента (т.е. хоста).
Прозрачность миграции.
Иногда возникает необходимость в переносе компонента с одного хоста на другой. Это может быть вызвано перегрузкой хоста или заменой аппаратурой. Такое перемещение компонентов называется миграцией.
Прозрачность репликации.
Иногда бывает полезно держать копии компонента на разных хостах. Однако эти копии должны быть связаны друг с другом. Если у них меняется внутреннее состояние, то оно должно быть синхронизировано во всех опиях. Копии компонента, удовлетворяющие этому требованию, называются репликами. Процесс создания реплики и поддержания ее соответствия оригиналу называется репликацией.
Прозрачность репликации означает, что пользователям и программистам не требуется знать, кто представляет услуги – реплика или основной компонент.
Прозрачность одновременного выполнения.
Прозрачность одновременного выполнения означает, что несколько компонентов могут одновременно запрашивать обслуживание у разделяемого компонента с сохранением его целостности, причем ни пользователи, ни разработчики не должны видеть, как реализована одновременная работа.
Прозрачность масштабируемости.
Прозрачность масштабируемости – высокоуровневый критерий прозрачности, требующий, чтобы масштабирование системы с целью адаптации к растущей нагрузке было прозрачным, для разработчиков и пользователей. Прозрачность масштабирования похожа на прозрачность производительности в том, что в обоих случаях речь идет о качестве услуг, предоставляемых приложениями. Однако производительность рассматривается с точки зрения одиночной заявки, тогда как прозрачность масштабируемости определяет поведение системы при увеличении числа компонентов и параллельных заявок (Пример: сеть Интернет).
Прозрачность производительности.
Прозрачность производительности означает, что пользователям и программистам не требуется знать, как поддерживается хорошая производительность системы. Рассматривая производительность, мы интересуемся эффективностью, с которой система может измеряться интервалом времени между двумя заявками или требуемой способностью.
Прозрачность отказов.
Прозрачность отказов означает скрытие отказов от пользователей, клиентских и серверных компонентов. Следовательно, при проектировании компонентов можно не принимать во внимание возможность отказа тех служб, на которые они опираются. Прозрачность отказов подразумевает также, что разработчик сервера не должен принимать специальных компонентов после отказов
