- •Понятие операционной системы. Функции операционной системы. Классификация операционных систем.
- •Компоненты операционной системы. Виды ядер.
- •Монолитная структура операционной системы
- •4. Структура операционной системы unix
- •Ядро операционной системы unix
- •Основные понятия ос: системные вызовы, прерывания, исключительные ситуации, файлы, процессы и нити.
- •Процессы. Состояния процесса.
- •Process Control Block и контекст процесса.
- •9. Одноразовые и многоразовые операции. Переключение контекста.
- •10. Планирование процессов. Критерии планирования и требования к алгоритмам.
- •11. Вытесняющее и невытесняющее планирование
- •12.Алгоритм планирования fcfs.
- •13. Алгоритм планирования rr.
- •14. Поток в пространстве ядра, поток в пространстве пользователя.
- •15. Таблица потоков. Информация в таблице потоков
- •16. Алгоритмы планирования: fifo.
- •17. Алгоритмы планирования: «кратчайшая задача – первая»
- •18. Алгоритмы планирования: приоритетное планирование.
- •19. Алгоритмы планирования: планирование в системах реального времени.
- •20. Функция создания процесса CreateProcess()
- •21. Взаимоблокировка процессов. Тупики.
- •22. Методы борьбы с взаимоблокировками. Безопасное и небезопасное состояние.
- •25. Кооперация процессов. Логическая организация механизма передачи информации.
- •26.Адресации: прямая и непрямая.
- •27. Линии связи. Буферизация.
- •28. Поток ввода/вывода и сообщения.
- •29.Алгоритмы синхронизации. Критическая секция.
- •30. Механизмы синхронизации. Семафоры, мониторы и сообщения.
- •31. Управление памятью. Физическая организация памяти компьютера.
- •32. Анализ производительности многозадачных систем.
- •33. Распределение памяти с фиксированными разделами.
- •34. Управление памятью. Физическая организация памяти компьютера.
- •35. Методы без использования внешней памяти.
- •36. Распределение памяти с динамическими разделами.
- •37.Основные методы распределения памяти: с фиксированными разделами и динамическими разделами. Перемещение и рост разделов.
- •38. Сегментная архитектура памяти. Абсолютный и относительный адреса.
34. Управление памятью. Физическая организация памяти компьютера.
Физическая организация памяти компьютера
Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую) и вторичную (внешнюю) память.
Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Процессор извлекает команду из основной памяти, декодирует и выполняет ее. Для выполнения команды могут потребоваться обращения еще к нескольким ячейкам основной памяти. Обычно основная память изготавливается с применением полупроводниковых технологий и теряет свое содержимое при отключении питания.
Вторичную память (это главным образом диски) также можно рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. В отличие от оперативной памяти, она является энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти.
Эту схему можно дополнить еще несколькими промежуточными уровнями, как показано на . Разновидности памяти могут быть объединены в иерархию по убыванию времени доступа, возрастанию цены и увеличению емкости.
Многоуровневую схему используют следующим образом. Информация, которая находится в памяти верхнего уровня, обычно хранится также на уровнях с большими номерами. Если процессор не обнаруживает нужную информацию на i-м уровне, он начинает искать ее на следующих уровнях. Когда нужная информация найдена, она переносится в более быстрые уровни.
35. Методы без использования внешней памяти.
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины(без использования внешней памяти). Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь , либо в очередь к некоторому разделу. Подсистема управления памятью в этом случае выполняет следующие задачи: сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел; осуществляет загрузку программы и настройку адресов.
36. Распределение памяти с динамическими разделами.
При использовании данного метода память в начальный момент времени считается свободной (за исключением памяти отведенной под ОС). Каждому процессу отводится вся необходимая память. Если ее не хватает, то процесс не создается. В произвольный момент времени память представляет собой случайную последовательность занятых и свободных участков.
37.Основные методы распределения памяти: с фиксированными разделами и динамическими разделами. Перемещение и рост разделов.
См. 33. 36.
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших или младших адресов, так, чтобы вся свободная память образовала единую свободную область (рис. 5.10). В дополнение к функциям, которые выполняет ОС при распределении памяти динамическими разделами, в данном случае она должна еще время от времени копировать содержимое разделов из одного места памяти в другое, корректируя таблицы свободных и занятых областей. Эта процедура называется сжатием. Сжатие может выполняться либо при каждом завершении процесса, либо только тогда, когда для вновь создаваемого процесса нет свободного раздела достаточного размера. В первом случае требуется меньше вычислительной работы при корректировке таблиц свободных и занятых областей, а во втором — реже выполняется процедура сжатия.