- •1. Состав компьютерной системы
- •6 Уровней:
- •2. Функции операционной системы. . Операционная система как расширенная машина и менеджер ресурсов
- •3. Этапы развития операционных систем
- •4. Ос реального времени. Распределенные и сетевые ос
- •5. Принципы разработки современных ос
- •12. Основные понятия, концепция ос
- •13. Ядро ос. Основные понятия (монолитные системы, многоуровневые системы, виртуальные машины)
- •14. Ядро ос. Микроядро//модуль клиент-сервер
- •15. Классификация ос
- •16. Мультипрограммирование или многозадачность, критерии организации мультизадачности
- •17. Многопроцессорность: сложность планирования загрузки процессоров, конфликты доступа к общим ресурсам
- •18. Процессы. Основные понятия, состояния процессов
- •19. Обработка прерываний, вектор прерывания
- •20. Алгоритмы планирования процессов
- •21. Создание процессов
- •Процессы Windows
- •22. Идентификаторы
- •23. Системные вызовы для управления процессами
- •24. Форматы исполняемых файлов
- •25. Основные команды Unix для управления процессами
- •26. Память. Типы адресов
- •27. Методы распределения памяти между процессами без использования внешнего накопителя
- •28. Методы распределения памяти между процессами с использованием внешнего накопителя
- •29. Виртуальная память. Способы организации виртуальной памяти. Страничная организация виртуальной памяти. Сегментная и странично - сегментная организация виртуальной памяти.
- •34. Файловая система Unix, виртуальная файловая система vfs
- •35. Файловые ситемы fat, ntfs. Поддержка длинных имен
- •49. Сравнение вариантов организации взаимодействия сетей
- •51. Программирование сокетов
- •52. Открытая система. Стандартные платформы.
- •53. Интерфейс пользователя ос unix. Метасимволы в именах файла.
26. Память. Типы адресов
Память является важнейшим ресурсом, требующим тщательного управления со стороны мультипрограммной операционной системы. Распределению подлежит вся оперативная память, не занятая операционной системой. Обычно ОС располагается в самых младших адресах, однако может занимать и самые старшие адреса. Функциями ОС по управлению памятью являются: отслеживание свободной и занятой памяти, выделение памяти процессам и освобождение памяти при завершении процессов, вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их в оперативную память, когда в ней освобождается место, а также настройка адресов программы на конкретную область физической памяти.
Типы адресов
Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или ассемблере.
Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык.
Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены или будут расположены переменные и команды. Переход от виртуальных адресов к физическим может осуществляться двумя способами:
Замену виртуальных адресов на физические делает специальная программа – перемещающий загрузчик.
Программа загружается в память в неизменном виде (с виртуальными адресами), а преобразование виртуального адреса в физический производится операционной системой «на лету».
27. Методы распределения памяти между процессами без использования внешнего накопителя
Все методы управления памятью могут быть разделены на два класса: методы, которые используют перемещение процессов между оперативной памятью и диском, и методы, которые не делают этого.
В однозадачной ОС – зависит от программиста и задач.
А. Фиксированными разделами. Память делится на равные части фиксированного размера.
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь, либо в очередь к некоторому разделу.
Б. Динамическими разделами. Каждой вновь поступающей задаче выделяется необходимая ей память. Если достаточный объем памяти отсутствует, то задача ждет, пока освободится достаточный непрерывный объем памяти.
В этом случае память машины не делится заранее на разделы. Сначала вся память свободна. Если достаточный объем памяти отсутствует, то задача не принимается на выполнение и стоит в очереди. После завершения задачи память освобождается, и на это место может быть загружена другая задача. Таким образом, в произвольный момент времени оперативная память представляет собой случайную последовательность занятых и свободных участков (разделов) произвольного размера.
Задачами операционной системы при реализации данного метода управления памятью является:
ведение таблиц свободных и занятых областей, в которых указываются начальные адреса и размеры участков памяти.
Выбор раздела для вновь поступившей задачи может осуществляться по разным правилам, таким, например, как "первый попавшийся раздел достаточного размера", или "раздел, имеющий наименьший достаточный размер", или "раздел, имеющий наибольший достаточный размер". Все эти правила имеют свои преимущества и недостатки.
По сравнению с методом распределения памяти фиксированными разделами данный метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток - фрагментация памяти. Фрагментация - это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов). Настолько маленького, что ни одна из вновь поступающих программ не может поместиться ни в одном из участков, хотя суммарный объем фрагментов может составить значительную величину, намного превышающую требуемый объем памяти.
В. Перемещаемыми разделами. Принцип тот же что у методов динамических разделов, только периодически (либо по таймеру либо когда фрагментация памяти больше порогового значения) происходит перемещение всех занятых разделов либо с сторону старших либо в сторону младших адресов, так чтобы вся свободная память образовывала единую свободную область. Недостаток – требуется значительное время на выполнение процедуры сжатия.
