Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по СПО.docx
Скачиваний:
4
Добавлен:
19.09.2019
Размер:
94.43 Кб
Скачать

21.09.2011

Список литературы:

  1. Логическое проектирование ОС. Шоу А. Изд. «Мех», 1981

  2. Системное программное обеспечение. Гордеев А.В. и Молчанов А.Ю. Изд. «Питер», 2001

  3. Структурная организация и архитектура компонентов ОС. Столлингс В. Изд. «Вильям», 2002

  4. ОС. Девис У. Изд. «Мех», 1989

  5. ОС. Дейтел Х.М. Изд. «Финансы и статистика», 1989

Предметом изучения является системное программное обеспечение. Есть прикладное и есть системное. Прикладного касаться не будем.

Большая часть СПО входит в состав ОС.

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

За всю историю развития было множество ОС. Их можно классифицировать.

Классификация по назначению ОС:

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

  2. Общего назначения. Остальные.

Классификация по режиму обработки задач:

  1. Системы с однопрограммным выполнением задач. Одна задача за раз.

  2. С многопрограммным режимом задач.

Классификация по способу взаимодействия с пользователем:

  1. Диалоговый (пакетный)

  2. Командный. Командная строка

Все ОС делятся на несколько больших групп

  1. ОС общего назначения с однопрограммным режимом работы. При этом возможен диалоговый способ общения. Такие системы называются мониторными, или мониторами. Наивысшая производительность технических устройств.

  2. ОС общего назначения, обеспечивающая командную или пакетную обработку задач в режиме мультипрограммирования. О таких можно прочитать в некоторых старых учебниках.

  3. ОС разделения времени. К ним относятся системы общего назначения с мультипрограммным режимом работы и многопользовательским интерактивным способом общения. Большинство современных ОС.

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

Основные принципы построения СПО

Эти принципы применяются как при проектировании СПО (в том числе ОС), так и при их использовании.

  1. Принцип частотности (частотный принцип)

  2. Принцип модульности

  3. Принцип функциональной избирательности

  4. Принцип настраиваемости и генерироваемости

  5. Принцип функциональной избыточности

  6. Принцип использования основных параметров по умолчанию

  7. Принцип перемещаемости (как ПО, так и кодов программ в составе различных запоминающих устройств)

  8. Принцип защиты

  9. Принцип независимости программных средств от технических устройств

  10. Принцип открытой и наращиваемой системы

Принцип разделения по частоте.

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

Для выполнения этих требований существуют различные варианты реализации:

  1. Фрагменты программы или подпрограммы, которые наиболее часто используются, постоянно размещаются в составе оперативной памяти. Такие подпрограммы – резиденты. Часть программ включают в состав ядра, а ядро почти всё находится в составе ОП

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

  3. Часто используемые операции стараются делать более короткими, то есть осуществляется дополнительное дробление на модули. Это связано с тем моментов, что почти все современные ОС функционируют с разделением времени, для операций выделяется квант времени, за которой нужно всё выполнить.

  4. Осуществление многоуровневого планирования в рамках функционирования ОС: уровень кратко срочного планирования (часто используемые) и уровень долгосрочного планирования (достаточно длительные процесс).

Принцип модульности

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

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

  1. Одноразовые (однократные) модули. Данные модули загружаются в оперативную память и при исполнении изменяют свою структуру. Для последующего исполнения необходима новая загрузка. Использование в условиях дефицита ОП.

  2. Модули многократные модули не портят свою структуру (в составе ОП) и могут исполняться повторно. Одна копия – один процесс.

  3. Реентерабельные модули или параллельно-используемые. Будучи загруженными в ОП, могут использоваться одновременно (параллельно) несколькими процессами или пользователями. Наиболее часто используется в многопрограммных и многопользовательских ОС. Для того, чтобы модуль имел рент.характер нужно при его проектировании выполнить дополнительное требование: в структуре данного модуля кодовая часть отделяется от данных (данные находят физически в другом месте). В этом случае кодовая часть всеми процессам используется параллельно, а сегмент данных создается свой для каждого процесса.

Принцип функциональной избирательности

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

28.09.2011

Лекция 2

Принцип генерации (настройки)

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

  1. Существуют специальные языки, позволяющие описывать требуемую конфигурацию.

  2. При генерации или установке используется средство диалогового взаимодействия.

  3. Используется технология, позволяющая определить автоматически конфигурацию технических средств.

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

Установка и настройка продукта под требования

