
- •Управление процессами и потоками в мультипрограммных ос. Общие сведения о процессах и потоках в ос Windows. Понятие объекта ядра. Типы объектов ядра.
- •Описатель, командная строка, и переменные окружения процесса.
- •Создание процессов.
- •Завершение процесса.
- •Общие сведения о потоках. Создание потоков.
- •Выполнение потоков.
- •Завершение потоков.
- •Планирование потоков. Приостановка и возобновление процессов и потоков.
- •Приоритеты потоков. Классы приоритетов процессов и относительные приоритеты потоков.
- •Синхронизация процессов и потоков в мультипрограммных ос. Независимые и взаимодействующие процессы. Понятие критических ресурсов и критических секций.
- •Синхронизация процессов и потоков в ос Windows. Объекты синхронизации и функции ожидания.
- •Синхронизация с помощью критических секций.
- •Мьютексы.
- •События.
- •Семафоры.
- •Передача и обмен данными между процессами. Способы передачи данных и типы связей между процессами.
- •Средства передачи и обмена данными между процессами в ос Windows.
- •Обмен данными с помощью буфера обмена данными Clipboard.
- •Обмен данными по технологии dde.
- •Обмен данными по технологии ole. Понятие документно-ориентированной среды.
- •Принципы технологии ole.
- •Особенности ole 2.0
- •Обмен данными через разделяемые файлы.
- •Обмен данными через файлы, проецируемые в память. Создание файлов, проецируемых в память.
- •Обмен данными через проекцию файлов в память.
- •Обмен данными через страничный файл.
- •Обмен данными через программные каналы.
- •Средства организации анонимных и именованных каналов в Windows.
- •Концепция почтовых ящиков.
- •Создание почтовых ящиков.
- •Соединение клиентов с почтовым ящиком.
- •Обмен данными через почтовый ящик.
- •Закрытие почтового ящика.
- •Получение информации о почтовом ящике.
- •Обмен данными с помощью очередей сообщений.
- •Подсистема управления памятью. Функции подсистемы управления памятью.
- •Физическая и логическая память. Виртуальное (логическое) и физическое адресное пространство.
- •Способ построения вап процессов.
- •Способы распределения памяти на уровне управления процессами. Односвязное непрерывное распределение памяти.
- •Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими и перемещаемыми разделами.
- •Виртуализация оперативной памяти. Свопинг и виртуальная память.
- •Страничное распределение памяти.
- •Преобразование адресов страниц прямым отображением.
- •Преобразование адресов страниц ассоциативным отображением.
- •Преобразование адресов страниц комбинированным ассоциативно-прямым отображением.
- •Совместное использование программ и данных в системах со страничной организацией памяти. Выбор размера страниц.
- •Сегментное распределение памяти.
- •Управление доступом в системах с сегментной организацией памяти.
- •Сегментно-страничное распределение памяти.
- •Реализация режима виртуальной памяти. Стратегии замещения страниц.
- •Стратегия замещения случайной страницы.
- •Стратегия замещения по принципу fifo.
- •Замещение страницы, которая использовалась наименее часто (lfu).
- •Замещение страницы, которая не использовалась в последнее время (nur).
- •Концепция локального и рабочего множества программ в системах с виртуальной памятью.
- •Уровни привилегий и защита по привилегиям.
- •Кеширование данных в памяти эвм. Иерархия устройств памяти. Понятие и принцип действия кэш-памяти.
- •Способы отображения основной памяти на кэш.
- •Двухуровневое кэширование.
- •Кеширование в процессорах моделей Pentium.
- •Структура линейного виртуального адресного пространства процесса в ос Windows.
- •Раздел 4 используется для хранения совместно используемых всеми процессами данных. Сюда же загружаются все системные .Dll модули, поэтому же доступны любому пользовательскому процессу.
- •Управление устройствами. Основные понятия и концепции организации.
Особенности ole 2.0
Реализуется концепция визуального редактирования по месту размещения объекта. Приложение-сервер запускается при активизации объекта, но при этом, окно приложения-сервера не открывается, а в строку меню приложения-клиента встраиваются пункты меню приложения-сервера. Аналогичным образом изменяется и панель инструментов. Поле документа-клиента с визуальным представлением не исчезает;
Возможность предоставления некоторых своих функций, например, проверки орфографии для доступа из других приложений. Эта возможность называется «автоматизация OLE». Модуль, выполняющий нужную функцию, оформляется в виде объекта OLE и вставляется в другое приложение. Автоматизация OLE может использоваться не только вне границ приложений, но и вне границ языков, а в перспективе – вне границ отдельной ЭВМ. Автоматизация включает в себя серверы автоматизации и клиенты автоматизации. Сервер обеспечивает возможности, а клиент получает к ним доступ. Серверы делятся на серверы внутренней обработки и локальные серверы. Серверы внутренней обработки представляются как .dll, загружаемая в адресное пространство клиента. Локальные серверы – это автономные программы;
Способ хранения данных в составном документе. Составной документ представляется в виде набора мест хранения, в каждом из которых может содержаться объект, созданный сервером. При этом, приложение-клиент не имеет информации о способе хранения объекта, созданного в другом приложении. При сохранении документа во внешней памяти, клиент создает возможность для сервера сохранять свои объекты, и предоставляет для этого место хранения. При этом, в качестве способа записи объектов или данных на диск используется новый способ, называемый структурированной памятью. Он обеспечивает все возможности, существующие в стандартном файловом вводе/выводе. На диске можно создавать каталоги и подкаталоги, и сохранять в них файлы. Отличие структурированной памяти от стандартного файлового ввода/вывода состоит в том, что каждый набор каталогов и файлов в структурированной памяти размещается внутри единого большого файла, который называется составным файлом. Каталоги внутри таких файлов называются потоками. Примером использования составных файлов являются .docx файлы;
Внутренние средства версии, используемые для обмена данными. С точки зрения обмена данными, OLE 2.0 – это набор интерфейсов, позволяющий клиенту и серверу обмениваться данными. При этом, протокол обмена называется Uniform Data Transfer (UDT). Данный протокол представляет собой расширение протокола обмена через буфер обмена, в котором предусматриваются средства уведомления об изменении данных и форматах. При этом, отсутствуют ограничения на размер данных, то есть можно передавать как сами данные, так и ссылки на них. В средствах обмена не используется протокол DDE, основанных на передаче сообщений.
Технология обладает определенными достоинствами.
OLE из средства обмена данными превратилась в средство взаимодействия и хранения данных.
В ОС Windows эта технология является основой объектно-ориентированного пользовательского интерфейса.
В будущих версиях предполагается использовать сетевую технологию OLE 3.0, позволяющую клиенту и серверу находиться на разных ЭВМ.
Вместе с тем, у технологии имеются недостатки:
Сложность для разработчиков;
Некоторая несогласованность в интерфейсах разных приложений;
Большая потребность в аппаратных ресурсах;
Расхождение в понятиях объекта как объекта OLE и объекта в ООП.