Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

РАСПРЕДЕЛЕННЫЕ ИНФОРМЦИОННЫЕ СИСТЕМЫ

Учебная программа дисциплины

Федеральное агентство по образованию

Владивостокский государственный университет экономики и

сервиса

РАСПРЕДЕЛЕННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ

Учебная программа дисциплины

для специальности

230201.65 "Информационные системы и технологии",

направления подготовки

230200.62 "Информационные системы "

Владивосток

Издательство ВГУЭС

2009

______________________________________________________________

ББК 32.88

РАСПРЕДЕЛЕННЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ:

Учебная программа. – Владивосток: Изд-во ВГУЭС, 2009.

Учебная программа дисциплины "Распределенные информационные системы" составлена в соответствии с требованиями к квалификации специалистов, предъявляемыми Государственными стандартами.

Предназначена для студентов специальности 230201.65 "Информационные системы и технологии", направления подготовки 230200.62 «Информационные системы».»

Составитель: , старший преподаватель кафедры информационных систем и компьютерных технологий

Утверждена на заседании кафедры ИСКТ 25.12.09 г., протокол №8.

Рекомендована к изданию методическим советом института информационных технологий и технических систем ВГУЭС _____ 2009 г., протокол №__

© Издательство Владивостокского

государственного университета

экономики и сервиса, 2009

Введение

Дисциплина «Распределенные информационные системы» относится к федеральной компоненте цикла дисциплин специализаци специальности 230201.65 «Информационные системы и технологии», направления подготовки 230200.62 «Информационные системы»» и введена в учебные планы в соответствии с требованиями Государственных образовательных стандартов указанных специальностей.

НЕ нашли? Не то? Что вы ищете?

Данная дисциплина рассматривает вопросы, связанные с построением и принципом функционирования распределенных приложений. Данная тематика является очень актуальной по той простой причине, что большинство сетевых приложений по своей сути являются распределенными: сетевые базы данных, файловые системы сетевых операционных систем, системы электронной коммерции и т. д.

Дисциплина "Распределенные информационные системы" требует знаний в области информатики и в области параллельного программирования, желательна осведомленность о принципах функционирования компьютерных сетей. Данная дисциплина также дает практические навыки разработки распределенных сетевых приложений.

Знания, полученные при изучении дисциплины «Распределенные информационные системы» используются в практической деятельности инженера.

Данная программа составлена в соответствии с требованиями к квалификации специалистов, предъявляемыми Государственными стандартами специальности 230201.65 "Информационные системы и технологии", направления подготовки 230200.62 «Информационные системы».»

1. Организационно – методические указания

1.1. Цели и задачи изучения дисциплины

Целью изучения дисциплины "Распределенные информационные системы" является теоретическая и практическая подготовка студентов в области информационных технологий в такой степени, чтобы они могли выбирать необходимые технические, алгоритмические, программные и технологические решения, уметь объяснить принципы их функционирования и правильно их использовать.

Основные задачи изучения дисциплины:

- формирование у студентов минимально необходимых знаний по дисциплине;

- ознакомление с техническими, алгоритмическими, программными и технологическими решениями, используемыми в данной области;

- выработка практических навыков аналитического и экспериментального исследования основных методов и средств, используемых в области, изучаемой в рамках данной дисциплины.

1.2. Перечень компетенций, приобретаемых при изучении дисциплины

Изучение дисциплины формирует следующие профессиональные компетенции:

- умение формализовать прикладную задачу и интерпретировать её в терминах программирования;

- умение грамотно выбрать набор средств операционной системы и инструментальных программных средств для разработки распределенного приложения.

В результате теоретического изучения дисциплины студент должен знать:

- базовые принципы построения распределенных систем: согласованное время, распределенные транзакции;

- механизмы и средства современных операционных систем, используемые для построения распределенных приложений;

- инструментальные программные средства, применяемые для построения распределенных систем;

В результате практического освоения дисциплины студент должен уметь:

- грамотно описать задачу обработки данных;

- обосновать метод решения выбранной задачи;

- реализовать поставленную задачу на языке программирования С/С++

1.3. Основные виды занятий и особенности их проведения

Дисциплина "Распределенные информационные системы" изучается студентами очной формы обучения в 7 семестре. Общее количество часов, которое отводится для изучения дисциплины, - 119.