Принцип функциональной избыточности

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

Принцип использования по умолчанию

Позволяет установить любому пользователю ОС самостоятельно. Используется базовые, определенные значения, устанавливаемые, если пользователь не хочет задавать собственные.

Принцип перемещаемости

Перемещаемость заключается в следующем: программный код не зависит от места в ОП, в котором он расположен. Это достигается за счет современных методов структуризации. Данный принцип заключается в определенной настройке модулей. Настройка модулей состоит в определении фактических адресов команд в момент загрузки или момент перемещения программного кода и определяется: во-первых, способом адресации в конкретной компьютерной платформе, во-вторых, используемыми алгоритмами распределения адресных пространств.

Принцип защиты

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

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

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

  3. Защита файлов. Здесь, как правило, применяется индефикация пользователя. Содержит четыре компонента: сами файлы, разрешенные варианты доступа к файлам, пользователи файлов (отдельно - владельцы файлов), непосредственно системное программное средство, которое осуществляет всю эту защиту.

Принцип независимости программы от внешних устройств

Принцип не самый яркий. Изначально он задумывался так: в рамках ОС управление любым внешним запоминающим устройством должно осуществляться однотипно, независимо от их физических характеристик. Наиболее полно и последовательно этот принцип осуществлен в UNIX.

Принцип открытой и наращиваемой ОС

Во-первых, принцип генерации позволяет настроить систему. А этот принцип позволяет расширить ОС без переустановки системы.

UNIX: написаны на Си. Поставляется не только выполняемый код, но и открытый код.

Современные Windows то же имеют специальные языки, которые позволяют в некоторых случаях изменить объекты ОС.

Понятие «процесс» в рамках ОС

Это одно из самых базовых понятий.

Процесс – это некоторая деятельность ВС, связанная с исполнением программного кода на процессоре (процессорах). Это в самом общем случае.

По ГОСТу: процесс – это система действий, реализующую определенную функцию ОС.

Процесс имеет специальную организацию, чтобы:

  1. ОС имела возможность распределять и перераспределять ресурсы

  2. ОС имеет возможность исполнять процесс таким образом, чтобы обеспечить наивысшую производительность в целом.

Процессом ОС управляет.

Различают различные стадии (состояния) процесса:

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

2.Состояние активности процесса. Исполнение действий и функций, для которых данный процесс предназначен. Исполнение программного кода на центральном процессоре.

3.Состояние ожидания означает, что для процесса не выделены требуемые ему ресурсы.

4.Состояние готовности процесса. Данное состояние характеризуется так: процессу выделены все необходимые ресурсы, кроме ресурса ЦП

5.Состояние завершения процесса. Речь идет о нормальном или аварийном завершении.

В течение жизненного цикла он может находится в разных состояниях, переходя из одно в другое. Нарисовав все состояния можно получить граф состояний процесса:

В данном случае процесс является объектом управления для ОС: ОС должна реализовать условие для каждого состояния процесса; ОС реализует переход процесса из одного состояния в другое. Как правило, эти функции осуществляет специальный блок ОС (диспетчер). Процесс неоднократно переходит в состояния, то необходимо сохранять информацию о данном состоянии процесса. Для этого в составе ОС создается один или нескольких PSB блоки – осуществляется хранение информации. Минимальный объем информации в них:

  1. Текущее состояние процесса (адрес команды, на котором завершилось исполнение или с которого нужно начать)

  2. Информация об области памяти, в которой сохранено содержимое регистров ЦП.

  3. Дополнительная информация о выделенных и выделяемых ресурсов ОС: память, устройство, время.

11.10.2011

Процесс для ОС является объектом управления. При изменении состояния процесса основная информация сохраняется.

Простейший пример диспечиризации процесса:

Disp

Начало

Если существует активный процесс

Обновление блок PSB активного процесса

Выбирается из очереди процесс в состоянии Готовности

Если существует процесс в состоянии Готовности

Перевод данного процесса в активное состояние

Выделение кванта времени Т

Передача управления данному процессу

Все если

Иначе

Приостановка работы ОС или переключение на стандартные процедуры

Все если

Конец

