
- •Системное по. Цели, задачи, классификация
- •Операционная система. Основные функции ос. Структура операционной системы.
- •Общая характеристика операционных систем Microsoft: семейства dos, Windows
- •Интерфейс прикладных программ (api). Apidos (программные прерывания) и Win32
- •Дисковая подсистема в архитектуре ibmpc
- •Низкоуровневая организация дисковой памяти. Сервис bios доступа к дисковой подсистеме.
- •Понятие файловой системы. Назначение, требования, функции. Способы организации фс.
- •Объекты файловой системы: файлы, директории, логические устройства, другие виды объектов.
- •Файловые системы на основе fat
- •X.2 Файловая система ntfs
- •Служебные структуры fat и их использование
- •Программный интерфейс файловой системы (функции для взаимодействия с фс, файлового ввода-вывода) – dos, Windows Функции общего назначения
- •Файловый ввод-вывод
- •14. Адресное пространство процесса (задачи).
- •15. Приложения Windows (Win 32), разновидности. Структура оконных приложений
- •1. Основные определения
- •2. Особенности приложений Win 32.
- •3. Событийное управление
- •4. Структура приложения
- •16. Окно Win32: назначение, виды, свойства. Оконные классы.
- •17. Создание и управление окнами.
- •18. Событийное управление в Win32. Сообщения и очереди сообщений Windows (Windowsmessages): назначение, структура, отсылка, доставка, обработка Сообщения и очереди сообщений.
- •19. Цикл обработки сообщений. Оконная процедура: назначение, выполнение, способы активизации и завершения.
- •20. Многозадачность, многозадачные операционные системы, особенности выполнения приложений в многозадачной среде. Модель многозадачности Win 32
- •21. Состояния процессов (многозадачная среда). Состояния процессов (потоков)
- •22. Многозадачность в win32. Планирование и выполнения программ в win32
- •23. Процессы win32. Атрибуты и состояния процессов. Порождение процессов и управление ими. Основы управления процессами Win32
- •24. Потоки и многопоточные приложения. Порождение потоков, состояние потоков, управление ими. Основы управления потоками Win32
- •25. Нити – альтернативное управление выполнением программы Управление нитями
- •26. Распределение времени выполнения программ в многозадачной системе. Приоритеты. Распределение времени между потоками (управление приоритетами)
- •27. Приоритеты процессов и потоков win32. Управление приоритетами.
- •28. Взаимодействие процессов/потоков, взаимное исключение, синхронизация (базовые сведения)
- •29. Реализация взаимного исключения. Механизм criticalsection.
- •30. Синхронизация при управлении процессами и потоками
- •31. Функция ожидания
- •32. Использование каналов и почтовых ящиков для обмена данными
- •33. Использование файловой системы для обмена данными
- •X.2.6. Использование сообщения wm_copydata
- •34. Графическая подсистема win32 – общая характеристика, основные принципы.
- •35. Основные объекты win32 gdi. Средства векторной и растровой графики
- •Растровая графика
- •36. Подсистема памяти. Основные задачи, функции, требования
- •37. Виртуальное адресное пространство, управление памятью.
- •38. Динамическое распределение памяти программами (heap). HeapApiWin32.
- •Функции работы с кучами (heap-область)
- •39. Подсистема памяти win32. Регионы(области) памяти. Группы функций api подсистемы памяти. Адресное пространство процесса.
- •40. Управление на уровне менеджера вирнуальной памяти. (vmm)
- •41. Отображение файлов в память Проецирование файлов в память
- •42. Системный реестр windows: назначение, организация, доступ
33. Использование файловой системы для обмена данными
X.2.6. Использование сообщения wm_copydata
Структура COPYDATASTRUCT: dwData (просто int), cbData (размер), lpData (буфер этого размера). Передача сообщения обязательно по Send, а не Post.
Х.2.6 Буфер обмена (Clipboard).
Широко применяемый в Windows механизм обмена информацией с использованием специального системного глобального буфера. При этом реализуется модель cut-copy-paste. Любое приложение может поместить данные в буфер обмена и получить данные из него.
BOOL OpenClipboard(hWndNewOwner)
BOOL CloseClipboard(void)
HANDLE GetClipboardData(uFormat)
HANDLE SetClipboardData(uFormat,hMem)
BOOL EmptyClipboard(void)
UINT EnumClipboardFormats(uPrevFormat)
int CountClipboardsFormats(void)
UINT RegisterClipboardFormat(lpszFormatName)
GetClipboardFormatName(uFormat, lpFormatName, int nMaxCount)
Х.2.7 Динамический обмен данными (DDE)
МеханизмDDE (Dynamic Data Exchange), ...
Х.2.8 OLE – Присоединение и внедрение объектов
Механизм (протокол) OLE (ObjectLinkingandEmbedding) был первоначально предназначен для создания составных документов. С его помощью можно, например, вставить таблицу MS Excel в документ MS Word. При этом возможно как вставить таблицу целиком (embedding), так и вставить только ссылку на эту таблицу (linking). В дальнейшем возник также OLEAutomation, служащий для управления приложением из другого приложения. В настоящее время протокол OLE развился до набора технологий, лежащих в основе построения современных информационных систем, например, ActiveX.
Х.2.9 Использование динамически компонуемых библиотек
Если два или более приложений используют одну библиотеку DLL (dynamiclinklibrary, см. ниже), то они разделяют все глобальные переменные этой библиотеки. Глобальные переменные, как и вся библиотека, отображаются на адресные пространства разных процессов. Этот метод не привносит никакой новой функциональности по сравнению с отображением проецируемых файлов. Более того, при этом нарушается идеология "скрытия" данных.
Объявление переменных в DLL как shared либо private. По умолчанию обычно все переменные private.
Х.2.10 Удаленный вызов процедур
Механизм RPC (RemoteProcedureCall) является естественным развитием идеологии процедурного программирования. В рамках его подпрограмма рассматривается как черный ящик с документированными параметрами. Естественно попытаться сделать возможным исполнение этой процедуры на удаленном компьютере. Механизм осуществления этой идеи напоминает использование динамических библиотек: с приложением компонуется не сама процедура, а лишь некоторая заглушка, которая передает по сети параметры процедуры и принимает результат вычислений. У приложения создается иллюзия работы с локальной процедурой. Возможно исполнение процедуры и вызывающей программы под управлением разных операционных систем.
Клиент-сервер. На стороне клиента – заглушка (stub) с соответствующим именем. Задача заглушки клиента – упаковать аргументы и передать на сервера. На стороне сервера – тоже заглушка (serverstub), она же прокси (proxy). Прокси распаковывает аргументы и вызывает нужную серверную функцию.
Как разновидность RPC – очередь сообщений MSMQ. Позволяет осуществлять вызов off-line.