Для студентов очной формы обучения в 7 семестре количество аудиторных часов – 51, из них: лекций – 17 часов, лабораторных работ – 34 часа. На самостоятельную работу отводится 68 час.

1.4. Взаимосвязь аудиторной и самостоятельной работы студентов при изучении дисциплины

При проведении лекций учитывается, что значительная часть материала, выносится на самостоятельную работу. На лекциях внимание акцентируется на определениях и основных механизмах обеспечения функционирования распределенных систем. Практическое изучение вопросов связанных с реализацией этих механизмов выносится на лабораторные занятия.

Практические занятии проводятся с использованием среды разработки Microsoft Visual Studio Express 2008 for C++, что, однако, не исключает применения по выбору учащегося других сред разработки приложений на языке С/С++ (например, Borland C++ Builder).

Контроль усвоения материала проводится по результатам выполнения экспресс-контрольных работ и индивидуальных домашних заданий. Для помощи студенту в освоении теоретического материала лекционных занятий и самостоятельной работы предусматриваются консультации ведущего преподавателя.

Для защиты лабораторных работ в рамках самостоятельной работы студента предусмотрено время для оформления отчета и освоения теоретического материала для ответов на контрольные вопросы.

1.5 Виды контроля и отчетности по дисциплине

В ходе изучения дисциплины предусматриваются следующие виды контроля знаний студентов: текущие и промежуточная аттестации.

Текущая аттестация предназначена для контроля знаний студентов в течение семестра и включает :

- экспресс контрольные работы на лекционных занятиях;

- защиту отчетов по выполняемым лабораторным работам;

- оценку знаний и умений студентов при проведении консультаций по лекционным и лабораторным занятиям.

Предусматривается две текущие аттестации на 7-8 и 13-14 неделях семестра.

Промежуточная аттестация - экзамен в седьмом семестре. Условием допуска студента к экзамену является успешное прохождение двух текущих аттестаций в соответствии с требованиями Положения о рейтинговой системе оценки успеваемости студентов во ВГУЭС.

Кроме того, студент должен выполнить и защитить все лабораторные работы. Итоговая оценка определяется в соответствии с требованиями Положения о рейтинговой системе оценки успеваемости студентов во ВГУЭС.

1.6. Техническое и программное обеспечение дисциплины

При проведении лекционных занятий необходимо проекционное оборудование, сопряженное с компьютером.

Для проведения лабораторных работ используется программный пакет Microsoft Visual Studio Express 2008 for C++. Если по выбору учащегося используется другая среда разработки приложений на языке С/С++ (например, Borland C++ Builder), то, возможно, понадобится Platfrom SDK for Windows.

2. Содержание курса

2.1. Перечень тем для лекционных занятий

и самостоятельного изучения дисциплины

Тема 1. Понятие распределенной системы. Преимущества и недостатки распределенных систем. Масштабируемость. Прозрачность. Аппаратные и программные средства построения распределенных систем.

Тема 2. Связь в распределенных системах. Удаленный вызов процедур. Сохранность. Типы связей.

Тема 3. Средства современных ОС. Многозадачность. Многопоточность. Планировщик ОС. Изоляция приложений. Механизмы синхронизации процессов.

Тема 4. Синхронизация времени в распределенных системах. Необходимость. Алгоритм Кристиана. Алгоритм Беркли. Децентрализованный алгоритм. Логическое время.

Тема 5. Алгоритмы голосования. Алгоритм забияки и кольцевой алгоритм.

Тема 6. Алгоритмы взаимного исключения. Централизованный и распределенный алгоритмы, алгоритм маркерного кольца.

Тема 7. Распределенные транзакции. Понятие транзакции. Принцип ACID. Вложенные транзакции. Распределенные транзакции.

Тема 8. Распределенная система объектов CORBA. Архитектура CORBA. Объектный адаптер. IDL-стабы.

Тема 9. Технология DCOM. Развитие модели COM. Управление жизненным циклом объекта.

Тема 10. Распределенные файловые системы. Файловая система NFS. Семантика совместного использования файлов. Проблема отказов.

2.2. Перечень тем лабораторных работ

Студентам предлагается согласно выбранного варианта реализовать распределенное приложение с различными способами взаимодействия:

1.  Многопоточное приложение.

2.  Приложение, реализующее обмен данными между процессами через разделяемую память.

