Операционные системы и системное программирование
.pdfPROCESSENTRY32 P; do
{// выводим элемент списка
_itoa(P.th32ParentProcessID, szStrVal, 10); // ID родителя
} while (Process32Next(hS, &P));
Текущая рабочая директория процесса
За каждым процессом закрепляется некая директория, являющаяся основной при открытии, сохранении и других операциях с файловой системой от имени этого процесса:
TCHAR szDir[255];
GetCurrentDirectory(255, szDir); // получаем
//текущею директорию
SetCurrentDirectory(szDir); // устанавливаем текущею
// директорию
Время выполнения процесса
На использование процессом ресурсов ОС затрачивается некоторое время, система же предоставляет некоторые функции для отображения этой информации (время создания, время ядра, время пользователя и др.).
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);
91
Наследование дочерними процессами среды родительского процесса
По умолчанию система наследует всем создаваемым процессом среду его родителя, но при его создании имеется возможность задать собственную среду для процесса, используя седьмой параметр в функции CreateProcess(…), или указать NULL для наследования по умолчанию:
// Run process
BOOL Res = CreateProcess (NULL, szRunAppl, NULL, NULL, TRUE, 0,pEnvaroment,NULL,&stInfo,&prTInfo);
92
Литература
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 с.
93
Учебное издание
ОПЕРАЦИОННЫЕ СИСТЕМЫ И СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ
Методические указания к лабораторным работам для студентов специальностей 1-40 01 01
«Программное обеспечение информационных технологий» и 1-40 01 02 «Информационные системы и технологии»
Составитель РАЗОРЁНОВ Николай Александрович
Редактор Т.Н. Микулик Компьютерная верстка А.Г. Занкевич
Подписано в печать 12.09.2011. Формат 60 841/16. Бумага офсетная. Отпечатано на ризографе. Гарнитура Таймс.
Усл. печ. л.5,46. Уч.-изд. л. 4,27. Тираж 100. Заказ 1195.
Издатель и полиграфическое исполнение: Белорусский национальный технический университет. ЛИ № 02330/0494349 от 16.03.2009.
Проспект Независимости, 65. 220013, Минск.
