
- •1. Операционные системы. Назначение и функции
- •2. Понятие операционной среды
- •3. Классификация операционных систем
- •4. Однопрограммный и мультипрограммный (мультизадачный) режимы
- •5. Прерывания; их назначение и функции.
- •6. Механизм обработки прерываний.
- •7. Внешние (асинхронные) и внутренние (синхронные) прерывания
- •8. Дисциплины обслуживания, используемые при программном управлении специальными регистрами маски (маскирование сигналов прерывания)
- •9. Вычислительный процесс и ресурсы
- •10. Основные принципы мультипрограммирования.
- •11. Ресурсы. Классификация ресурсов
- •12. Вычислительные процессы и задачи
- •13. Условия выделения ресурсов задачам
- •14. Диаграмма состояний процесса; дескриптор процесса
- •15. Основные виды ресурсов
- •16 Планирование и диспетчеризация процессов и задач; стратегии планирования.
- •17. Бесприоритетные и приоритетные дисциплины диспетчеризации
- •18. Дисциплины диспетчеризации
- •19. Дисциплина обслуживания sjn
- •20. Дисциплина обслуживания srt
- •21. Карусельная дисциплина диспетчеризации
- •22. Управление памятью в операционных системах.
- •24 Простое непрерывное распределение и распределение с перекрытием
- •25. Методы неразрывного распределения памяти; распределение разделами с фиксированными и подвижными границами
- •26. Сегментный способ организации виртуальной памяти. Свопинг сегментов.
- •27. Страничный способ организации виртуальной памяти.
- •28. Методы разрывного распределения памяти. Принцип буферизации.
- •29. Сегментно-страничный способ организации виртуальной памяти
- •30. Управление вводом-выводом в операционных системах: основные концепции организации ввода-вывода в ос
- •31. Режимы управления вводом-выводом.
- •32. Закрепление устройств; общие устройства ввода-вывода
- •33. Основные системные таблицы ввода-вывода
- •34. Файлы и организация работы с ними
- •35. Файловые системы и их особенности
- •36. Лекция. Взаимодействие процессов. Синхронизация. Тупики
- •1. Состав команд управления ос Windows.
- •2. Команды файловой системы ос Windows
- •3. Команды справочной системы ос Windows
- •4. Команды пакетных данных ос Windows
- •5. Разработка командных(пакетных) файлов ос Windows
22. Управление памятью в операционных системах.
Оперативная память – это важнейший ресурс любой вычислительной системы, поскольку без нее невозможно выполнение ни одной программы. Поскольку память является распределяемым ресурсом, от выбранных механизмов распределения памяти между выполняющимися процессами в значительной степени зависит эффективной использования ресурсов системы, ее производительность и возможности, которыми могут пользоваться программисты при создании свои программ.
В общем случае множество переменных в программе не упорядочено, т.к. обращение к памяти осуществляется посредством некоторого набора логических имен (чаще всего символьных, а не числовых), хотя отдельные переменные могут иметь частичную упорядоченность (массивы). Имена переменных и входных точек программных модулей составляют пространство символьных имен – логическое пространство. С другой стороны, при выполнении программы процессор работает с физической памятью, извлекая из нее команды и данные и помещая в нее результаты вычислений. Физическая память представляет собой упорядоченное множество ячеек реально существующей оперативной памяти, все они пронумерованы, т.е. к каждой из них можно обратиться, указав ее порядковый номер (адрес). Количество ячеек физической памяти ограниченно и фиксировано.
23. Память и отображение; виртуальное адресное пространство. Механизмы отображения пространства имен на физическую память компьютера.
Системное программное обеспечение должно связать каждое символьное имя, указанное пользователем, с физической ячейкой памяти, т.е. осуществить отображение пространства имен на физическую память компьютера. В общем случае это отображение осуществляется в два этапа (рисунок Б2): сначала системой программирования, а затем операционной системой (с помощью подсистемы управления памятью). Между этапами обращения к памяти имеют форму виртуального адреса. При этом, множество всех допустимых значений виртуального адреса для некоторой программы определяет ее виртуальное адресное пространство или виртуальную память. Виртуальное адресное пространство зависит от архитектуры процессора и от системы программирования и практически не зависит от объема реальной физической памяти компьютера.
Система программирования осуществляет трансляцию и компоновку программы, используя библиотечные модули. В результате работы системы программирования полученные виртуальные адреса могут иметь как двоичную так и символьно-двоичную формы. Это означает, что большинство программных модулей и их переменные получают какие-то числовые значения, а те модули, адреса для которых пока не могут быть определены, имеют по-прежнему символьную форму, и их окончательная привязка к физическим ячейкам будет осуществлена на этапе загрузки программы в память перед ее непосредственным выполнением.
В случае, когда имеется полная тождественность виртуального адресного пространства физической памяти, речь идет о генерации абсолютной двоичной программы (т.е. программы будет исполняться только тогда, когда виртуальные адреса будут соответствовать физическим). Часть программных модулей любой ОС обязательно должна быть абсолютными двоичными программами, которые размещаются по фиксированным адресам физической памяти (например, программы загрузки операционной системы). Другим частным случаем этой общей схемы трансляции адресного пространства является тождественность виртуального адресного пространства исходному логическому пространству имен. Отображение выполняется самой ОС, которая во время исполнения использует таблицу символьных имен. Используется крайне редко, т.к. отображение имен на адреса необходимо выполнять для каждого вхождения нового имени, характерно для простейших компьютерных систем (Basic). Возможны и промежуточные варианты. В простейшем случае транслятор-компилятор генерирует относительные адреса (виртуальные) с последующей настройкой программы на один из непрерывных разделов. Второе отображение осуществляется перемещающим загрузчиком. После загрузки программы виртуальный адрес теряется, и доступ выполняется непосредственно к физическим ячейкам.
Термин виртуальная память фактически относится к истемам, которые сохраняют виртуальные адреса во время исполнения. Так как второе отображение осуществляется во время исполнения задачи, то адреса физических ячеек могут изменяться. Объемы упомянутых адресных пространств могут соотносится следующим образом:
|
|
Практически не встречается, но реально. Характерно для 16-разрядных мини-ЭВМ. |
|
|
Часто встречается. Характерно для недорогих вычислительных комплексов. |
|
|
Самая обычная ситуация. В настоящее время характерна даже для ПК, т.е. самых распространенных и недорогих машин. |
Для ситуаций 2 и 3 имеется достаточно много эффективных методов распределения памяти.