3.  Многопоточное приложение, реализующее обмен данными между процессами (в т. ч. по сети) через именованные каналы.

4.  Многопоточное приложение, реализующее обмен данными между процессами (в т. ч. по сети) через TCP/IP сокеты.

5.  Распределенное приложение, реализующее обмен данными между процессами (в т. ч. по сети) через прикладную службы удаленных вызовов RPC.

3. Методические рекомендации

по изучению дисциплины

3.1. Перечень и тематика

самостоятельных работ студентов,

методические указания и формы отчетности

В рамках общего объема часов, отведенных для изучения дисциплины, предусматривается выполнение следующих видов самостоятельных работ студентов (СРС): контрольные работы (индивидуальные домашние задания), самостоятельное изучение теоретического материала с самоконтролем по приведенным ниже вопросам, изучение теоретического материала при подготовке к защите лабораторных работ, итоговое повторение теоретического материала.

Для самостоятельного изучения дисциплины выносится часть материала по всем темам дисциплины с самоконтролем по контрольным вопросам и возможностью консультации у ведущего преподавателя общим объемом 68 часов СРС.

Для выполнения лабораторных работ в соответствии с разделом 2.2 настоящей учебной программы студент должен предварительно освоить теоретический материал соответствующих тем.

3.2. Методические рекомендации по работе с литературой

Дисциплина «Распределенные информационные системы» затрагивает вопросы построения и функционирования распределенных систем, изучает и систематизирует средства современных операционных систем для реализации распределенных приложений. Для изучения теоретического материала по дисциплине можно использовать [1] и [2].

Для более глубокого изучения CORBA рекомендуется использовать [4]. Для изучения вопросов, связанных с RPC можно использовать [5]. Подробную информацию о COM и DCOM можно найти в [6].

Практические вопросы, связанные с использованием API синхронизации в среде Windows, можно решить в [7].

3.3. Контрольные вопросы для самостоятельной

оценки качества освоения дисциплины

ПОНЯТИЕ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ

1.  В чем состоит отличие между параллельной и распределенной системами?

2.  Какие мотивации привели к созданию распределенных систем?

3.  Что характеризует масштабируемое приложение и способы достижения масштабируемости?

4.  Что такое прозрачность, формы прозрачности?

5.  Что такое открытая система, ее преимущества?

6.  Какие концепции аппаратных решений существуют для построения распределенных систем, их особенности?

7.  Какие концепции программных решений существуют для построения распределенных систем, их особенности?

8.  Какие преимущества и недостатки распределенных систем?

СВЯЗЬ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ

9.  Что такое межуровневый интерфейс?

10.  Что такое протокол?

11.  Модель OSI, ее уровни и их назначение.

12.  Что такое удаленный вызов процедур, заглушки? Опишите по шагам процесс удаленного вызова. Какие существуют расширенные модели RPC?

13.  Как происходит обращение к удаленному объекту. В чем разница между статическим и динамическим обращение к объекту?

14.  Что такое сохранность?

15.  В чем отличие явной и неявной привязки ссылок на объект?

16.  Какие типы связей существуют в распределенных системах и их примеры?

СРЕДСТВА СОВРЕМЕННЫХ ОС.

17.  Какие требования предъявляются программистом к современным ОС?

18.  Какие стандартные API имеются в современных ОС?

19.  Что такое многозадачность и какие имеются разновидности.

20.  Что такое многопоточность?

21.  Что такое планировщик ОС и какие имеются алгоритмы планирования? Как реализован планировщик в Windows и UNIX-системах?

22.  Что такое изоляция приложений и методы ее обеспечения?

23.  Что такое взаимная блокировка (dead-lock) и как ее избежать?

24.  То такое инверсия приоритетов и как ее предотвратить,

25.  Какие API синхронизации имеются в Windows?

26.  Какие API синхронизации имеются в UNIX?

27.  Какие механизмы существуют для обмена данными между процессами?

28.  Для чего необходимо управление правами доступа? Какие основные цели и средства описаны в «Критериях определения безопасности компьютерных систем»?

29.  В чем стоит принцип мандатного управления доступом?

30.  В чем стоит принцип избирательного (дискреционного) управления доступом?

31.  Какие средства сетевого взаимодействия существуют в современных ОС?

СИНХРОНИЗАЦИЯ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ

32.  Почему необходимо синхронизировать время в распределенной системе? Приведите пример.

