- •Оглавление
- •Классификация операционных систем
- •2. Структура, состав и назначение подсистем типовой системы программирования (Visual Studio или Delphi).
- •4. Взаимодействие программ — интеграция приложени: технология com — основные принципы, типы и правила построения программных интерфейсов, достоинства и недостатки.
- •5. Объект, сервер, клиент. Схема взаимодействия клиента и объекта com. Объект
- •Интерфейс
- •Интерфейс iUnknown
- •Библиотека сом
- •Создание объекта
- •6. Технологи обмена сообщениями: проблемы интеграции приложений, основные принципы, шаблоны, достоинства и недостатки.
- •7. Принципы построения корпоративных информационных систем (кис), их типы и проблемы. Основные проблемы реализации архивных хранилищ. К основным принципам построения кис относятся:
- •Корпоративные информационные системы можно также разделить на два класса: финансово-управленческие и производственные.
- •Также различают виды кис, такие как заказные (уникальные) и тиражируемые кис.
- •Основные проблемы реализации архивных хранилищ
- •8. Синхронизация: семафоры, мьютексы, барьеры, взаимоблокировки — реентерабельность.
- •Семафоры
- •Мьютексы
- •Барьеры
- •Взаимоблокировки
- •Реентерабельность
- •Синхронизация при низком irql
- •Механизмы синхронизации режима ядра
- •Объекты диспетчера ядра
- •Условия освобождения различных синхронизирующих объектов
- •10. Основные системные механизмы Windows и их назначение.
- •Диспетчеризация ловушек
- •Диспетчер объектов
- •Синхронизация
- •Системные рабочие потоки
- •Глобальные флаги Windows
- •Трассировка событий ядра
- •Объекты исполнительной системы
- •Структура объектов
- •Методы объекта
- •Описатели объектов и таблица описателей, принадлежащая процессу
- •Внутренние объекты, объекты исполнительной системы (executive objects)
- •Хранение объектов в памяти
- •Имена объектов
- •Стандартные каталоги объектов
- •Пространство имен сеанса
- •Диспетчеризация 32-разрядных системных сервисов
- •Диспетчеризация 64-разрядных системных сервисов
- •Диспетчеризация системных сервисов режима ядра
- •Прерывания dpc или диспетчеризации
- •Прерывания apc
- •Необработанные исключения
- •Трассировка событий ядра
- •17. Реестр Windows: назначение, организация, ключи, ульи, редактирование, достоинства и недостатки. Реестр
- •Логическая структура реестра
- •Структура реестра
- •Хранение реестра
- •18. Статическое и динамическое связывание, dll-библиотеки — назначение, структура. Статические и динамические библиотеки.
- •Основные этапы компьютерного моделирования
- •Виды алгоритмов
- •Основные этапы полного построения алгоритма.
- •Правильность алгоритма.
- •Реализация алгоритма.
- •Принципы эффективных алгоритмов.
- •Правила оформления текстов программ.
- •Архитектура программного обеспечения в качестве классического жизненного цикла системы — недостатки классического цикла.
- •Основные параметры при разработке архитектуры.
- •Примеры технологии проектирования пс (стратегии проектирования: водопадная, инкрементная, эволюционная, спиральная стратегии)
- •Понятие надежности по
- •Отказы, сбои, восстановление
- •Основные задачи технической диагностики
- •Показатели качества и надежности программных средств (iso 9126:1991)
- •Тестирование корректности определения и использования данных на маршрутах исполнения программы.
- •Основные типы
- •Средства разработки
- •Загрузка/выгрузка
- •Организация и точки входа
- •Диспетчер PnP
- •Структуры драйверов в ос
- •23. Администрирование программного обеспечения пк: принципы, задачи, документирование, регламентные работы — профилактика. Администрирование программного обеспечения пк
- •Принципы
- •Документирование
- •Регламентные работы — профилактика.
- •Средства разработки .Net-приложений
- •Корпоративные .Net-серверы и их краткие характеристики
- •Сервер Application Center
- •Реализация Web-ферм, кластеров
- •Exchange Server и его основные функции
Сервер Application Center
Сервер Application Center предназначен для управления кластерами серверов, позволяя осуществить так называемое горизонтальное масштабирование — архитектуру, в которой в качестве единого ресурса применяется несколько стандартных серверов. Для повышения производительности приложений возможно распределение нагрузки по кластеру с применением баланса сетевой нагрузки либо баланса нагрузки по компонентам. При этом кластеры могут выдерживать программные и аппаратные сбои, не прерывая обслуживание приложений, что позволяет создавать отказоустойчивые приложения.
Реализация Web-ферм, кластеров
Решения на основе дешевых компьютеров объединенных в единый кластер давно себя зарекомендовали на загруженных Web-сайтах. С точки зрения клиента вся эта группа машин выглядит как единый экземпляр сервера, они работают идентично одиночным серверам, но в дополнении к ним обеспечивают балансировку нагрузки и передачу управления при сбое.
Кластеризация дает следующие преимущества:
Балансировка запросов, равномерная или определяемая правилами
Отказоустойчивость к сбоям
«Линейное» увеличение производительности
Прозрачное обслуживание и замена узлов кластера
Кластеры бывают трех типов:
High availability-clusters – HA-clusters – кластеры высокой доступности – на основе общего дискового массива. Обычно используют SCSI RAID или SAN (в единицу времени только один из узлов может владеть этим массивом, и соответственно выполнять приложение, другие находится в вечном ожидании).
High Performance Computing Clusters – HPC-clusters – кластеры для обеспечения производительности вычислений. Создаются для распределения одной задачи на множество компьютеров.
Massive Parallel Processing Clusters – MPP-clusters – кластеры для обеспечения масштабируемости сервисов. Создаются для распределения множества однотипных задач на множество компьютеров. Данный тип кластера обычно используется для организации WEB – ферм и мы его рассмотрим более подробно.
Различают две основные разновидности типов кластеризации серверов в случае MPP-clusters:
«вертикальная» - это когда, например, запускают несколько web приложений на одном сервере, что бы максимально оптимизировать используемые ресурсы сервера,
«горизонтальная» - более традиционный подход – это определение клонов приложения на нескольких машин, сформировав для них единый образ системы.
Вполне разумно использование на узлах кластера еще и transparent-proxy или http-сервера в режиме web - акселератора, что позволит создать дополнительное «вертикальное» звено, для оптимизации нагрузки
Использование систем балансировки накладывает определенные обязанности на разработчиков – использование общего или реплицированного источника данных, общего хранилища файлов (NFS), общие для всех файлы настроек и т.д. т.п.
Для «горизонтальной» балансировки можно использовать несколько технологий и продуктов, работающих на различных сетевых уровнях по модели OSI:
сетевом – трансляция адресов с управлением к среде передачи (подмена MAC адреса)
транспортном – перенаправление TCP трафика (port-mapping, NAT)
прикладном – работа через web-акселераторы для оптимизации HTTP запросов (apache mod_accel,mod_bakhand,mod_proxy),lighttpd,nginx).
Отдельно надо сказать про технологию DNS Round Robin, когда сервер имен на каждый новый запрос на преобразование имени в IP отдает очередной адрес из введенного ранее пула. Эта технология неэффективна и может использоваться только в смешанном варианте с другими, так как каждый провайдер имеет в своем распоряжении кэширующие DNS сервера, которые сводят на НЕТ все плюсы.