Обрати внимание:

  1. Перед поиском в очереди процессов в состоянии готовности обновляется блок PSB текущего активного процесса. Вдруг есть процесс в состоянии Готовности

  2. Выбор процесса в состоянии Готовности. Есть различные стратегии выбора:

    1. Простейший круговой способ. Все процессы в очереди считаются равнозначными, и очередной процесс выбирается в соответствии с FiF

    2. Метод различных приоритетов. В этом случае каждому процессу присваивается какой-то приоритет и выбирается для обработки процесс с наивысшим приоритетом. Приоритет может назначаться различными способами: заранее, от приоритета пользователя процесса, динамически.

    3. Метод временной диспечиризации . Здесь фактически выбор зависит от того, сколько он использовал тот или иной ресурс до этого.

Свойства и классификация процессов

Все процессы могут характеризоваться по различным признакам.

Классификация по времени существования:

  1. Реального времени. Жестко исполняются в течение определенного заданного времени.

  2. Интерактивные процессы

  3. Все остальные

Классификация процессов по происхождению:

  1. Порождающие. Задает некоторые требования или условия.

  2. Порожденные. Создается по данным требованиям или условиям.

Классификация результативности процесса:

  1. Различные – это все остальные, что не входят в 2-4.

  2. Эквивалентные имеют одинаковый конечный результат при обработке одних и тех же исходных данных, но при этом используются различные трассы процессов.

  3. Тождественные включают в себя требование эквивалентности, при этом работают одни и те же программные средства и в общем случае трассы тоже не совпадают.

  4. Равные отвечают требованиям тождественности, но трассы совпадают полностью. Самые жесткие требования.

В понятие «Трасса процесса» включается не только в результат процесса, но и в способы достижения данного результата. Она включает все состояния в жизни процесса.

Классификация процессов по динамическому признаку:

  1. Последовательные. Интервалы времени существования процессов не пересекаются.

  2. Параллельные. Строгое совпадение по времени моментов начала и завершения процессов.

  3. Комбинированные. Т1 и Т2 не совпадают, но есть частичное перекрытие.

Понятие по времени Т1 и Т2 – момент начала и завершения процесса.

Классификация процессов по принадлежности к ЦП:

  1. Внутренние. Процесс развивается на уровне ЦП

  2. Внешние. Развитие под контролем ОС.

Классификация по принадлежности к ОС:

  1. Системные

  2. Прикладные

Классификация по связности:

  1. Изолированные. Не поддерживают никакие варианты связей.

  2. Информационно независимые. Используют совместно некоторые ресурсы, но информационно между собой не связаны. Между ними функциональная или временная связи.

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

  4. Конкурирующие. Характеризуются взаимоисключающими требованиями к совместно используемым ресурсам.

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

Управление процессами

Как правило, управление осуществляется процессами взаимосвязанными тем или иным способами. Изолированные управления не требуют.

Управление процессами заключается в выполнении некоторых ограничений. Они влияют на порядок выполнения процессов, ну и на время и порядок пребывания их в том или ином состоянии. Ограничения – синхронизирующие правила. Их достаточно много. Простейшие:

  1. Отношение предшествования. Заключается в том, что определенные процессы всегда должны переходить в активное состояние раньше, чем какие-то другие.

  2. Отношение приоритетности. Заключается в том, что процесс с некоторым текущим приоритетом может быть переведен в активное состояние при соблюдении двух условий: в очереди процессов в состоянии Готовности нет процесса с более высоким приоритетом и ЦП либо свободен, либо занят процессом с меньшим приоритетом.

  3. Правило взаимного исключения. При использовании этого правила вводится понятие критическая область процесса – некоторый период исполнения процесса, который связан с определенным ресурсом и вовремя процесс не может быть прерван или остановлен. Если два процесса используют один и тот же ресурс, то критические области данных процессов не должны перекрываться.

19.10.2011

Ресурс

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

Классификация по реальности существования:

  1. Физический. Существует реально и при распределении между процессами обладают всеми физическими характеристиками.

  2. Виртуальный. Некоторая модель физического ресурса, как правило, реально он не существует, но при этом обладает свойствами, присущими реальному ресурсу.

Большая часть физических ресурсов подвергается виртуализации. Концепция виртуализации – одна из основополагающих современности.

Классификация по возможности расширения своих свойств:

  1. Жесткий ресурс

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

Классификация по степени активности:

  1. Ресурс может влиять на развитие определенных процессов – активный ресурс.

  2. Пассивный

Классификация по времени существования:

  1. Постоянные

  2. Временные. Например: любая внешняя флеш-память

Классификация по степени важности:

  1. Главные. Без главного ресурса процесс не может продолжить исполнение.

  2. Второстепенные могут быть чем-то заменены.

