
- •Понятие вычислительной системы(вс) и ее составные части.
- •Основные принципы организации современных вс.
- •Архитектура эвм. Основные виды архитектуры эвм
- •Ос: назначение, состав, классификация.
- •Ос как виртуальная машина.
- •Ос как система управления ресурсами.
- •Функциональные компоненты ос. Управление процессами.
- •Функциональные компоненты ос. Управление памятью.
- •Функциональные компоненты ос. Управление файлами и внешними устройствами.
- •Функциональные компоненты ос. Защита данных и администрирование.
- •Функциональные компоненты ос. Интерфейс прикладного программирования.
- •Требования к современным ос.
- •Архитектура ос. Макроядерные ос. Ядро и слои ядра.
- •Микроядерная архитектура ос.
- •Понятие вычислительного процесса. Диаграмма состояния процесса.
- •Понятие ресурса в вс, виды ресурсов, методы учета.
- •Методы учета ресурсов. Параметрический метод.
- •Методы учета ресурсов. Метод связных списков и использование его для управления оп.
- •Методы учета ресурсов. Метод двоичных шкал и использование его для управления оп.
- •Методы учета ресурсов. Табличный метод.
- •Методы управления ресурсами и их особенности.
- •Понятия задачи, процесса, потока в вс. Управление процессами и потоками.
- •Способы организации многозадачных ос
- •24.. Дисциплины диспетчеризации.
- •27. Пакетные файлы ms-dos. Команды передачи управления в пакетных файлах.
- •28. Пакетные файлы ms-dos. Параметры и их использование в пакетных файлах.
- •29. Организация диалога с пользователем в пакетных файлах.
- •30. Мультиконфигурационные возможности ms-doc (многовариантность загрузки)
- •31. Проблема критической секции, ее решение по Дейкстра.
- •32. Семафоры и семафорные примитивы. Их использование для решения проблемы критической секции.
- •33. Семафоры и семафорные примитивы. Использование семафоров для синхронизации процессов.
- •43. Физическая и математическая память. Способы организации математической памяти. Сегментно-страничное распределение памяти.
- •34. Семафоры и семафорные примитивы. Задача «поставщик-потребитель».
- •44. Физическая и математическая память. Способы организации математической памяти. Страничное распределение памяти.
- •35. Семафоры и семафорные примитивы. Задача «писателей-читателей» с приоритетом писателей.
- •36. Семафоры и семафорные примитивы. Задача «писателей-читателей» с приоритетом читателей.
- •37. Функции ос по управлению памятью
- •38. Распределение памяти фиксированными разделами.
- •39. Типы адресов. Понятие виртуального адресного пространства
- •40. Распределение памяти динамическими разделами.
- •41. Особенности использования перемещаемых разделов при управлении оперативной памятью.
- •42. Физическая и математическая память. Способы организации математической памяти. Сегментное распределение памяти.
- •45. Преобразование виртуального адреса в физический при 2-уровневой организации адресного пространства.
- •47. Схема выполнения запросов с системах с кэш-памятью.
- •Способы защиты оперативной памяти. Защита по ключам:
- •1.Понятие вычислительной системы(вс) и ее составные части.
- •2.Основные принципы организации современных вс.
- •3.Архитектура эвм. Основные виды архитектуры эвм
42. Физическая и математическая память. Способы организации математической памяти. Сегментное распределение памяти.
В современных вычислительных системах для облегчения сегментации программ и данных используется понятие математической памяти. Математическая память, иначе называемая виртуальной памятью, есть фиктивная память, диапазон адресов которой может превосходить объем физической оперативной памяти. Математическая память делится на страницы, являющиеся, по существу, сегментами .
Виртуальным называется ресурс, который пользователь или пользовательской программе представляется средствами, которые в реальной действительности виртуальность не обладает. В случае с виртуальной памятью система, обладающая ограниченной физической оперативной памятью, представляется системой с огромной математической оперативной памятью. Виртуализация памяти может быть осуществлена на основе 2-х различных подходов:
свопинг;
виртуальная память.
В первом случае образ процесса выгружается на диск целиком, во втором – выгружается часть образа процесса.
Виртуальная память может быть представлена 3 способами:
страничная: перемещение данных организовывается страницами фиксированного (небольшого) размера (1Kb, 4 Kb);
сегментная: данные перемещаются сегментами, т. е. участками виртуального адресного пространства произвольного размера. Участки выделяются с учетом смыслового значения данных (массивы, структуры, строки загружаются и выгружаются целиком)
сегментно-страничная: используется двухуровневое деление памяти: сначала все адреса пространства делятся на сегменты, а потом каждый сегмент делится на страницы. Единица перемещения – страница.
При сегментном распределении памяти для преобразования виртуального адреса процесса в физический строится таблица сегментов (для каждого процесса). В этой таблице указывается:
базовый физический адрес сегмента в оперативной памяти,
размер сегмента,
правила доступа к сегменту,
признаки модификации, обращения, присутствия.
Для этого метода программу необходимо разбивать на части и уже каждой такой части выделять физическую память. Естественным способом разбиения программы на части является разбиение ее на логические элементы — так называемые сегменты. В принципе, каждый программный модуль (или их совокупность, если мы того пожелаем) может быть воспринят как отдельный сегмент, и вся программа тогда будет представлять собой множество сегментов. Каждый сегмент размещается в памяти как до определенной степени самостоятельная единица. Логически обращение к элементам программы в этом случае будет состоять из имени сегмента и смещения
относительно начала этого сегмента. Физически имя (или порядковый номер) сегмента будет соответствовать некоторому адресу, с которого этот сегмент начинается при его размещении в памяти, и смещение должно прибавляться к этому базовому адресу. Преобразование имени сегмента в его порядковый номер осуществит система программирования. Для каждого сегмента система программирования указывает его объем. Он должен быть известен операционной системе, чтобы она могла выделять ему необходимый объем памяти. Операционная система будет размещать сегменты в памяти и для каждого сегмента она должна вести учет о местонахождении этого сегмента. Вся информация о текущем размещении сегментов задачи в памяти обычно сводится в таблицу сегментов, чаще такую таблицу называют таблицей
дескрипторов сегментов задачи. Каждая задача имеет свою таблицу сегментов. Достаточно часто эти таблицы называют таблицами дескрипторов сегментов, поскольку по своей сути элемент таблицы описывает расположение сегмента. Таким образом, виртуальный адрес для этого способа будет состоять из двух полей — номера сегмента и смещения относительно начала сегмента. Итак, каждый сегмент, размещаемый в памяти, имеет соответствующую информационную структуру, часто называемую дескриптором сегмента. Именно операционная система строит для каждого исполняемого процесса соответствующую таблицу дескрипторов сегментов, и при размещении каждого из сегментов в оперативной или внешней памяти отмечает в дескрипторе текущее местоположение сегмента. Если сегмент задачи в данный момент находится в оперативной памяти, то об этом Делается пометка в дескрипторе. Как правило, для этого используется бит присутствия Р (от слова ≪present≫). В этом случае в поле адреса диспетчер памяти записывает адрес физической памяти, с которого сегмент начинается, а в поле длины сегмента (limit) указывается количество адресуемых ячеек памяти. Это поле используется не только для того, чтобы размещать сегменты без наложения друг на друга, но и для того, чтобы контролировать, не обращается ли код исполняющейся задачи за пределы текущего сегмента. В случае превышения длины сегмента вследствие ошибок программирования мы можем говорить о нарушении адресации и с помощью введения специальных аппаратных средств генерировать сигналы прерывания, которые позволят фиксировать (обнаруживать) такого рода ошибки.