33.  Алгоритм Кристиана.

34.  Алгоритм Беркли.

35.  Децентрализованный алгоритм.

36.  Понятие логического времени.

37.  Отметки времени Лампорта.

38.  Что такое глобальное состояние и алгоритм получения распределенного снимка состояния?

39.  Алгоритмы голосования: алгоритм забияки и кольцевой алгоритм.

40.  Алгоритмы взаимного исключения: централизованный и распределенный алгоритмы, алгоритм маркерного кольца.

41.  Что такое транзакция и в чем состоит принцип ACID? Какие примитивы транзакций вы знаете? Что такое вложенные транзакции и их особенность?

42.  Как реализуются распределенные транзакции? Менеджеры транзакций.

43.  В чем стоит принцип двухфазной блокировки? В чем отличие реализации централизованной и распределенной двухфазной блокировки?

44.  Что такое оптимистичная блокировка?

РАСПРЕДЕЛЕННАЯ СИСТЕМА ОБЪЕКТОВ CORBA

45.  Какие компоненты составляют архитектуру CORBA?

46.  Что такое ORB и какие задачи он решает?

47.  Как описывается интерфейс к объекту в CORBA?

48.  Зачем нужны IDL-стабы (заглушки)?

49.  Что такое интерфейс динамических вызовов?

50.  Что такое репозиторий интерфейсов?

51.  Что такое сервант?

52.  Что такое IIOP/GIOP?

53.  В чем состоит роль объектного адаптера?

54.  Какие модели многопоточности поддерживает POA?

55.  Какие изменения внесла новая спецификация CORBA 3.0 в объектный адаптер?

56.  Опишите как происходит вызов метода объекта в CORBA.

57.  Какие службы определены в CORBA и их задачи.

ТЕХНОЛОГИЯ DCOM

58.  На какой технологии базируется DCOM и какие новшества она привнесла?

59.  От какого интерфейса наследуются все интерфейсы в DCOM и какие задачи решает этот базовый интерфейс?

60.  Через какой интерфейс происходит динамическое обращение к объекту в DCOM?

61.  Какую функцию выполняет библиотека типов в DCOM?

62.  В чем похожи и чем отличаются технологии CORBA и DCOM?

РАСПРЕДЕЛЕННЫЕ ФАЙЛОВЫЕ СИСТЕМЫ

63.  Опишите, какие модели доступа существуют в распределенной файловой системе?

64.  Опишите базовую архитектуру NFS.

65.  Какие задачи решает виртуальная файловая система (VFS)?

66.  Какова модель файловой системы NFS?

67.  Какие изменения произошли в протоколе NFS версии 4 по сравнению с версией 3?

68.  Именование в файловой системе NFS.

69.  Какие существуют семантики совместного использования файлов?

70.  Каким образом реализуется блокировка в NFS?

71.  Каким образом осуществляется кэширование и репликация в NFS?

72.  Каким образом RPC решает проблему отказов?

73.  Какие существуют методы аутентификации в NFS?

Список литературы

Основная

1. Системное программирование в среде Windows [Текст] / Д. Харт ; пер. с англ. . - 3-е изд. - М. : Вильямс, 2005. - 592 с. : ил. - Пер. изд.: Windows Sistem Programming/ J. Hart, 3rd ed., Addison-Wesley, 2005

2. LINUX. Системное программирование / Р. Лав. - СПб. : Питер, 2008. - 416 с. : ил. - (Бестселлеры O'Reilly)

3. Харазов системы управления технологическими процессами:учебное пособие для студентов вузов. /. - Спб.:Профессия, 2009. -592с.

Дополнительная

4. CORBA 3 / Д. Сигел; Пер. с англ. М. Аншиной. - М. : Малип, 2002. - 411с. : ил.

5. Распределенные системы. Принципы и парадигмы / Э. Таненбаум, М. ван Стеен. - СПб.: Питер, 2003. - 877 с.: ил. - (Серия «Классика computer science»).

6. COM и COM+: Полное руководство : Пер. с англ. / Э. Рофэйл, Я. Шохауд. - К. : ВЕК+; К.: НТИ; М.: Энтроп, 2000. - 555с.

7. Рихтер Дж. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows/Пер, англ - 4-е изд. - СПб; Питер; М.: Издательско-торговый дом "Русская Редакция", 2001. - 752 с.; ил.