Классификация по характеру использования:

  1. Параллельно используемые ресурсы (использование памяти)

  2. Последовательно используемые ресурсы (процессор, печатающее устройство)

Основные дисциплины распределения ресурсов СПО

Как правило, решение проблемы многозадачности и мультипрограммирования связано с различными вариантами обработки очередей запросов или процессов. Даже основный ресурс (ЦП) предоставляется по очереди. Использование несколькими процессами одного и того же ресурса осуществляется с помощью дисциплин распределения ресурсов. В основе этих дисциплин находится два понятия:

  1. Совокупность правил по размещению процессов в очередях.

  2. Совокупность по выбору процессов из очередей.

Базовые дисциплины распределения ресурсов со статическими и динамическими приоритетами.

Дисциплина распределения ресурсов в порядке поступления FIFO – работа с обычной очередью.

Дисциплина LIFO – стековая обработка данных.

Общее для этих дисциплин:

  1. Простота реализации и обработки данных.

  2. Среднее время обслуживания является постоянным, если темп поступления новых запросов и темп обслуживания запросов является установившимся

  3. Дисциплина FIFO обеспечивает меньшую дисперсию (разброс) времени обслуживания.

  4. Общая производительность низкая

Круговой циклический алгоритм обслуживания запросов

Основан на FIFO.

Здесь рисунок (….)

Описание: В данной дисциплине ресурс для облуживания запроса выделяется на определенный квант времени. Если за выделенный период запрос завершен, запрос покидает данную очередь. Если не завершился – то данный запрос заново помещается в конец очереди.

Данная дисциплина является основой для выделения ресурсов ЦП в режиме разделения времени. Простейший вариант реализации многозадачности вычислительной системы.

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

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

Много очередная дисциплина обслуживания процессов с равным/одинаковыми приоритетами.

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

Опять же занимательный рисунок.

Описание: Создается N очередь. Правило работы: новый запрос в эти структуры поступает всегда в очередь с наименьшим номером. На обслуживание процесс выбирается по следующему правилу:

  1. Всегда выбирается процесс из очереди с наименьшим номером, если эта очередь не пустая. Из последней очереди процессы извлекаются в последнюю очередь

  2. Ресурс выделяется на определенное время. Если за данное время процесс завершился, он покидает структуру. Если по истечению кванта процессу требуется продолжение обработки, процесс возвращается в системы очередей, но очередь выбирается с номером на единицу больше, чем та, из которой был извлечен процесс.

Здесь более высокая степень благоприятствования коротким процессам, чем длинным. Несмотря на отсутствие приоритетов, здесь происходит ранжирование по длине процессов.

Недостатки: Увеличение накладных расходов на реализацию данной дисциплины. Здесь больше затрат и на реализацию очередей, дополнительные затраты на анализ размещения недообслуженных процессов. Но эти накладные затраты меньше, чем выигрыши.

Много очередная дисциплина обслуживания процессов с учетом их приоритетов

Занимательный рисунок

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

  1. Процесс выбирается в первую очередь из непустой очереди с наивысшим приоритетом.

  2. Далее выбирается процесс с наивысшим приоритетом.

Правило распределения незавершенных процессов: незавершенный процесс размещается в очереди с номером на 1 больше, чем исходная очередь.

Наибольшая эффективность ВС по сравнению с предыдущими.

Все процессы подвергаются ещё большему ранжированию по степени благоприятствованию их исполнения. Предпочитаемые больше всех: короткие с наивысшим приоритетом.

Недостаток: ещё больше накладных затрат.

Заключение: Дисциплины могут учитывать статические и динамические приоритеты. При работе со статическими приоритетами при поступлении нового запроса в очередь с более высоким приоритетом процесс обслуживания в квант времени не прерывается.

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

26.10.2011

Схема структуризации адресного пространства

При работе с разными адресными пространствами (как с физическими, так и с виртуальными) применяются разные способы структуризации. Каждый вариант структуризации связан с применяемой платформой. Две основные группы структуризации:

  1. Схема страничной структуризации – самый простой и самый известный.

  2. Схемы сегментной структуризации

Схема структуризации страницами фиксированной длины.

Всегда существуют два пространства: исходное адресное пространство AП и структурированное AП. Мы будем рассматривать переходы.

Предполагается, что исходное АП представляется собой последовательность чисел, которая является адресом хранимой информации 0≤А≤n-1.

