- •Назначение и функции ос. Ос как виртуальная машина
- •2. Назначение и функции ос. Ос как система управления ресурсами
- •3.Функциональные компоненты ос. Управление процессами.
- •4. Функциональные компоненты ос. Управление памятью
- •5.Функциональные компоненты ос. Управление файлами и внешними устройствами.
- •6. Функциональные компоненты ос. Защита данных и администрирование
- •7.Функциональные компоненты ос. Интерфейс прикладного программирования
- •8.Функциональные компоненты ос. Пользовательский интерфейс
- •9.Сетевые и распределенные ос
- •10. Функциональные компоненты сетевой ос Основные функциональные компоненты сетевой ос:
- •11. Одноранговые и серверные сетевые операционные системы
- •Ос в одноранговых сетях.
- •Ос в сетях с выделенными серверами
- •12. Требования к современным операционным системам
- •13. Ядро и вспомогательные модули ос
- •14. Ядро в привилегированном режиме
- •15. Многослойная структура ос
- •16. Аппаратная зависимость и переносимость ос
- •Типовые средства аппаратной поддержки ос:
- •17. Машинно-зависимые компоненты ос
- •18. Переносимость операционной системы
- •19. Коцепция микроядерной архитектуры
- •Преимущества и недостатки:
- •20. Совместимость и множественные прикладные среды
- •Двоичная совместимость и совместимость исходных текстов
- •Трансляция библиотек
- •Способы реализации прикладных программных сред
- •21. Мультипрограммирование в системах пакетной обработки
- •22. Мультипрограммирование в системах разделения времени
- •23. Мультипрограммирование в системах реального времени
- •24. Мультипроцессорная обработка
- •25. Планирование процессов и потоков
- •26. Создание процессов и потоков
- •27. Планирование и диспетчеризация потоков
- •28. Вытесняющие и невытесняющие алгоритмы планирования
- •29. Алгоритмы планирования, основанные на квантовании
- •30. Алгоритмы планирования, основанные на приоритетах
- •31. Смешанные алгоритмы планирования
- •32. Планирование в системах реального времени
- •33. Моменты перепланировки
- •34. Функции ос по управлению памятью
- •35. Типы адресов
- •36. Алгоритмы распределения памяти Распределение памяти фиксированными разделами
- •Распределение памяти динамическими разделами
- •Перемещаемые разделы
- •37.Страничное распределение
- •38.Сегментное распределение
- •39.Сегментно-страничное распределение
- •40.Разделяемые сегменты памяти
- •41. Кэширование данных
- •43. Кэш память. Проблема согласования данных
- •44.Способы отображения основной памяти на кэш
- •45. Схемы выполнения запросов в системах с кэш-памятью
- •46. Логическая организация файловой системы
- •47. Иерархическая структура файловой системы
- •48. Монтирование
- •49. Атрибуты файлов
- •50. Логическая организация файла
- •51. Физическая организация ntfs
- •52. Структура тома ntfs
- •53. Структура файлов ntfs
- •54. Каталоги ntfs
- •55. Файловые операции. Два способа организации файловых операций
- •56. Открытие файла
- •57. Обмен данными с файлом
- •58. Блокировки файлов
- •59. Стандартные файлы ввода и вывода, перенаправление вывода
- •60. Контроль доступа к файлам. Доступ к файлам как частный случай доступа к разделяемым ресурсам
- •61. Механизм контроля доступа
- •62. Организация контроля доступа в ос unix
- •63. Организация контроля доступа в ос Windows nt
36. Алгоритмы распределения памяти Распределение памяти фиксированными разделами
Простейший способ управления оперативной памятью состоит в том, что память разбивается на несколько областей фиксированной величины, называемых разделами. Подсистема управления памятью в этом случае выполняет следующие задачи.
-сравнивает объем памяти, требуемый для вновь поступившего процесса, с размерами свободных разделов и выбирает подходящий раздел;
-осуществляет загрузку программы в один из разделов и настройку адресов. Уже на этапе трансляции разработчик программы может задать раздел, в котором ее следует выполнять. Это позволяет сразу, без использования перемещающего загрузчика, получить машинный код, настроенный на конкретную область памяти.
При очевидном преимуществе — простоте реализации, данный метод имеет существенный недостаток — жесткость. Так как в каждом разделе может выполняться только один процесс, то уровень мультипрограммирования заранее ограничен числом разделов. Независимо от размера программы она будет занимать весь раздел. С другой стороны, разбиение памяти на разделы не позволяет выполнять процессы, программы которых не помещаются ни в один из разделов, но для которых было бы достаточно памяти нескольких разделов.
Такой способ управления памятью применялся в ранних мультипрограммных ОС. Однако и сейчас метод распределения памяти фиксированными разделами находит применение в системах реального времени, в основном благодаря небольшим затратам на реализацию. Детерминированность вычислительного процесса систем реального времени компенсирует недостаточную гибкость данного способа управления памятью.
Распределение памяти динамическими разделами
В этом случае память машины не делится заранее на разделы. Сначала вся память, отводимая для приложений, свободна. Каждому вновь поступающему на выполнение приложению на этапе создания процесса выделяется вся необходимая ему память . После завершения процесса память освобождается, и на это место может быть загружен другой процесс.
Функции операционной системы, предназначенные для реализации данного метода управления памятью:
-ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти;
-при создании нового процесса — анализ требований к памяти, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения кодов и данных нового процесса;
-загрузка программы в выделенный ей раздел и корректировка таблиц свободных и занятых областей. Данный способ предполагает, что программный код не перемещается во время выполнения, а значит, настройка адресов может быть проведена единовременно во время загрузки;
-после завершения процесса корректировка таблиц свободных и занятых областей.
По сравнению с методом распределения памяти фиксированными разделами данный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток — фрагментация памяти. Фрагментация — это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Распределение памяти динамическими разделами лежит в основе подсистем управления памятью многих мультипрограммных операционных системах 60-70-х годов, в частности такой популярной операционной системы, как OS/360.