- •Функции и механизмы программ-диспетчеров, предшественников операционных систем.
- •Функции и механизмы мультипрограммных операционных систем.
- •Функции и механизмы сетевых и мобильных операционных систем.
- •Задачи и механизмы организации интерфейса между пользовательскими приложениями и аппаратным обеспечением вычислительной системы.
- •Методы организации эффективного использования ресурсов компьютера. Критерии эффективности. Управление ресурсами.
- •Принципы управления процессами, памятью, файлами.
- •Принципы разработки архитектуры современной операционной системы.
- •Виды архитектур ядер операционных систем.
- •Монолитная архитектура ядра операционной системы.
- •Многослойная архитектура ядра операционной системы.
- •Микроядерная архитектура операционной системы.
- •Понятие процесса, потока, нити, задания.
- •Функции подсистемы управления процессами.
- •1. К созданию процесса приводят пять основных событий:
- •Методы создания процессов.
- •Модель жизненного цикла процесса.
- •Виды планирования и их место в жизненном цикле процесса.
- •Алгоритмы планирования процессов
- •Вытесняющие и невытесняющие алгоритмы планирования
- •Критерии эффективности и свойства методов планирования процессов, параметры планирования процессов. Критерии планирования и требования к алгоритмам
- •Параметры планирования
- •Дисциплины обслуживания без внешнего управления приоритетами (fcfs, rr, sjf), гарантированное планирование. First-Come, First-Served (fcfs)
- •Round Robin (rr)
- •Shortest-Job-First (sjf)
- •Гарантированное планирование
- •Приоритетное планирование с внешним управлением приоритетами, многоуровневые очереди. Приоритетное планирование
- •Многоуровневые очереди (Multilevel Queue)
- •3.5.7. Многоуровневые очереди с обратной связью (Multilevel Feedback Queue)
- •Организация планирования процессов в Microsoft Windows Vista и gnu/Linux.
- •Проблемы взаимодействующих процессов.
- •Алгоритмы реализации взаимоисключений. Требования, предъявляемые к алгоритмам
- •5.3.4. Строгое чередование
- •5.3.5. Флаги готовности
- •5.3.6. Алгоритм Петерсона
- •Семафоры Дейкстра. Решение проблемы «производитель-потребитель» с помощью семафоров. Семафоры
- •Концепция семафоров
- •Решение проблемы producer-consumer с помощью семафоров
- •Тупики. Условия возникновения и направления борьбы с тупиками.
- •Условия возникновения тупиков
- •Основные направления борьбы с тупиками
- •Игнорирование проблемы тупиков
- •Обнаружение тупиков
- •Восстановление после тупиков
- •Принципы управления памятью вычислительной системы. Виртуальная память и преобразование адресов.
- •Концепция виртуальной памяти
- •Методы распределения оперативной памяти без использования внешней памяти.
- •Распределение памяти фиксированными разделами
- •Распределение памяти разделами переменной величины
- •Перемещаемые разделы
- •Страничная организация виртуальной памяти.
- •Методы выделения дискового пространства и записи последовательности блоков данных: непрерывная последовательность блоков, связный список, таблица размещения файлов.
- •Связный список
- •Методы выделения дискового пространства и записи последовательности блоков данных: индексные дескрипторы.
Методы создания процессов.
Создать процесс – это, прежде всего, создать описатель процесса: несколько информационных структур, содержащих все сведения (атрибуты) о процессе, необходимые операционной системе для управления им. В число таких сведений могут входить: идентификатор процесса, данные о расположении в памяти исполняемого модуля, степень привилегированности процесса (приоритет и права доступа) и т.п.
Традиционно операционная система создает все процессы незаметно для пользователя или приложения; такой способ принят во многих современных операционных системах. Однако иногда требуется, чтобы один процесс мог послужить причиной создания другого процесса. Например, процесс приложения может сгенерировать другой процесс, который будет получать данные от первого процесса и приводить их к виду, удобному для дальнейшего анализа. Новый процесс будет работать параллельно с приложением и время от времени активизироваться для получения новых данных. Такая организация может быть очень полезна для структурирования приложений. В качестве другого примера можно привести ситуацию, в которой процесс-сервер (например, сервер печати или файловый сервер) может генерировать новый процесс для каждого обрабатываемого им запроса. Создание операционной системой процесса по явному запросу другого процесса называется порождением процесса (process spawning).
Когда один процесс порождает другой, то порождающий процесс называется родительским, или предком (parent), а порождаемый процесс — дочерним, или потомком (child). Обычно "родственные" процессы обмениваются между собой информацией и взаимодействуют друг с другом. Организация такого взаимодействия является достаточно трудной задачей для программиста.
ИЗ ЛЕКЦИЙ:
Создание процесса – создание структуры данных в памяти (PCB). Любой процесс порождается другим существующим процессом (идеология ОС). Первый процесс порождается ядром ОС, остальные порождаются от этого процесса.
В Windows нет иерархии процессов (у всех процессов один единственный родитель, остальные процессы обращаются с просьбой породить новый процесс). В этой ситуации родительский процесс управляет всеми процессами и несет за них ответственность (освобождение памяти при аварийном завершении программы и т.д.). В PCB хранится только уникальный номер процесса PID.
В Linux используется иерархия процессов. Родитель всех процессов - процесс init с PID =1. Процесс-потомок посылает информацию по завершению работы и контроль осуществляет процесс-родитель. Процессы-потомки не могут иметь большие права, чем права у процесса-родителя. Если процесс-родитель аварийно завершился, то процесс-наследник усыновляется либо процессом-родителем, вышестоящим по иерархии, либо процессом init.
Зомби процесс – процесс, который никогда не выполнится и удалить его крайне невозможно.
В PCB хранится PID, PPID, UID, которые характеризует процесс (идентификация процесса).
Еще одно отличие Windows и Linux заключается в том, что в Linux процессы размножаются клонированием, в Windows е создается с чистого листа.
Так же в PCB хранится статус процесса (status word). С точки зрения ОС нельзя попытаться родить процесса с одинаковым статусом. Данные о ресурсах, история (статистика) процесса - сколько процесс потреблял процессорного времени, сколько ожидал процессорное время - данные для планировщиков