Можно выделить два этапа структуризации:

  1. Все адреса группируются по определенному принципу страницами с постоянным размером. Количество адресов в одной странице L. Предполагается, что размер всего пространства всегда кратен 2. Общий размер N=2n. Размер страницы L=2m адресов. В этом случае общее количество страниц будет 2n-m адресов. Группировка осуществляется последовательно от начала адресного пространства. В каждой странице присваивается номер, начиная с нуля. Поэтому номера страниц находятся в диапазоне 0-2n-m-1. В результате такой группировки появляется новое адресное пространство. Оно представляется собой последовательность из чисел от нуля до максимума страниц. Существует соответствие между исходным и структурированном АП. В исходном Akt=k*L. Для двоичного представления в исходном АП необходимо поле длиной m-двоичных адресов.

В младших m разрядах нули

  1. Осуществляется перенумерация адресов внутри каждой страницы. Адреса имеют значения 0-2m-1. Эти адреса внутри страниц называются смещением. В результате такой простейшей структуризации появляется двухмерное АП, которое определяется двумя координатами: номером страницы и смещением.

  1. 0000

1 0100

2 1000

3 1100

Изображение двоичного адреса ИАП представляется состоящим из двух полей. Младшие m разрядов – смещение, старшие n-m разрядов трактуется как номера страниц.

Обратное преобразование есть только в этом способе структуризации. По формуле A=k*L+R (R-смещение, k –номер страницы, L-количество адресов)

Не используется, так как присутствие операция умножения.

Используется другой механизм. Во-первых, двоичное отображение номера страницы k размещается в старших n-m разрядах. Соответственно двоичное изображение смещения размещается в младших разрядах. В результате в полном объеме двоичное отображение адреса в ИАП. Такая операция – контетинация двух адресов.

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

Первое адресное пространство по тем же правилам, что и в первом случае.

Другие ограничения на размеры страницы. Размер страницы может изменяется, то есть каждая страница 1≤l≤L. При этом верхняя граница диапазона L=2m<n.

На первом этапе структуризации: адреса из ИАП группируются в страницы, при этом страницы имеют различный размер.

На втором этапе: перенумерация адресов внутри страницы. Поскольку в данном случае адреса страниц не будут кратны двум, нумерация страниц не имеет смысла. Вместо номеров каждой страницы присваиваются уникальные имена (и цифры, и буквы). При этом в каждой странице в соответствие ставится базовый адрес, то есть адрес начала страницы в исходном адресном пространстве. Как и в предыдущем случаем, получаем двухмерное адресное пространство, но это АП характеризуется другими показателями А= (БА,R). Реальный исходный адрес А = БАi+R. Прямого преобразования не существует.

02112011

Занимательный рисунок, который мне лень рисовать, ибо задолбало Соне учиться как следует.

В данном варианте структуризации нет однозначного соответствия между исходных и структурированным пространствами. Единственный корректный переход возможен от структурированного пространства к исходному A=БАi+R. Обратный переход возможен только в момент структуризации исходного адресного пространства.

Сегментная структуризация адресного пространства

Развитие предыдущего способа. Осуществляется в два этапа.

1<=l<=N

На первом этапе ИАП группируется в сегменты. Каждый сегмент может содержать различное количество адресов. Каждый сегмент получает уникальное имя или номер, который в дальнейшем не изменяется. На втором этапе структуризации каждому имени S сегмента ставится в соответствии базовый адрес сегмента As0. В этом случае мы получаем двух координатное пространство. Внутри сегмента происходит перенумерация от нуля. Получаем трех мерное адресное пространство (S, As0, R).

Следующий занимательный рисунок, который я не буду чертить (Этим занимается Таня).

Как и в предыдущем случае, здесь возможен переход только от структурированного пространства к исходному. При этом может использовать три координаты: БА сегмента, имя сегмента, смещение внутри сегмента. Именно три, что придать динамику способу.

A = As0+R. На самом деле хранится в памяти только две координаты – это имя сегмента и смещение. Для чего нужно? Потому что при сегментной структуризации адресного пространства БА сегмента может назначаться динамически. Для реализации адресации – присвоение БА. Под сегмент при загрузке выделяется непрерывное адресное пространство.

Сегментно-страничная схема структуризации

Она по своей структуре использует все подходы, кроме страниц е длины. Это комбинированный способ структуризации. Осуществляется в несколько этапов.

