
- •Управление процессами и потоками в мультипрограммных ос. Общие сведения о процессах и потоках в ос Windows. Понятие объекта ядра. Типы объектов ядра.
- •Описатель, командная строка, и переменные окружения процесса.
- •Создание процессов.
- •Завершение процесса.
- •Общие сведения о потоках. Создание потоков.
- •Выполнение потоков.
- •Завершение потоков.
- •Планирование потоков. Приостановка и возобновление процессов и потоков.
- •Приоритеты потоков. Классы приоритетов процессов и относительные приоритеты потоков.
- •Синхронизация процессов и потоков в мультипрограммных ос. Независимые и взаимодействующие процессы. Понятие критических ресурсов и критических секций.
- •Синхронизация процессов и потоков в ос Windows. Объекты синхронизации и функции ожидания.
- •Синхронизация с помощью критических секций.
- •Мьютексы.
- •События.
- •Семафоры.
- •Передача и обмен данными между процессами. Способы передачи данных и типы связей между процессами.
- •Средства передачи и обмена данными между процессами в ос Windows.
- •Обмен данными с помощью буфера обмена данными Clipboard.
- •Обмен данными по технологии dde.
- •Обмен данными по технологии ole. Понятие документно-ориентированной среды.
- •Принципы технологии ole.
- •Особенности ole 2.0
- •Обмен данными через разделяемые файлы.
- •Обмен данными через файлы, проецируемые в память. Создание файлов, проецируемых в память.
- •Обмен данными через проекцию файлов в память.
- •Обмен данными через страничный файл.
- •Обмен данными через программные каналы.
- •Средства организации анонимных и именованных каналов в Windows.
- •Концепция почтовых ящиков.
- •Создание почтовых ящиков.
- •Соединение клиентов с почтовым ящиком.
- •Обмен данными через почтовый ящик.
- •Закрытие почтового ящика.
- •Получение информации о почтовом ящике.
- •Обмен данными с помощью очередей сообщений.
- •Подсистема управления памятью. Функции подсистемы управления памятью.
- •Физическая и логическая память. Виртуальное (логическое) и физическое адресное пространство.
- •Способ построения вап процессов.
- •Способы распределения памяти на уровне управления процессами. Односвязное непрерывное распределение памяти.
- •Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими и перемещаемыми разделами.
- •Виртуализация оперативной памяти. Свопинг и виртуальная память.
- •Страничное распределение памяти.
- •Преобразование адресов страниц прямым отображением.
- •Преобразование адресов страниц ассоциативным отображением.
- •Преобразование адресов страниц комбинированным ассоциативно-прямым отображением.
- •Совместное использование программ и данных в системах со страничной организацией памяти. Выбор размера страниц.
- •Сегментное распределение памяти.
- •Управление доступом в системах с сегментной организацией памяти.
- •Сегментно-страничное распределение памяти.
- •Реализация режима виртуальной памяти. Стратегии замещения страниц.
- •Стратегия замещения случайной страницы.
- •Стратегия замещения по принципу fifo.
- •Замещение страницы, которая использовалась наименее часто (lfu).
- •Замещение страницы, которая не использовалась в последнее время (nur).
- •Концепция локального и рабочего множества программ в системах с виртуальной памятью.
- •Уровни привилегий и защита по привилегиям.
- •Кеширование данных в памяти эвм. Иерархия устройств памяти. Понятие и принцип действия кэш-памяти.
- •Способы отображения основной памяти на кэш.
- •Двухуровневое кэширование.
- •Кеширование в процессорах моделей Pentium.
- •Структура линейного виртуального адресного пространства процесса в ос Windows.
- •Раздел 4 используется для хранения совместно используемых всеми процессами данных. Сюда же загружаются все системные .Dll модули, поэтому же доступны любому пользовательскому процессу.
- •Управление устройствами. Основные понятия и концепции организации.
Концепция почтовых ящиков.
Почтовым ящиком называется объект ядра ОС, который обеспечивает передачу сообщений от процессов-клиентов к процессам-серверам, выполняющимся на компьютерах в пределах локальной сети. Процесс, который создает почтовый ящик, называется сервером почтового ящика. Процессы, которые связываются с почтовым ящиком, называются клиентами почтового ящика.
Характеристиками почтовых ящиков являются:
Имя, которое используется клиентами для связи с почтовыми ящиками;
Направление передачи данных (от клиента к серверу);
Способ передачи данных (сообщения);
Тип обмена данными (синхронный или асинхронный).
Несмотря на то, что передача данных осуществляется только от клиента к серверу, один и тот же почтовый ящик может иметь несколько серверов. Это происходит в том случае, когда несколько серверов создают почтовые ящики с одинаковыми именами. Тогда все сообщения, которые посылает клиент в такой почтовый ящик, будут получать все серверы этого почтового ящика. Однако, это выполняется только при условии , что длина сообщения меньше 425 байтов, поскольку в этом случае сообщения передаются в виде так называемых дейтаграмм.
Дейтаграмма – это небольшой пакет с передаваемым по сети сообщением, которое содержит информацию об отправителе и получателе сообщения. Дейтаграмма рассылается всем серверам данного почтового ящика. Это означает, что почтовые ящики обеспечивают однонаправленную связь типа NM. При этом, доставка сообщения от клиента к серверу почтового ящика системой не подтверждается. В дейтаграмме не хранится информация, поддерживающая контроль доставки.
Если длина сообщения больше 425 байт, то такие сообщения могут передаваться только от одного клиента к одному серверу. При этом, используется Server Message Block.
Почтовые ящики можно рассматривать как псевдофайлы, которые располагаются в ОП компьютера, поэтому для доступа к почтовым ящикам используются те же функции, что и для доступа к обычным файлам.
При передачи информации с помощью почтовых ящиков, выполняются следующие основные действия:
Создание почтового ящика сервером;
Соединение клиента с почтовым ящиком;
Обмен данными через почтовый ящик;
Закрытие почтового ящика клиентом и сервером.
Все эти действия реализуются с помощью системных функций.
Создание почтовых ящиков.
Почтовые ящики создаются процессом-сервером вызовом CreateMailSlot (p1, p2, p3, p4);.
p1 определяет имя почтового ящика, и представляет собой указатель на место расположения в системе этого имени. Этот параметр должен иметь следующий стандартный вид:
\\.\mailslot\<mailslot_name>
p2 определяет максимальную длину сообщения в байтах, которая может быть записана в почтовый ящик;
p3 определяет интервал ожидания в миллисекундах, в течение которого функция ReadFile ждет поступления сообщения в почтовый ящик. Если в этом параметре установлен ноль, то в случае отсутствия в почтовом ящике сообщения функция CreateMailSlot немедленно возвращает управление;
p4 определяет атрибуты безопасности.
В случае успешного завершения функция возвращает дескриптор почтового ящика. В случае неудачи возвращается значение ошибки.
Если несколько процессов создают почтовые ящики с одним и тем же именем, то сообщения, посланные клиентом, могут доставляться в почтовые ящики всех таких процессов, при условии, что все они (эти процессы) работают на компьютерах внутри одного домена. Режим доставки сообщений, в этом случае, зависит от режима открытия почтового ящика клиентом.