- •3. Язык Си-средство разработки ос. Базовые конструкции. Массивы и указатели.
- •4. Язык Си-средство разработки ос. Структура программы. Препроцессор.
- •5. Язык Си-средство разработки ос. Организация ввода-вывода в Си, форматированный ввод-вывод.
- •7. Язык Си-средство разработки ос. Динамическое выделение памяти. Структуры и объединения.
- •Динамические структуры данных
- •Архитектура ос
- •Контекст процесса
- •Некоторые типы процессов.
- •Жизненный цикл процесса
- •Классификация алгоритмов:
- •Контекст процесса
- •17. Аппарат системных вызовов в ос unix. Порождение новых процессов.
- •21. Управление процессами. Жизненный цикл процесса в oс unix.
- •26. Взаимодействие процессов в ос unix. System V ipc.
Контекст процесса
Контекст процесса делиться на 3 части: 1) пользовательский контекст; 2) Регистровый контекст; 3)Контекст системного уровня.
1) – это содержимое пользовательского адресного пространства (т.е. содержимое сегментов программного кода, данных, стека, разделяемых сегментов и файлов, отображаемых в виртуальную память).
2) – это содержимое аппаратных регистров (таких, как регистр счетчика команд, регистр состояния процессора, регистр указателя стека и регистров общего назначения).
3) – это структуры данных ядра ОС, связанные с этим процессом.
В общем случае данная информация может дополняться или меняться по ходу исполнения процесса в зависимости от того, чем в данный момент процесс занимается.
Цель создания и поддержания такой структуры: возможность продолжения корректной работы процесса после приостановки его функционирования на процессоре.
Некоторые типы процессов.
«Полновесные процессы» (процессы) - это процессы, выполняющиеся внутри защищенных участков памяти операционной системы, то есть имеющие собственные виртуальные адресные пространства для статических и динамических данных.
«Легковесные процессы» (нити или потоки – thread). Нити существуют в рамках одного процесса и выполняются в квазиапараллельном режиме. Все нити одного процесса всегда решают общую задачу одного пользователя. Таким образом, аппарат нитей используется для более быстрого решения задачи путем ее распараллеливания.
Обобщая сказанное, отметим, что понятие процесса в любой ОС включает в себя:
исполняемый код
собственное виртуальное адресное пространство
совокупность ресурсов, выделенных данному процессу
хотя бы одну исполняемую нить
Жизненный цикл процесса
ЖЦП в ВС – время с момента создания до момента завершения выполнения процесса.
Основные состояния процесса:
1. Рождение – состояние процесса, когда он уже создан, но не готов к запуску, при этом создаются контекст и дескриптор; загружается кодовый сегмент процесса в оперативную память или в область свопинга, процесс помещается в очередь готовых пр.
2. Исполнение – активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
3. Ожидание – пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, т.е. он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;
4. Готовность – также пассивное состояние процесса: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса;
5. Завершение – конечное состояние в ЖЦП, процесс выгружается из памяти и разрушаются все структуры данных, связанные с ним.
11. Взаимодействующие процессы. Методы реализации взаимного исключения.
12. Планирование процессов. Цели и задачи. Классификация алгоритмов.
Планирование процессов:
Основные задачи:
определение момента времени для смены выполняемого процесса
выбор процесса на выполнение из очереди готовых процессов
переключение контекстов «старого» и «нового» процессов
Цели планирования:
1) Справедливость
2) Эффективность
3) Сокращение времени выполнения
4) Сокращение времени ожидания
5) Сокращение времени пребывания
Часть ОС, которая занимается планированием процессов – планировщик, а используемые алгоритмы – алгоритмы планирования.
Алгоритмы планирования зависят от типа ВС
Категории ВС:
в пакетных системах
в интерактивных системах
в системах реального времени
Свойства:
1. предсказуемость: одно и то же задание должно выполняться приблизительно за одно и то же время
2. минимальные накладные расходы
3. сбалансированная загрузка ресурсов ВС
4. масштабируемость: алгоритмы должны сохранять работоспособность при увеличении нагрузки