На первом этапе всё адресное пространство делится на страницы фиксированной длины. Каждый сегмент рассматривается как некоторое непрерывное пространство, состоящее из нескольких страниц. Каждый сегмент имеет уникальный индификатор. В пределах сегмента страницы перенумеровываются, начиная от нуля. Таким образом, АП задается четырьмя координатами (S, As0 (по номеру сегмента), R’ (смещение в пределах сегмента), R (смещение внутри страницы)).

Переход от структурированного пространства к непрерывному. Несколько этапов:

Операция соответствия (S=As0), далее база +смещение (As0 - БА сегмента в адресном пространстве) AR=As0+R’*L (размер страниц). Последний шаг +R.

Занимательный рисунок

Этот вариант структуризации наиболее продвинутый и позволяет работать с объектами и модулями разной длины.

Логическая организация виртуального пространства

Структура оверлей – первый шаг к структуризации адресного пространства.

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

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

Аспекты:

  1. Задачи, которые решает ВАП

    • Размещение данных на запоминающих устройствах различного типа

    • Перемещение данных по мере необходимости между оперативной памятью и запоминающим устройством

    • Преобразование адресов (из виртуальных в физические и обратно)

  2. Системные требования к реализации ВАП

    • Увеличение степени использования ОП при параллельном развитии нескольких процессов

    • ВАП и ОП должны быть организованы таким образом, чтобы обеспечить минимальное время задержек при обращении к данным

    • Обеспечение максимального количества параллельно развивающихся процессов. При этом необходимо обеспечить минимальное количество конфликтных ситуаций

  3. Механизм реализации системных требований (которые даны выше)

    • Создаются условия для подготовки вызова кванта (порции) информации, вероятность которого в данный момент является наиболее высокой

    • Квант, который требуется для вызова, должен быть перемещен в ОП непосредственно перед его использованием

    • При реализации виртуальной памяти предусматривается возможность непрерывного переразмещения информации как внутри физической АП, так и в ВАП

    • Предполагается возможность размещения больших непрерывных массивов информации в различных областях ОП

Два уровня размещения информации:

  1. ОП

  2. Внешние запоминающие устройства (архивная среда)

23112011

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

Каждый процесс или программа использует собственное адресное пространство. Виртуальный адрес в пределах ВАП определяется двумя характеристиками: S’ – номер или имя сегмента, R- смещение внутри сегмента.

Процесс или программа в ВАП подвергается сегментной структуризации, при этом несколько частей или подпрограмм, которые имеют функциональные связи с другими частями или сегментами. Каждая часть адресуется в пределах соответствующего сегмента. Предполагается, что сегмент не может превышать размера оперативной памяти.

Адресное пространство ОП так же предполагается структурировать сегментами. Исполнение процессов состоит из двух этапов или частей:

  1. Размещение процесса в виртуальном адресном пространстве. При этом получается единое адресное пространство для процесса, состоящее из нескольких сегментов. Общее пространство или размер является суммой размеров каждого сегмента. Сегмент погружается в ВОП.

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

Данным механизм функционирования ВП обладает очевидными преимуществами:

  1. Данный подход позволяет разрабатывать программные средства на основе модульного и объектно-ориентрованного подхода.

  2. Каждый процесс может разрабатывать независимо в собственном адресном пространстве виртуального сегмента.

  3. Связывание модулей или сегментов осуществляется динамически в период исполнения.

В целом этот механизм повышает общую производительность ВС и увеличивает степень параллельного исполнения нескольких процессов.

Сегментно-страничная схема функционирования ВП и ОП

Как и в предыдущем случае, программа создается в сегментной схеме структуризации. Но при размещении в ВАП каждый сегмент подвергается дополнительной структуризации (страницы фиксированной длины L=2m). Каждому сегменту отводится целое число смежных страниц.

Адресное пространство ОП подвергается структуризации фиксированными страницами. Размер виртуальной и физической страниц совпадает. Как происходит исполнение?

На первом шаге, выбирается сегмент, который должен первым исполняться. Сегмент определяется, но в память не загружается. Внутри этого сегмента выделяется первая страница, которая должна исполняться. И эта страница переносится в свободную область ОП.

Положительные моменты:

  1. Соблюдение принципов ООП

  2. Снимается ограничение на размер виртуального сегмента.

  3. Повышение эффективности использования физической памяти и увеличивается пропускная способность ВС в целом.

Основные схемы функционирования ВАП

  1. Чисто страничная схема организации ВАП

  2. Схема «страничная по требованию»

  3. Сегментная схема

  4. Сегментно-страничная