- •Кафедра автоматизації і комп’ютерних систем
- •Классификация архитектурных типов процессоров.
- •Традиционно машинный уровень.
- •Команды обращения к процедурам
- •Процедуры
- •Управление циклами
- •Представление данных
- •Управление процессами
- •Типы адресации
- •Поиск и сортировка
- •Сортировка данных
- •Межпроцессорное взаимодействие.
- •Критические области.
- •Методы синхронизации с пассивным ожиданием.
- •Решение задачи производительности потребителя с помощью мониторов.
- •Разработка систем с помощью передачи сообщений.
- •Классические проблемы межпроцессорного взаимодействия.
- •Планировщик процессов
- •Планирования в системах реального времени.
- •Организация виртуальной памяти.
- •Стратегии замещения страниц.
- •Алгоритм «2-я попытка»
- •Алгоритм «часы»
- •Алгоритм nfu (редко используемая страница)
- •Методы ускорения работы со страницами
- •Способы ассемблирования
- •Связывание программ
- •Структура объектного модуля
- •Атака системы безопасности
- •Принципы проектирования систем безопасности.
- •Аутентификация пользователей
- •Механизм защиты
- •Технические механизмы защиты
- •Защита информации при передаче
- •Основные понятия криптографии:
- •Криптографический протокол
- •Гибридные криптосистемы
- •Цифровая подпись
- •Сертификаты
- •Алгоритм des
- •Принципы аутентификации управления доступом
- •Аутентификация с использованием односторонних функций
- •Аутентификация по принципу "запрос-ответ"
- •Аутентификация управления доступом в Unix
- •Супер-пользователь Root
- •Теневые пароли
- •Поддержка возможностей в Linux.
- •Аутентификация.
- •Идентификаторы безопасности.
- •Одалживание прав.
- •Управление доступом Windows xp.
- •Аудит. Общие принципы.
- •Локальная безопасность.
- •Сетевая безопасность
Организация виртуальной памяти.
Оверлейная организация памяти достигается на стадии разработки прикладных программ за счет разбиения кода надинамически подгружаемые модули оверлей, размер которых расположен таким образом чтобы обновременно существующее ядро ОС, загрузчик оверлея и минимум 1 оверлей (*.ove). При этом подходе програмист сам задавал порядок загрузки и выгрузки оверлеев.
Повешенные требования к квалификации програмиста использующего механизм оверлеев и потенциальные ошибки потребовали другой подход при котором загрузка-выгрузка фрагментов кода осуществляет ОС.
Была предложена виртуальная память основаная на страничной организации. Страницы – это участки кода одинаковой размерности (4 кб и более). Когда при выполнении программы требуется вызов страницы которая расположена на диске возникает страничное прерывание, одна из страниц в оперативной памяти выгружается страница, а на ее место выгружается новая страница. Страницы запущенные в процессы, которые находятся на димске размещаются в файле подкачки. Поскольку все страницы имеют одинаковый размер в среднем на каждый процесс теряется обьем памяти равный половинному обьему памяти страницы. Это называется внутренней фрагментацией.
W(H, t) = W(k)
W(k)
= A(1-
)
W(k)
= A (1- e
)
Стратегии замещения страниц.
Для определения порядка и последовательности загрузки и выгрузки страниц существуют т.н. стратегии замены страниц. Для страничной организации памяти существуют специальные таблицы, они осуществляют преобразование виртуальных адресов страниц в физические операции памяти либо диска. Для ускорения многие процессоры обладают буферами быстрого преобразования адресов.
Существует также подход 2-х и более уровневые, когда при больших объемах памяти часть таблиц страниц размещается в отдельных страницах и может быть выгружено в файл подкачки.
Оптимальное замещение страниц действует следующим образом:
Во время страничного прерывания в памяти находятся рабочее множество страниц к одной из страниц обращается следующая команда процесса на другие страницы не будет ссылок в течении следующих 10-100 тыс. команд. Каждая страница помечена количеством команд которые будут выполнятся перед обращением к ней. Оптимальный алгоритм сообщает что должна быть выгружена страница с наибольшей меткой, при этом на возможно максимальный срок удаляются страничные прерывания которые выгружают страницу назад.
Недостаток: невыполнимость.
Вместо этого алгоритма используется оптимальное замещение страниц со вторым запуском. При этом используется информационное сообщение о процессах при первом запуске. При этом должно быть строго известна номенклатура, количество и порядок запуска процесса. Алгоритм оптимального замещения используется при моделировании для исследования реальных алгоритмов.
2. NRU – выгружаются неиспользуемые время страницы. Каждая страница при этом снабжена 2-мя битами (R и M). Бит R – при каждом обращении к странице, бит M – при записи. При возникновении страничного прерывания ОС обращается к биту R и M и выделяет 4 класса по комбинациям:
00 – не было обращений изменений.
01 – не было обращений но страница изменена.
10 – страница не изменена.
11 – и обращение и изменение.
Бит R ставится по системному таймеру. Бит M – только при выгрузке страницы. Загруженная страница имеет R и M нулевые.
Согласно этим классам прежде всего замещается страница класса 0, затем класса 1. В последнюю очередь класса 3. В некоторых системах класс 2 выгружается раньше, чем класс 1 т.к. выгрузка 1-го класса предполагает запись на диск выигрыш по времени.
Достоинства алгоритма: легок для реализации и достаточно надежен.
Алгоритм FIFO (*)
