- •Содержание
- •Основные требования к оформлению и содержанию отчета о лабораторной работе
- •Лабораторная работа № 1 простейшее приложение на базе win32/64 api
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Простейшее Windows-приложение на базе Win32 api
- •Структура оконного класса: элементы и их назначение
- •Регистрация в Windows оконного класса
- •Создание экземпляров оконных классов
- •Главное окно. Дочерние окна
- •Отображение окон на экране
- •Управление положением и размерами окон
- •Установка фона окна
- •Прикрепление курсора к приложению. Создание курсора
- •Цикл обработки сообщений
- •Оконная функция. Назначение, параметры, обработка сообщений
- •Обновление оконной области на экране
- •Варианты заданий к лабораторной работе № 1
- •Лабораторная работа № 2 диалоговые окна
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Назначение и классификация диалоговых окон
- •Создание и отображение диалогового окна на экране
- •Шаблон, ресурсы диалогового окна
- •Заголовок шаблона
- •Определения элементов управления
- •Задание размеров диалогового окна
- •Управляющие элементы диалогового окна
- •Обработка сообщений от элементов управления диалогового окна
- •Сообщения работы с модальными и немодальными диалоговыми окнами
- •Лабораторная работа № 3 программирование внешних устройств
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Клавиатура
- •Драйвер клавиатуры Windows
- •Очередь аппаратных событий
- •Поля параметра lParam
- •Цикл получения сообщений
- •Коды ansi
- •Оконный объект
- •Оконная процедура умолчания
- •Двойной щелчок мыши
- •Использование таймера
- •Варианты заданий к лабораторной работе № 3
- •Лабораторная работа № 4 работа с файлами
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Символьные константы
- •Escape-последовательности
- •Правила именования файлов в Win32
- •Запись информации в файл и чтение информации из файла
- •Текстовые файлы
- •Бинарные файлы
- •Запись данных в файл
- •Чтение данных из двоичного файла в шестнадцатеричной кодировке
- •Дамп содержимого файла
- •Работа с каталогами и манипулирование файлами
- •Поиск файлов
- •Размер файла
- •Создание и удаление каталогов
- •Лабораторная работа № 5 файловая система fat
- •Изучаемые вопросы
- •Последовательность выполнения работы
- •Теоретические и справочные сведения
- •Лабораторная работа № 6 файловая система ntfs
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Структура Boot
- •Метафайлы
- •Атрибуты файла
- •Записи главной таблицы файлов
- •Лабораторная работа № 7 процессы (часть 1)
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Структуры startupinfo, process_information
- •Создание процесса
- •Класс приоритета процесса
- •Наследование дочерними процессами ресурсов родительского процесса
- •Функции Win32 для управления процессами
- •Окончание процесса
- •Лабораторная работа № 8 процессы (Часть 2)
- •Изучаемые вопросы
- •Постановка задачи
- •Теоретические сведения Переменные окружения процесса
- •Передача информации между процессами через переменные окружения
- •Диаграмма состояния процесса
- •Список процессов
- •Идентификатор процесса
- •Кто родитель процесса
- •Текущая рабочая директория процесса
- •Время выполнения процесса
- •Наследование дочерними процессами среды родительского процесса
- •Литература
Время выполнения процесса
На использование процессом ресурсов ОС затрачивается некоторое время, система же предоставляет некоторые функции для отображения этой информации (время создания, время ядра, время пользователя и др.).
FILETIME timeCreation, FILETIME timeExit;
FILETIME timeKernel, FILETIME timeUsed;
SYSTEMTIME timeSys;
GetProcessTimes(GetCurrentProcess(),
&timeCreation, &timeExit,&timeKernel, &timeUsed);
FileTimeToLocalFileTime(&timeCreation, &timeCreation);
FileTimeToSystemTime(&timeCreation, &timeSys);
SetWindowText(hProcTime, szTime);
FileTimeToSystemTime(&timeUsed, &timeSys); // Used Process
SetWindowText(hProcTimeUs, szTime);
FileTimeToSystemTime(&timeKernel, &timeSys);
// Kernel used Process
SetWindowText(hProcTimeKrn, szTime);
Наследование дочерними процессами среды родительского процесса
По умолчанию система наследует всем создаваемым процессом среду его родителя, но при его создании имеется возможность задать собственную среду для процесса, используя седьмой параметр в функции CreateProcess(…), или указать NULL для наследования по умолчанию:
// Run process
BOOL Res = CreateProcess (NULL, szRunAppl, NULL, NULL, TRUE, 0,pEnvaroment,NULL,&stInfo,&prTInfo);
Литература
1. Рихтер, Дж. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows / Дж. Рихтер; пер. с англ. – 4-е изд. – СПб.: Питер; М.: Издательско-торговый дом «Русская редакция», 2001. – 752 с.
2. Шилдт, Г. Полный справочник по C++ /Г. Шилдт. – 4-е изд. – М.: Вильямс, 2006. – 796 с.
3. Петзолд, Ч. Программирование для Windows 95: в 2 т. /Ч. Петзолд; пер. с англ. – СПб.: BHV – Санкт-Петербург, 1997. – Т. 2. – 368 с.
4. Гордеев А.В. Системное программное обеспечение/А.В. Гордеев, А.Ю. Молчанов. – СПб.: Питер, 2003. – 736 с.
5. Румянцев, П.В. Азбука программирования в WIN32 API / П.В. Румянцев. – СПб.: Питер, 2004. – 310 с.
6. Разработка приложений на Microsoft Visual C++ 6.0. Учебный курс: официальное пособие Microsoft для самостоятельной подготовки/ пер. с англ. – М.: Издательско-торговый дом «Русская редакция», 2000. – 576 с.
7. Круглински, Д. Программирование на Microsoft Visual C++ 6.0 для профессионалов / Д. Круглинский, С. Уингоу, Дж. Шеферд; пер. с англ. – СПб.: Питер; М.: Издательско-торговый дом «Русская редакция», 2004. – 861 с.
8. Фролов, А. Операционная система MS-DOS: в 2 т./ А. Фролов, Г. Фролов. – М.: Диалог-МИФИ, 1992. – Т. 1, кн. 3. – 222 с.
9. Джонсон, М. Харт. Системное программирование в среде Windows / М. Харт Джонсон. – М.: Издательский дом «Вильямс», 2001. – 464 с.
10. Рихтер, Дж. Программирование серверных приложений для Microsoft Windows 2000. Мастер-класс / Дж. Рихтер, Дж. Д. Кларк; пер. с англ. – СПб.: Питер; М.: Издательско-торговый дом «Русская редакция», 2001. – 592 с.
Учебное издание
ОПЕРАЦИОННЫЕ СИСТЕМЫ И СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ
Методические указания к лабораторным работам
для студентов специальностей 1-40 01 01
«Программное обеспечение информационных технологий» и 1-40 01 02 «Информационные системы и технологии»
Составитель
РАЗОРЁНОВ Николай Александрович
Редактор Т.Н. Микулик
Компьютерная верстка А.Г. Занкевич
Подписано в печать 12.09.2011.
Формат 60841/16. Бумага офсетная.
Отпечатано на ризографе. Гарнитура Таймс.
Усл. печ. л.5,46. Уч.-изд. л. 4,27. Тираж 100. Заказ 1195.
Издатель и полиграфическое исполнение:
Белорусский национальный технический университет.
ЛИ № 02330/0494349 от 16.03.2009.
проспект Независимости, 65. 220013, Минск.
