- •Методичні вказівки до лабораторних робіт по курсу "системне програмування "
- •Методичні вказівки
- •До лабораторних робіт по курсу
- •"Системне програмування "
- •Частина 1. “Програмування для Windows 95/nt”
- •1.Общие положения
- •1.2. Порядок выполнения работы
- •1. 4. Оценивание выполнения работы
- •2. Структура windows - приложений. Оконная процедура. Обработка сообщений
- •2.1. Цель работы
- •2.2. Указания по подготовке к выполнению лабораторной работы
- •2.4. Задание на лабораторную работу
- •2.5. Контрольные вопросы и задания
- •3. Контексты устройств. Вывод текста
- •3.1. Цель работы
- •3.2. Указания по подготовке к выполнению лабораторной работы
- •3.3. Обзор темы работы
- •3.4. Задание на лабораторную работу
- •3.5. Контрольные вопросы и задания
- •4. Графический интерфейс пользователя (graphical user interface, gui)
- •4.1. Цель работы
- •4.2. Указания по подготовке к выполнению лабораторной работы
- •4.3. Сущность работы
- •4.4. Задание на лабораторную работу
- •4.5. Контрольные вопросы и задания
- •5. Средства ввода информации
- •5.1. Цель работы
- •5.2. Указания по подготовке к выполнению лабораторной работы
- •5.3. Обзор темы работы
- •5.4. Задание на лабораторную работу
- •5.5. Контрольные вопросы и задания
- •6. Использование ресурсов
- •6.1. Цель работы
- •6.2. Указания по подготовке к выполнению лабораторной работы
- •6.3. Обзор темы работы
- •6.4. Задание на лабораторную работу
- •6.5. Контрольные вопросы и задания
- •7. Многозадачность и многопоточность
- •7.1. Цель работы
- •7.2. Указания по подготовке к выполнению лабораторной работы
- •7.3. Обзор темы работы
- •7.4. Задание на лабораторную работу
- •7.5. Контрольные вопросы и задания
- •8. Многооконный интерфейс
- •8.1. Цель работы
- •8.2. Указания по подготовке к выполнению лабораторной работы
- •7.3. Обзор темы работы
- •7.4. Задание на лабораторную работу
- •8.5. Контрольные вопросы и задания
- •9.4. Задание на лабораторную работу
- •9.5. Контрольные вопросы и задания
- •Список литературы
- •Содержание
7.5. Контрольные вопросы и задания
Поясните принцип многозадачности современных операционных систем.
Чем отличается многозадачность от многопоточности?
Каким образом аппаратно решаются задачи обеспечения многозадачности?
В чем заключаются особенности невытесняющей многозадачности?
Приведите примеры использования многопоточности в прикладных программах.
Каким образом осуществляется синхронизация потоков?
Что такое "критический раздел"?
Что такое "событие"?
Объясните назначение локальной и глобальной памяти потоков.
8. Многооконный интерфейс
8.1. Цель работы
Ознакомление с технологией создания многооконного интерфейса (Multiple Document Interface, MDI), получение практических навыков по составлению, написанию и отладке программ, позволяющих работать с несколькими документами (форматированными файлами) в одном приложении.
8.2. Указания по подготовке к выполнению лабораторной работы
Необходимо изучить спецификацию структур окон и пользовательский интерфейс, который позволяет пользователю работать одновременно с несколькими документами. Студент должен знать иерархию родительских и дочерних окон приложения MDI в Windows, принципы их создания и обеспечения функционирования.
При подготовке к работе необходимо изучить конспект лекций по указанной теме, методические указания, а также разделы, указанные в [16, c.962-987], [17, c.199-271].
7.3. Обзор темы работы
Многооконный интерфейс (Multiple Document Interface, MDI) является спецификацией для приложений, которые обрабатывают документы в Microsoft Windows. Спецификация описывает структуру окон и пользовательский интерфейс, который позволяет пользователю работать с несколькими документами внутри одного приложения (например, с документами в текстовом процессоре или с таблицами в программе электронных таблиц). Точно также, как Windows поддерживает несколько окон приложений на одном экране, приложение MDI поддерживает несколько окон документов в одной рабочей области.
Данная спецификация должна поддерживать следующие возможности:
Окно документа MDI может быть свернуто. Соответствующий документу значок выводится в нижней части рабочей области.
Окно документа может быть развернуто. В этом случае строка заголовка окна документа исчезает, и имя файла оказывается присоединенным к имени приложения в строке заголовка окна приложения. Значок системного меню окна документа становится первым пунктом строки основного меню окна приложения. Значок для восстановления размера окна документа становится последним пунктом строки основного меню и оказывается крайним справа.
Системные быстрые клавиши для закрытия окна документа те же, что и для закрытия главного окна, за исключением того, что клавиша <Ctrl> используется вместо клавиши <Alt>.
Если приложение имеет возможность поддерживать несколько типов дочерних окон (например, электронные таблицы и диаграммы в Microsoft Excel), то меню должно отражать операции, ассоциированные с каждым типом документа. Для этого требуется, чтобы программа изменяла меню, когда становится активным окно документа другого типа. Кроме того, при отсутствии окна документа, в меню должны быть представлены только операции, связанные с открытием нового документа.
В строке основного меню имеется пункт Window. По соглашению, он является последним пунктом строки основного меню, исключая Help. В этом подменю обычно имеются опции для упорядочивания окон документов внутри рабочей области. Окна документов можно расположить «каскадно» (cascaded), «мозаично» (tiled), отобразить все документы.
Окно приложения в целом называется главным окном (frame window). Приложение MDI создает также окно-администратор (client window) на основе предопределенного класса окна MDICLIENT. Окна документов являются дочерними окнами окна-администратора, которое, в свою очередь, является дочерним окном главного окна. Для главного окна и для каждого типа дочерних окон, которые поддерживаются в приложении, необходим класс окна и оконная процедура. Для окна-администратора оконная процедура не нужна, поскольку ее класс окна предварительно зарегистрирован в системе.
Во время выполнения работы использовать уже изученные ранее функции регистрации класса и создания окон. Особое внимание обратить на обработку событий, поступающих в программу, а также изменению параметров и объектов программы (например, меню) при работе с несколькими документами.