
- •Оглавление
- •Введение
- •Основы теории операционных систем Общие сведения об операционных системах
- •Организация диалога пользователя
- •Графический режим диалога пользователя
- •Файловые менеджеры
- •Назначение функциональных клавиш
- •Системные вызовы
- •Архитектура операционной системы
- •Машино-независимые свойства операционных систем Файловая система пк
- •Типы файлов
- •Физическая организация fat
- •Работа с файлами и каталогами средствами командной строки Windows
- •Команды общесистемного назначения
- •Работа с каталогами
- •Работа с файлами
- •Процессы
- •Запрос пользователя на создание процесса.
- •Защищенность и отказоустойчивость ос
- •Система raid – массивов дисков
- •Распределение ресурсов пк
- •Разрешение конфликтов при распределении ресурсов
- •Запрос – ожидание – запрос – ожидание - …..
- •Управление процессами в интерактивных ос
- •Организация ввода – вывода
- •Работа подсистемы по ввода – вывода
- •Поддерживать несколько файловых систем
- •Вести системную информацию о состоянии и распределение устройств:
- •Распределение ресурсов пк
- •Разрешение конфликтов при распределении ресурсов
- •Запрос – ожидание – запрос – ожидание - …..
- •Управление памятью
- •Раздел 1 Раздел 1
- •Раздел 2 Раздел2
- •Кэширование данных
- •Общая схема выполнения запроса к оп в системах с Кэш – памятью (выполнение системного вызова)
- •Средства поддержки сегментации памяти
- •П роцесс
- •Преобразование виртуального адреса в физический адрес
- •Механизм преобразования виртуального адреса в физический адрес при работе процессора в сегментном режиме
- •Механизм преобразования виртуального адреса в физический адрес при работе процессора в сегментно - страничном режиме
- •Операционная система Windows
- •Загрузка windows xp
- •Архитектура Windows xp
- •Основные компоненты ос Windows xp
- •Технологические принципы ос Windows
- •Физическая организация данных ntfs
- •Каталоги ntfs
- •Архивирование данных
- •Компьютерные вирусы
- •Реестр Windows xp
- •Операционная система Linux
- •Основные понятия ос linux
- •Файловая система ос linux
- •Процессы
- •Основные команды ос linux
- •Архивирование и сжатие файлов
- •Shell – сценарии
- •Архитектура сетевой операционной системы
Управление памятью
Память компьютера подразделяется на два больших класса: внешняя и внутренняя.
В состав внутренний памяти входит оперативная память, постоянная память и регистры процессора. Оперативная память энергозависима, то есть для сохранения информации необходимо постоянное электропитание. Внешняя память – жесткий диск, дискеты и т.д.
Далее будут рассматриваться вопросы управления оперативной памяти.
Оперативная память – важнейший ресурс компьютера. ОП состоит из ячеек фиксированной длины (16, 32 – разряда), каждая ячейка имеет свой номер – физический адрес. Как известно, процессор может выполнять команды (инструкции) программы только в том случае, когда программа находиться в ОП. Память распределяется между модулями приложения и между модулями самой ОС.
Функции ОС по управлению оперативной памятью:
отслеживание свободной и занятой памяти;
выделение памяти процессам и освобождения памяти после завершения процесса;
вытеснение кодов и данных процесса из ОП на диск (полное или частичное), когда размеры основной памяти не достаточны для размещения в ней всех процессов, и возвращение их а ОП, когда в ней освободиться место.
настройка адресов программы на конкретную область ОП;
выполнение запросов приложений на выделение им дополнительной памяти во время выполнение процесса;
защита памяти – организация проверки того, чтобы запрос мог считывать и записывать данные только в ту область ОП, которая выделена этому запросу, и не мог обращаться к памяти, выделенной другому процессу;
дефрагментация ОП;
Эти функции ОС реализуются программными модулями ОС во взаимодействии с аппаратными средствами компьютера.
Типы адресов
Для идентификации переменных и программ на разных этапах жизни программы используется три типа адресов.
-
Символьные адреса
Присваивает программист при написании программы на алгоритмическом языке ( X = 3 )
В
иртуальные адреса
Образуются при компиляции (переводе на машинный язык). Во время компиляции неизвестно в какое место ОП будет загружаться программа, поэтому компилятор присваивает переменным и командам виртуальные (условные) адреса, как правило, начиная с нулевого адреса. Совокупность виртуальных адресов процесса называется виртуальным адресным пространством.
Физические адреса
Соответствуют номерам ячеек ОП, где в действительности расположены или будут расположены переменные и команды.
Задачей ОС является отображение индивидуальных виртуальных адресных пространств всех одновременно выполняющихся процессов на общую физическую память.
-
Виртуальные адреса
Оперативная память
0000000016
Виртуальное адресное пространство процесса 1
Область памяти
процесса 1
00A851516
0000000016
Виртуальное адресное пространство процесса 2
0000FF6716
Область памяти 2
процесса
0000000016
Виртуальное адресное пространство процесса 3
000BF67416
Область памяти
процесса 3
Максимальный размер виртуального адресного пространства ограничивается только разрядностью адреса, присущей данной архитектуре компьютера, и, как правило, не совпадает с объемом физической памяти компьютера. Сегодня типична ситуация, когда объем виртуального адресного пространства превышает доступный объем ОП. В таком случае ОС для хранения данных виртуального адресного пространства , не помещающихся в ОП, использует дисковую память. Выполняется виртуализация ОП – виртуальная память.
Виртуальным называется ресурс, который пользователю или приложению, представляется обладающий свойствами, которыми он в самом деле не обладает. В данном случае программисту или приложению предоставляется виртуальная ОП, которая превосходит всю имеющуюся в системе реальную ОП. Программист пишет программу считая, что в его распоряжении находиться ОП достаточно большого размера. В действительности же все коды и данные, используемые программой, хранятся на дисках и только при необходимости загружаются в ОП.
Виртуальная память
процесса 1
ОП
В
иртуальная
память
п
роцесса
2
жесткий диск
Все действия по организации совместного использования ОП и диска – выделение места для перемещаемых фрагментов, настройка адресов, выбор фрагментов на загрузку и выгрузку из ОП – осуществляется автоматически, без участия программиста, и ни как не сказывается на логике работы приложения.
Алгоритмы распределения памяти
Методы распределения памяти должны отвечать на следующие вопросы:
Каждому процессу следует выделять непрерывную область физической памяти или можно «кусками»;
Должны ли части программы находиться в одном месте памяти в течение всего времени выполнения процесса или их можно сдвигать;
Что делать если программа не помещаются в свободную память;
Если свободной памяти нет, какую программу или часть вытеснить на диск;
Классификация алгоритмов распределения памяти
-
Алгоритмы распределения памяти
Б
ез использования внешней памяти
С использованием внешней памяти
Фиксированными разделами 1
Страничное распределение 4
Динамическими разделами 2
Сегментное распределение 5
Перемещаемыми разделами
3
Сегментно- страничное распределение 6
1. Распределение памяти фиксированными разделами наиболее простой способ управления памятью. Состоит в том, что вся ОП разбивается на несколько частей фиксированной величины (может быть не равные), разбиение может выполняться при установки ОС или старта системы оператором вручную. Очередной процесс, поступивший на выполнение, помещается дибо в общую очередь, либо в очередь к некоторому разделу.
Очереди к разделам
О
чередь
задач