Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Операционные системы и системное программирование

.pdf
Скачиваний:
0
Добавлен:
29.11.2025
Размер:
1.2 Mб
Скачать

PROCESSENTRY32 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, Минск.