Главная » Файлы » Лекции » Операционные системы [ Добавить материал ]

3. Работа с процессами - презентация

[Скачать с сервера (150.7Kb) - бесплатно] 16.03.2009, 19:05

В лекции рассмотрено: способы создания процессов, передача информации при запуске файла на исполнение (аргументы командной строки, переменные окружения), Создание и завершение процессов в ОС Windows (функции CRT, функции WinAPI), создание и завершение процессов, запуск исполняемых файлов в ОС Unix

Фрагменты из лекции:

Новый процесс может создаваться двумя способами:

  • запуск на исполнение файла (ОС Windows) — этот способ прост для программиста, но лишает его некоторых возможностей;
  • создание копии существующего процесса (OC Unix) — сложнее, однако шире возможности передачи информации дочернему процессу. В этом случае запуск файла на исполнение выполняется отдельной командой.

Передача параметров при запуске файла на исполнение

  • Часто при запуске файла, выполняющего какие-либо действия, необходимо передать ему параметры этих действий.
  • Например архиватору требуется знать команду (упаковать или распаковать?) и файлы для обработки.
  • Автоматическая передача этих параметров позволяет избежать дублирования их ввода пользователем (этим пользуются например, программы типа Total Commander, вызывая архиваторы для выбранных 3 пользователем файлов)

Аргументы командной строки

  • Аргументы командной строки это строки, записываемые через пробел после имени файла при запуске его из командной строки.
  • Аргументы разделяются между собой пробелами. Если один аргумент должен содержать внутри пробелы (или другие специальные символы), его следует взять в двойные кавычки.
  • Первым аргументом считается имя запускаемого файла.

Создание процессов в ОС Windows CRT

  • Для создание нового процесса с запуском исполняемого файла в C Run-time Library ОС Windows используется семейство функций _spawn.
  • Все функции этого семейства начинаются со слова _spawn и содержат дополнительные буквы, указывающие особенности их работы.
  • Функция может содержать от одной до трех букв: _spawnl или _spawnvpe.

Создание процесса в ОС Unix

  • Создание процесса в ОС Unix осуществляется функцией fork.
  • Функция fork создает копию текущего процесса и при успешном выполнении возвращается дважды: в родительский и дочерний процессы.
  • Определить то, в каком процессе вы находитесь, можно анализируя значение, возвращаемое fork.

pid_t pid = fork();
if(pid == -1){
   printf("Fork failed:");
} else if (pid == 0){
   char *env[50]=
{"SURNAME=Bach",NULL};
execle("child","child","Carl",
"Philip",NULL,env);
} else {
printf("I'm still there!\n");
}

Похожие материалы:

Добавил: COBA (16.03.2009) | Категория: Операционные системы
Просмотров: 2829 | Загрузок: 571 | Рейтинг: 0.0/0 |
Теги: презентация, программирование, CRT, ОСи, Новогодняя ул., WinAPI, Процессы
Комментарии (0)

Имя *:
Email *:
Код *: