Операционные системы Введение (часть 3) 3. Основы компьютерной архитектуры 3.5. Классификация MIMD-систем 3.6. Межмашинное взаимодействие 3.6.1. 3.6.2. Терминальные комплексы Компьютерные сети 3.7. Организация сетевого взаимодействия 3.6.1. 3.7.2. Модель ISO/OSI Семейство протоколов TCP/IP Классификация архитектур многопроцессорных ассоциаций Автор классификации: Майкл Флинн (M. Flynn) • Поток инструкций (команд) • Поток данных • ОКОД (SISD — Single Instruction, Single Data stream) — компьютер с единственным ЦП • ОКМД (SIMD — Single Instruction, Multiple Data stream) — матричная обработка данных • МКОД (MISD — Multiple Instruction, Single Data stream) — ? • МКМД (MIMD — Multiple Instruction, Multiple Data stream) — множество процессоров одновременно выполняют различные последовательности команд над своими данными Иерархия MIMD-систем MIMD Системы с общей оперативной памятью UMA — cистема c однородным доступом в память (Uniform Memory Access) NUMA – системы с неоднородным доступом в память (NonUniform Memory Access) SMP — симметричная мультипроцессорная система (symmetric multiprocessor) Системы с распределённой оперативной памятью MPP — (Massively Parallel Processors) — процессоры с массовым параллелизмом COW — ( Cluster Of Workstations — кластер рабочих станций) Иерархия MIMD-систем Системы делятся по принципу организации работы с ОЗУ В системе с общей оперативной памятью имеется ОЗУ, и любой процессорный элемент имеет доступ к любой точке общего ОЗУ, то есть любой адрес может быть исполнительным для любого процессора Виды систем с общей оперативной памятью • UMA — Uniform Memory Access SMP — Symmetrical MultiProcessing • NUMA — Non-Uniform Memory Access UMA и SMP системы UMA: характеристики доступа любого процессорного элемента в любую точку ОЗУ не зависят от конкретного элемента и адреса (Все процессоры равноценны относительно доступа к памяти). SMP-системы являются подвидом UMA-систем. Схема SMP-системы CPU 0 Cache L1 CPU 1 Cache L1 CPU N-1 … общая шина Cache L1 RAM SMP-системы Cинхронизация кэша. Поведение кэш-памяти с отслеживанием при чтении/записи Операции Локальный кэш Кэш других процессоров Промах при чтении Запись из памяти в кэш Ничего Попадание при чтении Использование кэша Ничего (операция «не видна») Промах при записи Запись в память Соответствующая запись в кэше удаляется Попадание при записи Запись в память и кэш Соответствующая запись в кэше удаляется SMP-системы Преимущества SMP • Простота реализации Недостатки SMP • Задержки при доступе к памяти • Система с явной централизацией — общая шина является «узким местом» • Проблема синхронизации кэша (решением является кэш-память с отслеживанием) • Ограничение на количество процессорных элементов (как следствие централизации) NUMA-системы NUMA: Процессорные элементы работают на общем адресном пространстве, но характеристики доступа процессора к ОЗУ зависят от того, куда он обращается. Схема NUMA-системы CPU 0 Контроллер памяти CPU 0 Локальная память 0 Локальная память N–1 CPU N–1 … Контроллер памяти CPU N–1 общая шина При обращении не к своей памяти контроллер выбрасывает запрос на общую шину, целевой контроллер его принимает и возвращает результат NUMA-системы В NUMA-системах остаётся проблема синхронизации кэша. Существует несколько способов её решения: • использовать процессоры без кэша (использовать только Cache L2) • использовать ccNUMA (NUMA-системы с когерентными кэшами) ccNUMA сложнее, но позволяет строить системы из сотен процессорных элементов. NUMA-системы Преимущества NUMA • Степень параллелизма выше, чем в SMP Недостатки NUMA • Централизация (ограничение ресурсом шины) • Использование когерентных кэшей загружает шину служебной информацией Недостатки ccNUMA • Загрузка общей шины служебной информацией Иерархия MIMD-систем Системы с распределённой оперативной памятью представляются как объединение компьютерных узлов, каждый из которых состоит из процессора и ОЗУ, непосредственный доступ к которой имеет только «свой» процессорный элемент. Класс наиболее перспективных систем. Виды систем с распределённой оперативной памятью • MPP — Massively Parallel Processors • COW — Cluster Of Workstations MPP-системы MPP — Специализированные дорогостоящие ВС. Эти компьютеры могут выстраиваться, процессорные элементы могут объединяться в различные топологии: макроконвейер, n-мерный гиперкуб и др. Примеры топологий MPP-систем Макроконвейер: 3-мерный гиперкуб: Процессорный элемент с локальной памятью Межэлементные коммуникации, определяющие топологию MPP-системы Преимущества MPP • Высокая эффективность при решении определённого класса задач Недостатки MPP • Высокая стоимость • Узкая специализация COW-системы Кластеры имеют две ориентации на использование: • Кластер как вычислительный узел (высокопроизводительная система) • Кластеры, которые обеспечивают надёжность (сохранение работоспособности при возможном снижении производительности) Для сопряжения вычислительных узлов в кластере используются специализированные сети. Исторически кластеры представлялись в виде объединения системных блоков. Современные кластеры — специализированные системы, которые имеют в своём составе сотни и тысячи вычислительных узлов. COW-системы Преимущества COW • Высокая эффективность при решении широкого круга задач Проблемы COW • Тепловыделение • Топология Терминальные комплексы Терминальный комплекс — это многомашинная ассоциация, предназначенная для организации массового доступа удаленных и локальных пользователей к ресурсам некоторой вычислительной системы. Удаленный терминал модем Вычислительная система Телефонная связь Мультиплексор АТС модем АТС модем АТС АТС ... Терминальные устройства Состав терминального комплекса • • • • • • Основная вычислительная система Локальные мультиплексоры Локальные терминалы Модемы Удаленные терминалы Удаленные мультиплексоры Телефонные сети исторически основывались на аналоговой передаче сигнала. ВС используют цифровую передачу данных. Для подключения к цифровому устройству через аналоговую телекоммуникационную среду используются модемы. Для подключения удалённого терминала необходимо два модема. Линии связи / каналы Организация канала • Коммутируемый канал Физически коммутируемая линия может иметь различные топологии • Выделенный канал Обеспечивает доступ к системе на постоянной основе. Преимущества: отсутствие отказа, детерминированное качество соединения Организация канала • Канал точка-точка Один абонент общается с одним абонентом (подключение к удалённому терминалу без мультиплексирования) • Многоточечный канал Подключение терминала осуществляется через локальный мультиплексор Направление движения информации • Симплексные каналы • Дуплексные каналы • Полудуплексные каналы Компьютерные сети Компьютерная сеть — объединение компьютеров (вычислительных систем), взаимодействующих через коммуникационную среду. Коммуникационная среда — каналы и средства передачи данных. Обмен данными Коммуникационная среда Некоторые свойства компьютерных сетей 1.Сеть может состоять из большого числа связанных узлов, каждый из которых обеспечивает решение определённых задач 2.Компьютерная сеть предполагает возможность распределения обработки информации 3.Расширяемость сети, то есть компьютерная сеть должна обеспечивать развитие сети по протяжённости, по расширению пропускной способности каналов, по составу и производительности узлов, входящих в состав сети 4.Возможность применения симметричных интерфейсов обмена информации внутри сети, позволяющих произвольным образом распределять функции внутри Компьютерные сети • • Составляющие компьютерной сети Абонентские или основные компьютеры — хосты Коммуникационные или вспомогательные компьютеры (шлюзы, маршрутизаторы, …) Компьютерные сети Модели построения компьютерной сети Традиционно используется три модели. Реальные сети есть комбинация этих моделей. • Сеть коммутации каналов • Сеть коммутации сообщений • Сеть коммутации пакетов Сообщение — логически целостная порция данных, имеющая произвольный размер) Сеть коммутации каналов Два абонента сети осуществляют взаимодействие сеансами связи. Каждый сеанс связи состоит из обмена сообщениями между компьютерами сети. Сеть коммутации пакетов обеспечивает деление коммуникаций абонентов на весь сеанс связи. Преимущества • • • • Сеть всегда находится в состоянии готовности Требования к коммуникационному оборудованию минимальны Минимизируются накладные расходы по передаче данных Детерминированная пропускная способность Недостатки • • • • Наличие большой избыточности сети Период ожидания канала недетерминирован Неэффективное использование выделенного канала В случае сбоя или отказа проблемы с повторной передачей информации Сеть коммутации сообщений Сети, которые оперируют терминами не сеанса связи, а передачи сообщений. Преимущества • Отсутствие занятости канала на недетерминированный промежуток времени Недостатки •Так как сообщения могут быть произвольного размера, то это приводит к необходимости наличия средств буферизации неопределённой мощности, то есть сеть имеет недетерминированные характеристики •Необходимость в дорогостоящем коммуникационном оборудовании и ПО •Необходимость повтора передачи сообщения в случае сбоя передачи Сеть коммутации пакетов Сети коммутации пакетов появилась как решение для использования ненадёжных линий связи. Каждое сообщение разбивается на блоки фиксированного размера, которые называются пакетами. Каждый пакет имеет заголовок, в котором обеспечиваются средства сохранения и информации, указывается адресат информации, а также указания для восстановления сообщения из пакетов. Преимущества • Так как известна топология сети и характеристики её элементов, то возможно определение тренбований в коммутационных узлах возможна оценка размера буфера и времени доставки пакетов Недостатки •Увеличение трафика из-за наличия заголовочной информации •Проблема сборки пакетов Организация сетевого взаимодействия Модель ISO/OSI Основные понятия Семейство протоколов TCP/IP Соответствие модели ISO/OSI модели семейства протоколов TCP/IP 5. Уровень доступа к сети 6. Межсетевой уровень. Протокол IP 7. Система адресации протокола IP 8. Маршрутизация дейтаграмм 9. Транспортный уровень 10.Уровень прикладных программ 1. 2. 3. 4. Модель ISO/OSI организации взаимодействия в сети 7. Прикладной уровень 6. Представительский уровень 5. Сеансовый уровень 4. Транспортный уровень 3. Сетевой уровень 2. Канальный уровень 1. Физический уровень Модель ISO/OSI организации взаимодействия в сети Данная модель рассматривает взаимодействие в сети с позиции 7 уровней. Данная модель основана на реальных сетях. Протокол — правило взаимодействия одноимённых (одноранговых) уровней сети. Это означает, что протокол обеспечивает взаимодействие в сети с другими сетевыми устройствами на одноимённых уровнях. Модель ISO/OSI организации взаимодействия в сети 1. Физический уровень Осуществляет передачу неструктурированной двоичной информации, при этом для передачи информации используется конкретная среда передачи данных. На этом уровне обеспечивается стандарт сигналов и соединений. 2. Канальный уровень Решаются задачи обеспечения передачи данных по физическим линиям, обеспечения доступности физической линии, обеспечения синхронизации, борьба с ошибками. Осуществляется передача данных блоками (кадрами). Фиксация и обработка факта ошибок. Модель ISO/OSI организации взаимодействия в сети 3. Сетевой уровень Управление операциями сети: решение проблем адресации, маршрутизации, обеспечения связи между взаимодействующими сетевыми устройствами. В функции сетевого уровня входит управление потоками, в частности, буферизация. Модель ISO/OSI организации взаимодействия в сети 4. Транспортный уровень Обеспечение корректной транспортировки данных и взаимодействия программы-отправителя и программыполучателя. Принятие решения о выборе типа услуг: транспортировка с установлением виртуального канала или без него. В случае установления виртуального канала осуществляется контроль за фактом доставки пакета получателю и обработка ошибок. Если виртуальный канал не устанавливается, то отсутствует ответственность за доставку пакета. Модель ISO/OSI организации взаимодействия в сети 5. Сеансовый уровень Обеспечение управления сеансами связи. Решение задач подтверждения полномочий и организации меток или контрольных точек по сеансу, которые позволяют в случае возникновения сбоя сеанс восстанавливать с последней контрольной точки. 6. Уровень представления данных Обеспечение унификации форматов передаваемых данных 7. Прикладной уровень Формирование правил взаимодействия с прикладными системами. Основные понятия Протокол (правила взаимодействия одноименных уровней) — формальное описание сообщений и правил, по которым сетевые устройства (вычислительные системы) осуществляют обмен информацией. Интерфейс — правила взаимодействия вышестоящего уровня с нижестоящим. Служба (сервис) — набор операций, предоставляемых нижестоящим уровнем вышестоящему. Стек протоколов — перечень протоколов, реализованных в системе. разноуровневых Логическое взаимодействие сетевых устройств по i-ому протоколу протокол i i-1 … 2 1 интерфейс i i-1 1) 2) … i–1) … 2 1 2i–1) 2i–2) … i+1) i) Сетевое устройство 1 физическая среда передачи данных Сетевое устройство 2 Семейство протоколов TCP/IP Классическое семейство протоколов, основанное на сети коммутации пакетов, которые изначально были разработаны как стандарт военных протоколов ВС США. Разработано в DARPA, которое разработало и реализовало сеть ARPANET. 4. Уровень прикладных программ 3. Транспортный уровень 2. Межсетевой уровень 1. Уровень доступа к сети Соответствие модели ISO/OSI модели семейства протоколов TCP/IP Уровень модели TCP/IP Уровень модели ISO/OSI 1. Уровень доступа к сети Специфицирует доступ к физической сети. Канальный уровень Физический уровень 2. Межсетевой уровень В отличие от сетевого уровня модели OSI, не устанавливает соединений с другими машинами. Сетевой уровень Соответствие модели ISO/OSI модели семейства протоколов TCP/IP Уровень модели TCP/IP Уровень модели ISO/OSI 3. Транспортный уровень Обеспечивает доставку данных от компьютера к компьютеру, обеспечивает средства для поддержки логических соединений между прикладными программами. В отличие от Сеансовый уровень транспортного уровня модели OSI, в функции транспортного уровня Транспортный уровень TCP/IP не всегда входят контроль за ошибками и их коррекция. TCP/IP предоставляет два разных сервиса передачи данных на этом уровне. Протокол TCP, UDP. Соответствие модели ISO/OSI модели семейства протоколов TCP/IP Уровень модели TCP/IP 4. Уровень прикладных программ Состоит из прикладных программ и процессов, использующих сеть и доступных пользователю. В отличие от модели OSI, прикладные программы сами стандартизуют представление данных. Уровень модели ISO/OSI Уровень прикладных программ Уровень представления данных Свойства протоколов семейства TCP/IP • Открытые (доступные для использования) стандарты протоколов • Независимость от аппаратного обеспечения сети передачи данных • Общая схема именования сетевых устройств • Стандартизованные протоколы прикладных программ Взаимодействие между уровнями протоколов TCP/IP Уровень прикладных программ Транспортный уровень Межсетевой уровень Уровень доступа к сети поток сообщение TCP UDP сегмент пакет дейтаграмма фрейм Уровень доступа к сети На уровне доступа к сети протоколы обеспечивают систему средствами для передачи данных другим устройствам в сети Пример Протокол Ethernet — разработка исследовательской компании Xerox (1976 год). Единая шина — широковещательная сеть. Для сетевых устройств обеспечивается множественный доступ, с контролем и обнаружений конфликтов (Carrier Sense Multiple Access with Collision Detection — CSMA/CD) Межсетевой уровень. Протокол IP • Функции протокола IP • формирование дейтаграмм • поддержание системы адресации • обмен данными между транспортным уровнем и уровнем доступа к сети • организация маршрутизации дейтаграмм • разбиение и обратная сборка дейтаграмм • IP — протокол БЕЗ логического установления соединения • Протокол IP НЕ обеспечивает обнаружение и исправление ошибок Система адресации протокола IP 32 бита Класс А 0 Сеть Класс В 10 Класс С 110 Хост Сеть Хост Сеть Хост Класс D 1110 Группа Класс E 1111 Группа Дейтаграммы Пакет — блок данных, который передаётся вместе с информацией, необходимой для его корректной доставки. Дейтаграмма — пакет протокола IP. Маршрутизация дейтаграмм Шлюз — устройство, передающее пакеты между различными сетями. Маршрутизация — процесс выбора шлюза или маршрутизатора. Маршрутизация дейтаграмм Хост А1 Хост А2 Уровень прикладных программ Транспортный уровень Уровень прикладных программ Шлюз G1 Шлюз G2 Транспортный уровень Межсетевой уровень Межсетевой уровень Межсетевой уровень Межсетевой уровень Уровень доступа к сети Уровень доступа к сети Уровень доступа к сети Уровень доступа к сети Сеть А Сеть B Сеть C Транспортный уровень • Протокол контроля передачи (TCP, Transmission Control Protocol) обеспечивает надежную доставку данных с обнаружением и исправлением ошибок и с установлением логического соединения. • Протокол пользовательских дейтаграмм (UDP, User Datagram Protocol) отправляет пакеты с данными, не контролируя их доставку. TCP обеспечивает последовательную передачу пакетов, контроль доставки пакетов, отработку сбоев. Уровень прикладных программ На основе TCP базируются прикладные протоколы, которые обеспечивают либо доступ и работу с заведомо корректной информацией, которая осуществляется в сети Интернет. • Протоколы, опирающиеся на TCP • TELNET (Network Terminal Protocol) • FTP (File Transfer Protocol) • SMTP (Simple Mail Transfer Protocol) • Протоколы, опирающиеся на UDP • DNS (Domain Name Service) • RIP (Routing Information Protocol) • NFS (Network File System)