
- •Распределение памяти. Динамическое выделение памяти. Работа с динамической памятью с помощью операций new и delete
- •3 Динамически загружаемые библиотеки
- •4 Загрузка программ. Абсолютная загрузка.
- •5 Загрузка программ. Относительная загрузка.
- •7. Сборка программ. Объектный модуль
- •8. Сборка программ. Библиотеки объектных модулей.
- •9. Варианты построения загрузчиков
- •10. Управление памятью. Основные положения размещения процессов в памяти
- •11. Управление памятью. Многоэтапная обработка пользовательской программы
- •12. Управление памятью. Логическое и физическое адресное пространство
- •13. Управление памятью. Устройство управления памятью
- •14. Модели взаимодействия компонент распределенной системы.
- •15. Взаимодействия компонент распределенной системы. Обмен сообщениями
- •16. Взаимодействия компонент распределенной системы. Дальний вызов процедур
- •17. Взаимодействия компонент распределенной системы. Использование удаленных объектов
- •18. Взаимодействия компонент распределенной системы. Модель единственного вызова
- •19. Взаимодействия компонент распределенной системы. Модель единственного экземпляра
- •22. Взаимодействие компонент распределенной системы. Использование свойств удаленных объектов
- •23. Взаимодействие компонент распределенной системы. Распределенные события.
- •24. Взаимодействие компонент распределенной системы. Распределенные транзакции.
- •25. Взаимодействие компонент распределенной системы. Безопасность в распределенных системах.
- •26. Взаимодействие компонент распределенной системы. Промежуточные среды в Microsoft .Net Framework
- •27. Методы взаимодействия процессов. Независимые и взаимодействующие процессы. Виды организации взаимосвязи процессов.
- •28. Методы взаимодействия процессов. Парадигма (шаблон) взаимодействия процессов: производитель – потребитель.
- •29. Методы взаимодействия процессов. Коммуникация процессов.
- •30. Методы взаимодействия процессов. Непосредственная коммуникация процессов. Косвенная коммуникация процессов.
- •31. Методы взаимодействия процессов. Буферизация и очередь сообщений.
- •32. Методы взаимодействия процессов. Клиент-серверная взаимосвязь – один из наиболее распространенных видов коммуникации процессов.
- •33. Особенности ос для мобильных устройств
- •34. Рынок ос для мобильных устройств. Windows Mobile
- •35. Рынок ос для мобильных устройств. Symbian os
- •36. Рынок ос для мобильных устройств. Google Android
- •37. Рынок ос для мобильных устройств. BlackBerry os
- •38. Обзор инструментальных средств разработки приложений для мобильных устройств под управлением платформ Windows Mobile. Средства разработки приложений для мобильных устройств.
- •39. Обзор инструментальных средств разработки приложений для мобильных устройств под управлением платформ Windows Mobile. Базы данных.
- •40. Основы облачных вычислений. Виды облачных вычислений.
- •41. Основы облачных вычислений. Инфраструктура как сервис (IaaS).
- •42. Основы облачных вычислений. Платформа как сервис (PaaS).
- •43. Основы облачных вычислений. Программное обеспечение как сервис (SaaS).
- •44. Основы облачных вычислений. Варианты развёртывания облачных систем.
- •45. Основы облачных вычислений. Достоинства облачных вычислений.
- •46. Основы облачных вычислений. Недостатки и проблемы облачных вычислений.
- •47. Основы облачных вычислений. Распределенные вычисления (grid computing).
- •48. Особенности ос для персональных компьютеров.
- •49. Параллельные компьютерные системы и особенности их ос
- •50. Симметричные и асимметричные мультипроцессорные системы
- •51. Распределенные компьютерные системы и особенности их ос
- •52. Виды серверов в клиент-серверных компьютерных системах
- •53. Кластерные вычислительные системы и их ос
- •54. Системы и ос реального времени
- •55. Карманные компьютеры (handhelds) и их ос
- •56. Вычислительные среды
26. Взаимодействие компонент распределенной системы. Промежуточные среды в Microsoft .Net Framework
Понятие промежуточной среды, обеспечивающей сервисы высокого уровня для инкапсуляции удаленного взаимодействия, появилось в середине 90-х годов, когда выяснилось, что для создания распределенных систем необходима некоторая независящая от приложения и операционной среды "прослойка". Среда CLR так же может рассматриваться как некоторая "промежуточная" среда для выполнения программ на управляемом коде. Поэтому закономерно использовать .NET Framework в качестве основы для создания распределенных приложений.
В настоящий момент в .NET Framework Class Library присутствует поддержка четырех промежуточных сред для построения распределенных систем. Далее они перечислены в порядке даты выпуска промежуточной среды.
1) Среда Microsoft Message Queuing (MSMQ) поддерживает обмен сообщениями между программными компонентами на основе очередей.
2) Среда Microsoft Enterprise Services основана на разработанной ранее фирмой Microsoft среде COM+, которая позволяет использовать удаленные объекты и распределенные транзакции в локальной сети.
3) Среда ASP .NET Web Services позволяет организовать удаленный вызов на основе общепринятых стандартов, базирующихся на языке XML.
4) Среда .NET Remoting была разработана как универсальная промежуточная среда для использования удаленных объектов.
В версии .NET Framework 3.0 предполагается ввести технологию WCF (Windows Communication Foundation), объединяющую все упомянутые технологии построения распределенных систем. Кроме указанных технологий, приложения на .NET Framework могут использовать, например, удаленные вызовы на основе стандарта XML-RPC при подключении дополнительных библиотек.
27. Методы взаимодействия процессов. Независимые и взаимодействующие процессы. Виды организации взаимосвязи процессов.
Взаимодействие процессов – основа для распараллеленного, эффективного решения задач с помощью группы процессов, координирующих свои действия друг с другом. Рассмотрим некоторые классические схемы взаимодействия процессов при решении типовых задач (например, схема производитель – потребитель), а также виды взаимодействия процессов между собой с помощью передачи сообщений, сокетов, удаленных вызовов процедур и методов.
С точки зрения взаимосвязи, процессы подразделяются на независимые и взаимодействующие.
Независимый процесс – процесс, никак не связанный с другими процессами, который не может влиять на исполнение других процессов или испытывать их влияние.
Взаимодействующий (совместный) процесс – процесс, который может влиять на исполнение других процессов или испытывать их влияние.
Преимущества взаимодействующих процессов:
1) Совместное использование данных ; процессы могут работать с общими данными, при условии их синхронизации (рассматриваемой в следующих лекциях);
2) Ускорение вычислений ;
3) Модульность: организация взаимодействующих процессов – это метод параллельного решения задачи, декомпозируемой на относительно независимые части, части, каждую из которых решает один из взаимодействующих процессов
4) Удобство.
С точки зрения видов взаимосвязи родительского и дочернего процессов, процессы подразделяются на независимые, подчиненные и сопроцессы.
Подчиненный процесс – процесс, зависящий от процесса-родителя. Подчиненный процесс уничтожается при уничтожении родительского процесса, как в системах UNIX. Процесс-родитель перед своим завершением должен ожидать завершения всех своих подчиненных процессов.
Независимый процесс – дочерний процесс, выполняемый независимо от процесса-родителя. Типичные примеры: процессы-демоны в UNIX, запускаемые начальным процессом init.
Сопроцесс (coprocess, coroutine) – процесс, равноправно взаимодействующий с другими такими же процессами; хранит свое текущее локальное управление (program counter).Взаимодействие нескольких сопроцессов друг с другом операторами resume полностью равноправно. Данный механизм взаимодействия принципиально отличается от вызова процедуры. Операция detach ( открепить ) переводит сопроцесс в пассивное состояние, в котором могут быть доступны только его глобальные данные, но его программа уже завершена и не подлежит повторному запуску.