
- •Конспект лекций по курсу «Операционные системы», (1 семестр , часть 1)
- •Введение
- •Прерывания, многозадачность
- •Работа с памятью
- •Процессы
- •Потоки. Многопроцессорные системы
- •Микроядро.
- •Устройства ввода-вывода. Dma.
- •Буферизация операций ввода-вывода
- •Циклическая буферизация
- •Организация raid – массивов
- •Файловая система
- •Смешанный – состоят из записей разной длины с разным количеством полей:
- •Последовательный – состоит из записей одинаковой длины с одинаковым количеством и размеров полей.
- •Непрерывный
- •Цепочечный
- •Индексированный
- •Битовые таблицы ( маска)
- •Список свободных блоков
- •Цепочки свободных блоков
- •Индексирование
- •Основы и установка dos
- •Загрузочная дискета dos, основные команды
- •Командные файлы. Команды path, echo
- •Prompt, перенаправление, командные файлы с параметрами,
- •Практическая работа 1:
- •Адресация и доступ к разным типам памяти
- •Основная и верхняя память.
- •Менеджеры памяти
- •Установка менеджеров памяти для dos,
- •Установка драйверов под dos( cd rom, мышь, кириллица, sound)
- •Установка драйвера cd rom под dos.
- •Установка драйвера мыши
- •Установка драйверов кириллицы
- •Установка драйвера звуковой карты (sound) под dos.
- •Команды config.Sys
- •Мульти config
- •Средства мультиконфигурации для файла autoexec.Bat.
- •Создание виртуального диска
- •Кеширование дисков.
- •Практическая работа 2
- •Структура hdd. Инсталляция Windows 98.
- •Инсталляция Windows 98.
- •Удаление windows
- •Введение в windows 9.Х., загрузка, системные файлы о собенности и отличия Windows 98.
- •Виртуальная машина и эмуляция dos. Сжатие дисков
- •Подключение устройств в win.
- •Вход в Windows, доступ к ресурсам. Реестр Windows.
- •Ключи реестра.
Буферизация операций ввода-вывода
Необходимость буферизации диктуется следующими проблемами:
При страничной организации данных, страница памяти, в которую считываются данные с внешнего устройства ( или наоборот) должна на все время операции ввода-вывода оставаться в ОП. Однако если в это время нужна выгрузка процесса из ОП, то страница должна блокироваться и не выгружаться. Это усложняет работу с виртуальной памятью.
При выполнении операции ввода-вывода процесс приостанавливает работу и выгружается из ОП в виртуальную, где ожидает завершения операции ввода-вывода. Однако, т.к. вместе с процессом из ОП выгружена и сама страница, то некуда выводить данные и ввод-вывод блокируется, образуется взаимная блокировка: процесс ждет завершения операции ввода-вывода, а операция ввода-вывода ждет появления страницы в памяти. Поэтому, процесс должен быть заблокирован и оставаться в ОП, хотя операция ввода-вывода может быть выполнена не сразу, а поставлена в очередь.
Для эффективности работы можно выполнить чтение блока данных в специальное место памяти – буфер, а затем удалить страницу из ОП. При этом устройство будет считывать и сохранять данные не в память процесса, а в буфер. Такая схема называется буферизацией операций ввода-вывода.
Одинарная буферизация. Часть ОП в системной области отводится для процесса как буфер. Данные сначала отправляются в буфер, а затем в устройство ( или наоборот, из устройства в буфер, а затем в ОП). После считывания 1 блока из буфера в ОП процесс начинает его обработку, а в это время параллельно идет считывание в буфер следующего блока из внешнего устройства ( в предположении, что именно он и потребуется т.к. считывание данных с устройства чаще всего выполняется последовательного числа блоков). За счет этого и происходит ускорение ввода-вывода.
устройство
буфер
Страница в ОП
Двойная буферизация ( сменный буфер). Если использовать не 1 , а 2 буфера, то операции ввода-вывода можно еще ускорить. Во время считывания данных из первого буфера в ОП процесса можно одновременно выполнять считывание данных с устройства во 2 буфер
Циклическая буферизация
При двойной буферизации скорости считывании из буфера в ОП и из устройства в буфер отличаются, что приводит к торможению работы процесса. Поэтому используется еще система циклических буферов, когда буферов не 2 , а несколько, и считывание из них в ОП выполняется последовательно по кругу. Такая буферизация сглаживает разницу в скорости считывания из ОП и из устройства и ускоряет работу процессов
устройство
буфер 1
страница
буфер 2
1
2
..........
буфер n
n
Дисковое планирование
Для эффективного управления запросов к жесткому диску нужно учитывать особенности считывания ( записи) информации с HDD . Основную задержку составляет время доступа, которое состоит из:
- времени поиска ( установка головки диска на нужную дорожку) и
- времени задержки из-за вращения ( поиск на дорожке нужного сектора и позиционирование на его начало).
Эти параметры зависят от:
физического устройства диска: его размеров и скорости вращения
планирования поиска секторов по поступающим запросам.
Запросы к диску можно представить как запросы на считывание секторов с разных номеров дорожек. Например, запросы могут быть в такой последовательности номеров дорожек: 120, 158, 31, 60, 2, 83, 14
Для обработки всех этих запросов используются разные способы планирования:
FIFO ( first input first output) - это обработка всех запросов последовательно т.е. в том порядке как они расположены в очереди запросов. Самый простой способ, но время перемещения от дорожки 158 к дорожке 31, а затем к дорожке 60 будет больше, чем, например, от 158 – 60 – 38. Поэтому время передачи данных с диска будет не оптимальным. Разновидностями Fifo планирования являются обработка запросов по приоритетам (PRI) и обработка не первого поступившего, а последнего (LIFO).
PRI ( priority) – планирование обработки по приоритету запросов: из всей очереди выбираются те запросы для выполнения, которые имеют максимальный приоритет. Оно позволяет ускорить обработку наиболее важных запросов, но может оказаться, что некоторые процессы будут в «вечном» ожидании т.к. их приоритет все время будет ниже, чем других.
LIFO (Last input first output )–планирование используется при системе транзакций ( запись в специальный файл последних изменений). В этом случае выбираются запросы, которые поступили самыми последними. Однако, при этом подходе тоже возможно «вечное» ожидание.
SSTF (Shortest Service Time First)– планирование означает выбор тех запросов, которые минимально требуют перемещения головки. При таком планировании наиболее минимально используется время доступа, но возможны ситуации «вечного» ожидания.
SCAN – планирование частично решает проблему «вечного» ожидания за счет того, что выбираются не наиболее близкие дорожки, а наиболее близкие в одном направлении ( т.е. головка перемещается в направлении увеличения номеров дорожек), а по достижения крайней требуемой дорожки в этом направлении, направление меняется на обратное.
SCAN-разновидности –для решения «вечного» ожидания ( голодания) последовательность запросов разбивается на сегменты ( или несколько очередей) и выполняется полностью один сегмент, а только затем следующий. При этом в пределах каждого сегмента планирование выполняется по методу SCAN.
Вопросы на закрепление
Назначение буферизации. Принцип действия одинарной буферизации
Принцип работы двойной и циклической буферизации
Планирование FIFO и две его разновидности (PRI ,LIFO)
Отличие планирования SSTF от SCAN