- •Технологии параллельных и распределенных
- •План
- •Операционные системы для параллельных и распределенных вычислений
- •Операционные системы
- •Виртуальный ресурс
- •Типы операционных систем
- •Примеры
- •Примеры распределенных систем
- •Типы распределенных ОС
- •Примеры
- •Основные функции распределенных ОС
- •Сравнение типов операционных систем
- •Физические и логические ресурсы
- •Процесс, поток, адресное пространство
- •Адресные пространства (виртуализация памяти)
- •Процессы, потоки (виртуализация процессоров)
- •Файловые системы (виртуализация хранилищ данных)
- •Средства межпроцессного
- •Сетевые и распределенные ОС
- •Unix-подобные операционные системы
- •Иерархическая структура
- •Выполнение процесса
- •Планирование процессов
- •Переключение контекста
- •Процессы и потоки
- •Обмен данными
- •ОС Linux
- •Ядро Linux
- •Поставки Linux
- •Инсталляция
- •Структура файловой системы
- •Монтирование
- •Назначение стандартный каталогов
- •Как разметить разделы на жестком диске?
- •Выбор пакетов и инсталляция
- •Использование Linux
- •Пользователи и группы
- •Вход в систему и права доступа
- •Вход в систему
- •Права на ресурсы
- •Интерпретатор командной строки
- •Интерпретатор bash (Bourne- Again SHell)
- •Основные команды
- •Ключи и опции
- •Текстовый редактор и просмотрщик
- •Другие команды
- •Пути и другие системные переменные
- •Перенаправление ввода- вывода
- •Работа с процессами
- •Сценарии командной строки
- •Администрирование
- •Работа с пользователями
- •Получение информации о системе
- •Работа с файловыми системами
- •Настройка сети
- •Инсталляция программ
- •Компиляция ядра
Основные функции распределенных ОС
Прозрачность
Расположения – нет зависти от расположения ресурса
Миграции – нет зависимости от перемещений ресурса
Копирования – нет зависимости от количества копий ресурса
Конкуренции – все конфликты по совместному использованию ресурсов решаются автоматически
Параллелизма – параллельное выполнение возможно без участия пользователя
Децинтрализация
Отсутствие одной точки сбоя
Масштабируемость
Можно наращивать или сокращать количество ресурсов
Устойчивость
В случае ошибки система должна восстанавливаться
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Сравнение типов операционных систем
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Физические и логические ресурсы
Физические
процессор,
память,
хранилище данных,
коммуникационная подсистема
Логические
процесс,
поток,
адресное пространство,
файл,
средства межпроцессного взаимодействия
сокет,
конвейер,
сообщение,
совместно используемая область памяти
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Процесс, поток, адресное пространство
Процесс (task, process) – выполняющееся приложение
Адресное пространство – как память видится для процесса
Поток (thread, lwp) – часть процесса, которая выполняется параллельно или псевдопараллельно с другими такими же частями
Файл – последовательность байтов, к каждому байту можно обратиться по его номеру
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Адресные пространства (виртуализация памяти)
Адресное пространство 1
Используемая часть
Адресное пространство 2
Незанятая часть
Адресное пространство 3
Отображение части адресного пространства в физическую память
Физическая память |
адрес |
|
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Процессы, потоки (виртуализация процессоров)
поток 1
поток 1
поток 2
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Адресное пространство 1
Процесс 1
Время процессора1
Время процессора2
Адресное пространство 2 Процесс 2
Файловые системы (виртуализация хранилищ данных)
Процесс 1 |
|
Процесс 2 |
|
Процесс 3 |
|
|
|
||
|
|
|
|
|
Файл 1 |
|
Файл 2 |
|
Файл 3 |
|
Файл 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
диск |
|
память |
|
Сетевой компьютер |
|
|
|
|
|
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Средства межпроцессного |
|
||
взаимодействия (виртуализация |
|||
средств коммуникации) |
|
||
Компь |
|
Компьютер 2 |
|
юююююю |
|
|
|
Процесс 1 |
Процесс 2 |
Процесс 3 |
Процесс 4 |
Виртуальный |
Виртуальный |
||
канал1 |
канал2 |
|
|
Общая память |
Общие файлы |
||
|
Виртуальный |
канал 3 |
|
|
Сети и коммуникации |
|
|
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Сетевые и распределенные ОС
Сетевые ОС – виртуализация файловых систем и каналов обмена для разных компьютеров
Распределенные ОС – виртуализация процессоров, памяти файловых систем и каналов обмена для разных компьютеров
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
Unix-подобные операционные системы
Unix 1969 год
Основные принципы
Простота перед интеллектуальностью
Предоставлять механизм, а не стратегию
Программы должны делать мало, но делать это хорошо
Результаты работы одной программы можно сразу же подавать на вход другой
Любой ресурс – это файл (по возможности)
Средства разработки программ и самой операционной системы должны быть включены в операционную систему
ІОЦ КНУ імені Тараса Ше
вченка, 2005 р
