Содержание
- 2. Лекция 10. Управление процессами 1 Состояния процесса Введение Подсистема управления процессами плани-рует выполнение процессов, то есть
- 3. Состояния процесса В многозадачной (многопроцессной) системе процесс может находиться в одном из нескольких состояний (на примере
- 4. Рождение - процесс обретает управляющие структуры (дескриптор, контекст), записи о нём вносятся в структуры ядра. Готовность
- 5. Выполнение в режиме пользователя (задачи) - основной режим выполнения команд процесса. Ожидание - выполнение процесса заблоки-ровано
- 6. При завершении процесса должна удаляться его структура из списка процессов. Иногда процесс уже завершился, но его
- 7. 2 Создание процессов 2.1 В Unix Создание процесса Создать процесс — это прежде всего означает создать
- 8. Создание процесса включает загрузку кодов и данных исполняемой программы данного процесса с диска в оперативную память.
- 9. В многопоточной системе при создании процесса ОС создает для каждого процесса как минимум один поток выполнения.
- 10. В разных ОС по-разному строятся отношения между потоками-потомками и их родителями. Например, в одних ОС выполнение
- 11. Во многих системах порождение потомков является основным механизмом создания процессов и потоков. Рассмотрим в качестве примера
- 12. При управлении процессами операционная система использует два основных типа информационных структур: дескриптор процесса и контекст процесса.
- 13. Дескрипторы отдельных процессов объединены в список, образующий таблицу процессов. Память для таблицы процессов отводится динамически в
- 14. В дескрипторе прямо или косвенно (через указатели, на связанные с процессом структуры) содержится информация о состоянии
- 15. Контекст процесса содержит менее оперативную, но более объемную часть информации о процессе, необходимую для возобновления выполнения
- 16. Контекст, так же как и дескриптор процесса, доступен только программам ядра, то есть находится в виртуальном
- 17. Порождение процессов в системе UNIX происходит в результате выполнения системного вызова fork. ОС строит образ порожденного
- 18. После выполнения системного вызова fork оба процесса продолжают выполнение с одной и той же точки. Чтобы
- 19. Типичное разветвление на языке С записывается так: if( -fork() ) { действия родительского про-цесса } else
- 20. Идентификатор потомка может быть присвоен переменной, входящей в контекст родительского процесса. Так как контекст процесса наследуется
- 21. Таким образом, в UNIX порождение нового процесса происходит в два этапа — сначала создается копия процесса-родителя,
- 24. В приведённом примере после вызова fork анализируется возвращаемое этой функции значение. Если оно равняется 0, то
- 25. Функция wait() ждет завершения первого из всех возможных потомков родительского процесса. Иногда необходимо точно определить, какой
- 26. Задачей системного вызова exec является замена текущего процесса на новый процесс. Как только вы вызываете exec,
- 28. В рассматриваемом случае будет создано семь процессов-потомков. Первый вызов fork() создает первого потомка. Как указано выше,
- 29. После второго вызова fork() и родитель, и первый потомок производят потомков второго поколения - всего процессов
- 30. Операционная система оставляет процесс зарегистрированным в своей внутренней таблице данных, пока родительский процесс не получит кода
- 31. 2.2 В Windows Создание процесса Создание Win32 процесса осуществляется вызовом одной из таких функций, как CreateProcess,
- 32. В WinNT/2000 для отладки программ реализовано следующее. CreateProcess, найдя исполняемый Win32 файл, ищет в SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image
- 33. Создается первичный поток (стек, контекст и объект "поток"). Подсистема Win32 уведомляется о создании нового процесса и
- 34. Пример создания программы ''Калькулятор'' При создании проекта в MS Visual C++ необходимо убедиться, что в настройках
- 35. 3 Создание потоков Создание потока Рассмотрим создание нескольких потоков в Windows. Сначала небольшой пример, в котором
- 39. Рассмотрим программу, создающую несколько потоков, каждый из которых сортирует массив целых чисел с помощью своего метода
- 50. Скачать презентацию