
- •Вопрос 1. Виды ресурсов вычислительной системы. §1.1 Виды ресурсов вычислительной системы.
- •Вопрос 2. Структура и виды программного обеспечения (по). Характеристика системного по. §1.2 Структура программного обеспечения.
- •Вопрос 3. Классификация ос. §2.1 Классификация операционных систем.
- •Вопрос 4. Назначение и основные функции операционной системы (ос) для автономного компьютера. §2.2 Операционные системы для автономного компьютера
- •Функциональные компоненты ос для автономного компьютера
- •Вопрос 5. Сетевые операционные системы: функциональные компоненты и варианты построения. §2.3 Сетевые операционные системы.
- •Функциональные компоненты сетевой ос
- •Варианты построения сетевых ос
- •Вопрос 6. Одноранговые и серверные операционные системы. §2.4 Одноранговые и серверные операционные системы.
- •Операционные системы в одноранговых сетях
- •Операционные системы в сетях с выделенными серверами
- •Вопрос 7. Принципы построения ос. §3.1 Принципы построения ос.
- •Вопрос 8. Виды программных модулей. §3.2 Виды программных модулей.
- •Вопрос 9. Ядро и вспомогательные модули ос. §3.3 Ядро и вспомогательные модули операционной системы.
- •Вопрос 10. Классическая архитектура ос. §3.4 Классическая архитектура операционной системы.
- •Вопрос 11. Микроядерная архитектура ос. §3.5 Микроядерная архитектура ос.
- •Вопрос 12. В чем заключается принцип безопасности и как он обеспечивается операционной системой? §3.6 Обеспечение безопасности вычислительной системы.
- •Вопрос 13. Что такое мультипрограммирование (многозадачность)? Реализация мультипрограммирования в системах пакетной обработки, разделения времени, реального времени. §4.1.1 Мультипрограммирование.
- •§4.1.2.Мультипрограммирование в системах пакетной обработки.
- •§4.1.3.Мультипрограммирование в системах разделения времени.
- •Мультипрограммирование в системах реального времени.
- •Вопрос 14. Мультипроцессорная обработка, архитектуры мультипроцессорных систем. §4.1.4.Мультипроцессорная обработка.
- •Вопрос 15. Что такое вычислительный процесс, поток? Состояния процесса. §4.2.1.Планирование процессов и потоков. Понятия «процесс» и «поток».
- •Вопрос 16. Реализация (создание) процессов и потоков. Дескрипторы. §4.2.2.Реализация (создание) процессов и потоков.
- •Вопрос 17. Планирование и диспетчеризация процессов и потоков. Вытесняющие и невытесняющие алгоритмы планирования. §4.2.3.Планирование и диспетчеризация потоков
- •§4.2.4.Вытесняющие и невытесняющие алгоритмы планирования
- •Вопрос 18. Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы. §4.2.5.Алгоритмы планирования, основанные на квантовании.
- •Алгоритмы планирования, основанные на приоритетах.
- •Смешанные алгоритмы планирования.
- •Вопрос 19. Планирование в системах реального времени. §4.2.6.Планирование в системах реального времени.
- •Моменты перепланировки.
- •Вопрос 20. Мультипрограммирование на основе прерываний. Механизм прерываний. §4.3.1.Мультипрограммирование на основе прерываний. Назначение и типы прерываний.
- •§4.3.2.Механизм прерываний.
- •Вопрос 21. Необходимость синхронизации процессов и потоков. Критическая секция. §4.4 Синхронизация процессов и потоков.
- •§4.4.1.Критическая секция.
- •Вопрос 22. Способы реализации взаимных исключений путем запрещения прерываний, использования блокирующих переменных, системных вызовов. §4.4.2.Запрещение прерываний.
- •§4.4.3.Блокирующие переменные.
- •Вопрос 23. Назначение и использование семафоров. §4.4.4Семафоры.
- •Вопрос 24. Взаимные блокировки процессов. Методы предотвращения, обнаружения и ликвидации тупиков. §4.4.6. Синхронизирующие объекты ос.
- •Тупики.
- •Вопрос 25. Функции ос по управлению памятью. Типы адресов. Преобразование адресов. §5.1 Функции ос по управлению памятью.
- •§5.2 Типы адресов.
- •Вопрос 26. Методы распределения памяти без использования диска (фиксированными, динамическими, перемещаемыми разделами). §5.3.1. Методы распределения памяти.
- •§5.3.1 Распределение памяти без использования диска. Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими разделами.
- •§5.3.1.Распределение памяти перемещаемыми разделами.
- •Вопрос 27. Понятие виртуальной памяти, ее назначение. Свопинг. §5.3.2.1. Виртуальная память. Понятие виртуальной памяти.
- •Вопрос 28. Страничное распределение оперативной памяти. §5.3.2.2.Страничное распределение памяти.
- •Вопрос 29. Сегментное распределение оперативной памяти. §5.3.2.3.Сегментное распределение памяти.
- •Вопрос 30. Странично-сегментное распределение оперативной памяти. §5.3.2.4.Странично-сегментное распределение памяти.
- •Вопрос 31. Кэш-память. Принцип функционирования кэш-памяти. §5.4.1. Кэширование данных.
- •§5.4.2.Функционирование кэш-памяти.
- •Вопрос 32. Способы отображения оперативной памяти на кэш (случайное, детерминированное, комбинированное отображение). § 5.4.3. Способы отображения основной памяти на кэш.
- •Вопрос 33. Физическая организация устройств ввода-вывода. §6.1 Физическая организация устройств ввода-вывода.
- •Вопрос 34. Принципы организации программного обеспечения ввода-вывода. §6.2 Организация программного обеспечения ввода-вывода.
- •Обработка прерываний.
- •Драйверы устройств.
- •Независимый от устройств слой операционной системы.
- •Пользовательский слой программного обеспечения.
- •§7.1.2.Типы файлов.
- •§7.1.3.Логическая организация файла.
- •Вопрос 36. Физическая организация файловой системы. Структура жесткого диска. §7.2 Физическая организация файловой системы.
- •Структура жесткого диска.
- •Вопрос 37. Физическая организация и адресация файла. Права доступа к файлу. §7.2.1.Физическая организация и адресация файла.
- •§7.2.2.Права доступа к файлу.
- •Кэширование диска.
- •Вопрос 38. Общая модель файловой системы. §7.3 Общая модель файловой системы.
- •Вопрос 39. Современные архитектуры файловых систем. §7.3. Современные архитектуры файловых систем.
- •Вопрос 40. Физические организации файловой системы fat. §7.6 Физическая организация файловой системы fat.
- •Вопрос 41. Физические организации файловой системы ntfs. §7.7. Физические организации файловой системы ntfs.
- •7.8 Сравнение файловых систем
- •Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки по. §8 Состав систем программирования.
- •8.2 Компоненты систем программирования Текстовые редакторы
- •Трансляторы, компиляторы и интерпретаторы
- •Список литературы
§5.3.1.Распределение памяти перемещаемыми разделами.
Одним из методов борьбы с фрагментацией является перемещение всех занятых областей в сторону старших либо младших адресов, так, чтобы вся свободная память образовывала единую область (рис. 5.6). Для этого в дополнение к распределению памяти динамическими разделами ОС должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется "сжатием".
Рис. 5.6. Распределение памяти перемещаемыми разделами
(свободные области заштрихованы)
Сжатие может выполняться либо при каждом завершении задачи, либо только тогда, когда для вновь поступившей задачи нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц, а во втором – реже выполняется процедура сжатия. Так как программы перемещаются по оперативной памяти в ходе своего выполнения, то преобразование адресов из виртуальной формы в физическую должно выполняться динамическим способом. Хотя процедура сжатия и приводит к более эффективному использованию памяти, она может потребовать значительного времени, что часто сводит на нет преимущества данного метода.
Такой подход был использован в ранних версиях OS/2, в которых память распределялась сегментами, а возникавшая при этом фрагментация устранялась путем периодического перемещения сегментов.
Вопрос 27. Понятие виртуальной памяти, ее назначение. Свопинг. §5.3.2.1. Виртуальная память. Понятие виртуальной памяти.
Необходимым условием для того, чтобы программа могла выполняться, является ее нахождение в оперативной памяти. Уже давно пользователи столкнулись с проблемой размещения в памяти программ, размер которых превышает имеющуюся в наличии свободную память. Данная проблема решается путем использования виртуальной памяти. Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает.
Механизм использования виртуальной памяти основан на том, что когда имеющейся оперативной памяти недостаточно, образы неактивных процессов целиком или частично временно выгружаются на диск. К неактивным относятся приостановленные процессы, ожидающие завершения ввода-вывода или освобождения ресурсов, а также процессы в состоянии готовности, стоящие в очереди к процессору. Образы таких неактивных процессов могут быть временно выгружены на диск. Когда подходит очередь выполнения выгруженного процесса, его образ возвращается с диска в оперативную память. Если при этом обнаруживается, что свободного места в оперативной памяти не хватает, то на диск выгружается другой процесс.
То есть ОС производит подмену оперативной памяти дисковой памятью. Пользователь пишет программу, а транслятор, используя виртуальные адреса, переводит ее в машинные коды так, как будто в распоряжении программы имеется однородная оперативная память большого объема. В действительности же все коды и данные, используемые программой, хранятся на диске и только при необходимости загружаются в реальную оперативную память. Виртуальная память работает значительно медленнее, чем реальная оперативная память.
Виртуальная память – это совокупность программно-аппаратных средств, позволяющих использовать прикладные программы, размер которых превосходит имеющуюся оперативную память.
Виртуальная память решает следующие задачи:
- размещение данных в запоминающих устройствах разного типа, например часть кодов программы в оперативной памяти, а часть на диске;
- выбор образов процессов или их частей для перемещения из оперативной памяти на диск и обратно;
- перемещение по мере необходимости данных между памятью и диском;
- преобразование виртуальных адресов в физические.
Все эти действия выполняются автоматически, без участия программиста.
Виртуализация памяти может быть осуществлена на основе двух различных подходов:
- свопинг (swapping) – образы процессов выгружаются на диск и возвращаются в оперативную память целиком;
- виртуальная память (virtual memory) – между оперативной памятью и диском перемещаются части (сегменты, страницы и т. п.) образов процессов.
Свопинг (подкачка) представляет собой частный случай виртуальной памяти, он более прост в реализации. Однако свопингу свойственна избыточность, поскольку когда ОС решает активизировать процесс, для его выполнения, как правило, не требуется загружать в оперативную память все его сегменты полностью. Аналогично при освобождении памяти для загрузки нового процесса обычно не требуется выгружать предыдущий процесс на диск целиком, достаточно вытеснить на диск только часть его образа. Перемещение избыточной информации замедляет работу системы, а также приводит к неэффективному использованию памяти.
Из-за этих недостатков свопинг как основной механизм управления памятью почти не используется в современных ОС. На смену ему пришел более совершенный механизм виртуальной памяти.
Наиболее распространенными реализациями виртуальной памяти являются страничное, сегментное и странично-сегментное распределение памяти.
Страничная виртуальная память организует перемещение данных между памятью и диском страницами – частями виртуального адресного пространства, фиксированного и сравнительно небольшого размера.
Сегментная виртуальная память предусматривает перемещение данных сегментами – частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
Сегментно-страничная виртуальная память использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единицей перемещения данных здесь является страница. Этот способ управления памятью объединяет в себе элементы обоих предыдущих подходов.