- •Основные понятия и определения.
- •Эволюция ос.
- •2.Архитектура ос.
- •3.Микроядерная архитектура эвм.
- •Основные концепции управления ос.
- •4. Процессор. Управление процессами.
- •5.Описатели процесса.
- •6. Классификация ос по признаку поддержки процессов и потоков.
- •6 Марта 2012 г.
- •7. Управление задачами.
- •16 Марта 2012 г.
- •8. Асинхронные параллельные процессы.
- •9.Семафоры.
- •Мониторы.
- •10. Тупики.
- •Управление памятью.
- •11.Физическая память.
- •12.Связное и несвязное распределение памяти.
- •13.Виртуальная память.
- •14. Преобразование адреса виртуальной памяти в реальный адрес осуществляется по схеме:
- •15.Управление виртуальной памятью, стратегии управления.
- •16. Кэширование данных.
- •Принцип действия кэш–памяти.
- •17.Способы отображения оп на кэш-память.
- •18. Ввод/вывод. Управление файлами и файловой системой.
- •19.Логическая организация фс.
- •Логическая организация файлов.
- •20. Физическая организация фс.
- •Права доступа к файлу.
- •Часть 2. Unix
- •Имена файлов.
- •Индексный дескриптор файла и жесткие ссылки.
- •2. Типы файлов.
- •Создание и монтирование фс.
- •Структура фс ext2fs.
- •3.Структура дискового раздела.
- •Индексные дескрипторы файлы и системы адресации файлов.
- •4.Структура системы и ядро классической Unix.
- •5.Управление процессами.
- •История.
- •Часть 3.
- •1.Структура ос Windows.
- •2.Подсистема win32.
- •3.Объекты, менеджер объектов.
- •Объекты ядра.
- •Структура объектов.
- •Описатели объектов.
- •Именование объектов.
- •Совместное использование объектов.
- •Реестр.
- •Поиск файлов по имени.
- •Точки повторного анализа.
- •5.Совместный доступ к файлу.
- •Производительность фс.
- •Надежность фс.
- •Поддержка нескольких фс.
12.Связное и несвязное распределение памяти.
Самые первые ЭВМ требовали связного распределения – каждая программа должна была занимать один блок ячеек.
Свободная память
Программа пользователя
Операционная система
Защита памяти осуществлялась при помощи одного регистра, который позволял отделить программу пользователя от ОС.
При несвязном распределении памяти программа разбивается на ряд блоков или сегментов, которые могут размещаться в основной памяти в участках, необязательно соседних.
Основные способы распределения памяти.
Все способы можно разделить на 2 класса в зависимости оттого, используются ли перемещения сегментов процессов между ОП и диском или нет.
Методы без перемещения сегментов:
с фиксированными разделами
с динамическими разделами
с перемещаемыми разделами.
Методы с перемещением сегментов:
со страничным распределением
с сегментным распределением
с сегментно-страничным распределением.
С фиксированными разделами. В этом случае память разбивается на несколько областей фиксированной величины, называемых разделами. Такое разбиение может быть выполнено оператором во время старта или установки системы. После этого границы не изменяются.
Подсистема управления памятью ОС в этом случае выполняет следующие задачи: сравнивает объем памяти, необходимый для вновь поступившего процесса, с размерами свободных разделов и выбирает подходящий раздел; осуществляет загрузку программы в один из разделов и настройку адресов. Уже на этапе трансляции разработчик может задать раздел, в котором будет выполняться задача. Это позволяет сразу без использования перемещающего загрузчика получить машинный код, настроенный на конкретную область памяти. Способ прост в реализации, но имеет недостатки: уровень мультипрограммирования ограничен числом разделов; любая программа будет занимать весь раздел; разбиение памяти на жесткие разделы не позволяет выполнять процессы, программы которых не помещаются ни в один раздел, но для которых было бы достаточно несколько разделов. Этот способ применялся в ранних мультипрограммных ОС, однако и сейчас находит применение в ОС реального времени.
Динамические разделы. В общем случае память не делится на разделы, сначала вся память для приложений свободна, каждому процессу на этапе создания выделяется необходимая память, после завершения вся память освобождается. Таким образом в произвольный момент времени ОП представляет собой последовательность занятых и свободных участков. Функции ОС: ведение таблиц свободных и занятых областей памяти; при создании новых процессов – анализ требуемой памяти, просмотр таблицы свободных областей и выбор раздела необходимых размеров; сама загрузка программы и корректировка таблиц свободных и занятых областей; после завершения процесса корректировка таблиц. Недостаток – фрагментация памяти – наличие большого числа несмежных свободных участков. Распределение памяти с динамическими разделами лежит в основе подсистем управления памяти многих мультипрограмм 60–70 годов.
Перемещаемые разделы. Одним из методов борьбы с фрагментацией является перемещение всех занятых участков так, чтобы вся свободная память образовывала свободную область. Сжатие может выполняться либо при каждом завершении процесса, либо только тогда, когда для вновь создаваемого процесса нет свободного раздела достаточного размера. В ходе своего выполнения программа перемещается, то в данном случае невозможно выполнить загрузку перемещаемого загрузчика. Здесь более подходящим оказывается динамическое преобразование адресов.
Хотя процедура сжатия приводит к более эффективному использованию памяти, она может потребовать значительного времени, что часто перевешивает преимущество данного метода. Концепция сжатия применяется и при использовании других методов распределения памяти, когда отдельному процессу выделяется не одна сплошная область памяти, а несколько несмежных участков произвольного размера.
30 марта 2012 г.