
- •Реализация потоков в простренстве пользователя
- •Реализация потоков в ядре:
- •Строгое чередование
- •Примитивный межпроцессного взаимодействия
- •Планирование
- •Алгоритм - наименьшее время выполнения .
- •Планирование в интерактивных системах.
- •Управление памятью.
- •Подкачка.
- •Управление памятью с помощью видовых массивов.
- •Управление памятью с помощью связанных списков.
- •Виртуальная память.
- •Функционирование менеджера памяти.
- •Прямой доступ к памяти
Планирование
когда компьютер работает в многозадачном режиме на нем могут быть активными несколько процессов пытающихся одновременно получить доступ к процессору. Эта ситуация возникает при наличии 2х и более процессов в состоянии готовности. Если доступен только 1 процессор необходимо выбирать между процессами, часть ос отвечающая за это называется планировщиком а используемый алгоритм - аглоритмом планирования.
Алгоритм планировани: первым пришел - первым обсдужили. Приемущества: понятно и легко реализуемо. Недостаток: малая реалистичность, нигде не используется. Относится к бесприоритетным аглоритмам.
Алгоритм - Кротчайшая задача - первая. Достоинства: малое время обработки коротких задач. Схема работает лишь в случае одновременного наличия задач.
Алгоритм - наименьшее время выполнения .
Трехуровневое планирование. По мере поступления в систему новые задачи сначало помещаются в очередь хранящуюся на диске. Пусковой планировщик выбирает задачу и передает ее системе. Осальные задания остаются в очереди. Характерным алгоритмом входного контроля может заключаться в выборе смеси из процессов ограниченных возможностями процессора и процессов ограниченными возможностями устройств ввода-вывода. Спускной планировщик волен поддержать задания в очереди, и пропустить задания позже остальных. Планировщик памяти занят определением того какие процессы можно хранить в памяти а какие на диске. Колличество процессо одновременно находящихся в памяти называется степенью многозадачности.
Планирование в интерактивных системах.
Циклическое планирование:
эффективность данного алгоритма зависит от длины кванта или времени квантавания. В большинстве систем время кванта 20-40 мс.
Раритетное планирование: все процессы равнозначны.
Гарантированное планирование. Если вместе с вами пользуется н пользователей то вам будет предоставлено 1\н мощности. В системе с р процессорами каждому 1\н циклов процессора.
Латерея в основе алгоритма раздача латереи на доступ к процессу.
Справедливое планирование: система обращает внимание на хозяина процесса. Планирование в сисемах реального времени.
Системы реального времени делятся на: жесткие системы реального времени - наличие жестких сроков выполнения для каждой задачи и гибкие сисемы - в которых нарушение временного графика нежелательно но допустимо. В обоих случаях разделение программы на несколько процессов каждый из которых предсказуем. Внешние события можно разделить на переодические - предсказуемые и непереодические, т.е. Непредсказуемые.
Управление памятью.
Часть ос отвечающая за управление памятью называется менеджеом памяти. Он следит за исп памятью а также раздачей и освобождением ресурсов. Менеджеры памяти делятся на 2 класса:
1) перемещают процессы между озу и жд. Разделяются на 2 подкласса:
а)перемещают процесссы целеком. Swapping
б) используют страничную подкачку.
2) не перемещают процессы между озу и жд. Используется в однозадачных системах.
Многозадачность с фиксированными разделами.
#
недостатки: в системе намного больше системных процессов и они требуют выполнения.
Настройка адресов и защита:
при многозадачности возникают 2 проблемы:
1) настройка адресов для перемещения программы в памяти. Варианты решения: модификация программ во время загрузки модификации программ в памяти. Т.е. к каждому адресу прибавляется некоторый базовый адрес. Чтобы выполнить подобную настройку в двоичный код должен быть включен список слов, которые являются адресами данными либо машинными кодами команд. Такой подход не решает проблему защиты. Программа в процессе работы может создать новую команду обащающуюся к любому слову в памяти и перескочить на нее. Для решения данной проблемы компания IBM приняла решение: память разделена на блоки по 2кб каждый и каждому блоку присвоен защитный код.program status word Аппаратура перехватывает все обращения к памяти если защитный код отличался от слова состояния программы. Другое решение сразу 2х проблем заключается в оснащении машины двумя аппаратными регистрами. Базовым и предельным. Каждому автоматически генерируемому адресу добавляется содержимое базового регистра и сравнивается с предельным регистром. Недостаток схемы состоит в выполнении операций сложения при каждом выполнении памяти.
2) защита ячеек.