Понятие распределенной системы. Преимущества и недостатки распределенных систем. Масштабируемость. Прозрачность. Аппаратные и программные средства построения распределенных систем.
8
2
2
4
2
Связь в распределенных системах. Удаленный вызов процедур. Сохранность. Типы связей.
8
2
2
4
3
Средства современных ОС. Многозадачность. Многопоточность. Планировщик ОС. Изоляция приложений. Механизмы синхронизации процессов.
18
4
4
10
4
Синхронизация времени в распределенных системах.
18
4
4
10
5
Основные понятия теории реляционных СУБД. Структурированный язык запросов.
36
8
8
20
6
Понятие транзакции.
18
4
4
10
7
Распределенная система объектов CORBA.
28
4
4
20
8
Технология DCOM. Развитие модели COM. Управление жизненным циклом объекта.
28
4
4
20
9
Распределенные файловые системы. Файловая система NFS. Семантика совместного использования файлов. Проблема отказов.
В конце 4-го модуля на зачетной неделе состоится итоговый контроль в форме зачета.
Содержание дисциплины
Цель курса. Целью преподавания дисциплины является формирование у студентов фундаментальных знаний и практическими навыками в области построения распределенных информационных систем и сетей, программной инженерии, общей теории построения математических моделей и их реализации, глубоким знанием основ информатики, теории и практики руководства проектами по созданию распределенных информационных систем.
Тема 1. Понятие распределенной системы. Преимущества и недостатки распределенных систем. Масштабируемость. Прозрачность. Аппаратные и программные средства построения распределенных систем.
Тема 2. Связь в распределенных системах. Удаленный вызов процедур. Сохранность. Типы связей.
Тема 3. Средства современных ОС. Многозадачность. Многопоточность. Планировщик ОС. Изоляция приложений. Механизмы синхронизации процессов.
Тема 4. Синхронизация времени в распределенных системах. Необходимость. Алгоритм Кристиана. Алгоритм Беркли. Децентрализованный алгоритм. Логическое время. Алгоритмы голосования. Алгоритм забияки и кольцевой алгоритм. Алгоритмы взаимного исключения. Централизованный и распределенный алгоритмы, алгоритм маркерного кольца.
Тема 5. Основные понятия теории реляционных СУБД. Структурированный язык запросов. Реляционная модель данных. Основные понятия теории реляционных БД . Целостность базы данных. Структурированный язык запросов. Операции реляционной алгебры. Программирование приложений для СУБД.
Тема 6. Понятие транзакции. Распределенные транзакции. Принцип ACID. Вложенные транзакции.
Тема 7. Распределенная система объектов CORBA. Архитектура CORBA. Объектный адаптер. IDL-стабы.
Тема 8. Технология DCOM. Развитие модели COM. Управление жизненным циклом объекта.
Тема 9. Распределенные файловые системы. Файловая система NFS. Семантика совместного использования файлов. Проблема отказов.
Тема 10. Тенденции в области распределенных систем.
Нерешенные и перспективные проблемы теории и практики распределенных систем. Направления исследований. Обработка информации в суперсетях (Грид). Архитектура Грид. Мобильный компьютинг. Тотальный (pervasive) компьютинг. Глобальное «умное» пространство.
В рамках дисциплины проводится изучение основных понятий распределенных информационных систем.
Дисциплина изучается на лекциях и семинарских, практических занятиях.
На лекциях рассматриваются основополагающие теоретические вопросы и способы решения задач прикладного и системного характера. Лекции строятся на последовательном систематическом устном изложении преподавателем учебного материала, представляющего логически законченное целое. Каждая лекция сопровождается презентацией, содержащей краткий теоретический материал и иллюстративный материал.
Каждая презентация построена по следующему шаблону: название лекционного занятия, цель и задачи лекции, краткое содержание предыдущей лекции (при необходимости), теоретический материал, в конце приведены итоги лекционного занятия, обозначена тема следующей лекции, а также вопросы и задания для самостоятельного изучения.
Презентации по лекционному курсу разбиты по темам, по отдельно взятой теме может быть несколько лекций.
Домашние и контрольные работы направлена на самостоятельную работу по созданию программ по темам курса.
Семинарские занятия проводятся с целью освоения методов и способов программирования на конкретных примерах и алгоритмах. Студенты привлекаются к разбору и сравнительному анализу предлагаемых вариантов программных реализаций решаемых задач.
В процессе самостоятельной работы студенты отрабатывают теоретические положения, изложенные на лекциях, и изучают примеры, рассмотренные на семинарских занятиях. В ходе самостоятельной работы студенты выполняют контрольные домашние задания. Задания носят индивидуальный характер. На каждое контрольное домашнее задание выносится несколько задач в зависимости от сложности темы.