Операционные системы
Учебное пособие
Долгов В.В. |
|||||||||||||||||||||||||||||||||
1. Создание и уничтожение процессов в ОС семейства Microsoft Windows
В операционных системах семейства Windows существует несколько системных вызовов, позволяющих запускать новые процессы: WinExec(…), ShellExecute(…) и CreateProcess(…). Самым базовым из них является системный вызов CreateProcess(…), допускающий использование множества дополнительных параметров. Вызов ShellExecute(…) представляет собой высокоуровневую обертку вокруг CreateProcess(…) и поддерживает обработку типов файлов, зарегистрированных графической оболочкой операционной системы. Входными параметрами вызова CreateProcess(…) являются:
Для завершения процессов можно использовать либо функцию ExitProcess(…), если речь идет о завершении процессом самого себя, либо системный вызов TerminateProcess(…), позволяющий «обрывать» работу любого процесса в случае наличия у пользователя соответствующих полномочий. Например, участок кода В конфигурационном файле содержится список процессов, которые необходимо запустить друг за другом. Для каждого процесса определенно максимально допустимое время его выполнения в секундах. Реализовать программу, выполняющую последовательность процессов, описанных в конфигурационном файле и ведущую отчет, какой процесс уложился в допустимое время, а какой нет. Реализовать программу, которая запускает исполняемые файлы (исполняемыми считаются файлы с расширениями .exe, .bat, .cmd) из указанного в качестве параметра каталога. После завершения каждого запущенного процесса соответствующий исполняемый файл должен удаляться. В случае если в указанном каталоге отсутствуют файлы, программа должна ожидать их появления. Учесть, что запуск файлов с расширениями .bat и .cmd может быть осуществлен только с помощью командного процессора cmd.exe. Создать программу, запускающую приложения с подмененными стандартными потоками ввода/вывода (для подмены использовать структуру STARTUPINFO). В качестве стандартного потока ввода должен выступать файл input.txt в качестве стандартного потока вывода – output.txt. Проверить работоспособность программы на специально подготовленном примере. |
|||||||||||||||||||||||||||||||||