Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Full_OS (1).doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
6.1 Mб
Скачать

Билет 9

  1. Архитектуры операционных систем. Принципы разработки архитектур ОС. Достоинства и недостатки различных архитектур.

  2. Страничная организация памяти. Выбор размера страниц. Управление страничным обменом. Алгоритмы замены страниц.

  1. Архитектуры операционных систем. Принципы разработки архитектур ос. Достоинства и недостатки различных архитектур.

Модульно – интерфейсный подход (структурный подход)

1. Декомпозиция системы на на модули по структурному или функциональному признаку.

2. Модули и их взаимные связи образуют абстракцию системы высокого уровня.

3. Описывается каждый модуль и определяется его интерфейс.

4. Проводится декомпозиция каждого модуля и т. д.

Спецификации модулей и их интерфейсов дают структурную основу для проектирования каждого модуля и всей системы в целом.

Многослойная (иерархическая) структура операционной системы и метод проектирования «сверху вниз» и «снизу вверх»

  1. Операционная система представляется в виде иерархии слоев.

  2. Верхний слой определяет виртуальную машину с желаемыми свойствами.

  3. Каждый следующий слой детализирует вышележащий, выполняя для него некоторый набор функций.

  4. Межслойные интерфейсы подчиняются строгим правилам. Связи внутри слоя могут быть произвольными.

  5. Отдельный модуль слоя может обратиться только к нижележащему уровню.

Достоинства:

1. Между уровнями можно организовать четкий интерфейс.

2. Систему можно спроектировать методом «сверху вниз», а реализовать методом «снизу вверх».

3. Уровни реализуются в соответствии с их порядком, начиная с аппаратуры и далее вверх.

4. Каждую новую виртуальную машину можно детально проверить, после чего продолжать дальнейшую работу.

5. Любой слой достаточно просто модифицировать, не затрагивая другие слои и не меняя межслойные интерфейсы.

Недостатки иерархической организации ОС:

1. Значительные изменения одного из уровней могут иметь трудно предвидимое влияние на смежные уровни.

2. Многочисленные взаимодействия между соседними уровнями усложняют обеспечение безопасности.

Суть микроядерной архитектуры состоит в следующем. В привилегированном режиме остается работать только очень небольшая часть ОС, называемая микроядром. Микроядро защищено от остальных частей ОС и приложений. В состав микроядра обычно входят машинно-зависимые модули, а также модули, выполняющие базовые функции ядра по управлению процессами, обработке прерываний, управлению виртуальной памятью, пересылке сообщений и управлению устройствами ввода-вывода, связанные с загрузкой или чтением регистров устройств.

Достоинства микроядерной структуры:

  1. переносимость

  2. расширяемость

  3. надежность

  4. хорошие предпосылки для поддержки распределенных приложений.

За эти достоинства приходится платить снижением производительности, и это является основным недостатком микроядерной архитектуры.

  1. Страничная организация памяти. Выбор размера страниц. Управление страничным обменом. Алгоритмы замены страниц.

При использовании виртуальной памяти каждому процессу выделяется определенное виртуальное адресное пространство. Это пространство делится на части фиксированного размера - виртуальные страницы. Вся оперативная память машины также делится на части такого же размера –физические страницы.

Размер страниц выбирается кратным степени двойки. Обычно -4Кб.

Так как большинство современных машин – 32 разрядные, то они могу адресовать 4Гб. данных (максимальный размер виртуальной памяти). На адрес страницы уходит 4Гб/4Кб=220 – 20 бит. Другие 12 бит идут на смещение внутри страницы (4Кб=212байт)

При создании процесса ОС загружает в оперативку(физическую память) несколько его виртуальных страниц и для каждого процесса создается таблица страниц – структура, содержащая записи обо всех виртуальных страницах процесса. Запись включает физический адрес страницы, в которую загружена данная виртуальная страница и несколько признаков (признак присутствия страницы в физ.памяти, признаки модификации и доступа).

Когда процессу нужны данные он обращается по виртуальному адресу. Система смотрит в таблицу страниц: если страница с таким виртуальным адресом находится в физической памяти, то необходимые данные предоставляются процессу. Если данная страница выгружена на жесткий диск, то происходит страничное прерывание:

  • процессор приостанавливает данный процесс и переходит к следующему

  • Если в памяти нет свободного места – из нее выгружается страницы, которые вероятно в ближайшее время не будут использоваться.

  • На свободное место загружаются необходимые страницы с жесткого диска.

  • Процессор возобновляет выполнение процесса

Существуют несколько алгоритмов для определения того, какие страницы в ближайшее время не будут востребованы и могут быть выгружены на жесткий диск.

Алгоритмы замены страниц:

  • Оптимальный алгоритм - выгружается та страница, которую дольше всего не придется загружать.

  • Алгоритм наименее часто использовавшихся.

  • Алгоритм дольше всех не использовавшихся.

  • Алгоритм first in – first out. Выгружается страница, находящаяся в памяти дольше других.

  • Часовой алгоритм. Маркер проходит по очереди по всем страницам и если они не использовались в последнее время (признак доступа=0) – замещает их. А если этот признак = 1, то алгоритм меняет его на 0, чтобы при проходе по кругу всех страниц (если у всех он =1) он хотя бы на 2-ом круге нашел страницу для замещения

Кроме непосредственно запрошенной страницы могут быть загружены и соседние, т.к. вероятность того, что будут запрошены и они - высокая

Задача

Имеется многозадачный компьютер, в котором каждое задание имеет идентичные характеристики. В течение цикла вычисления одного задания Т половину времени занимает ввод-вывод, а вторую половину – работа процессора. Для выполнения каждого задания требуется N циклов. Для планирования используется простой алгоритм циклического обслуживания, а ввод-вывод выполняется одновременно с работой процессора.

Определить значения следующих величин:

  1. Реальное время , затрачиваемое на выполнение задания.

  2. Доля времени, в течение которого процессор активен (не находится в режиме ожидания).

  3. Эти значения требуется вычислить для одного, двух и трех одновременно выполняющихся заданий, считая, что время цикла Т распределяется следующим способом: в течении первой половины периода выполняется ввод-вывод, а в течении второй – работа процессора.

Решение

В се довольно просто. Рисуются диаграммы следующего вида и по ним все считается. Принцип следующий: пока один процесс вычисляется, другой осуществляет ввод/вывод. Все можно посчитать в уме:

Одно задание

T*N

1

50%

Два задания

3/2*T*N

2

Стремиться к 100%

Четыре задания

5/2*T*N

3

Стремиться к 100%

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]