Пример алгоритма динамического преобразования адресов (реализуется аппаратно):
PROCEDURE DAT
Разложить виртуальный адрес на номер страницы и смещение и найти вхождение этой страницы в PMT.
ЕСЛИ страница находится в памяти, ТО
BEGIN
Объединить (адрес страницы кадра, смещение) для создания
Страницы кадра.
ЕСЛИ это команда типа store, ТО Пометить в PMT, что страница модифицирована.
END
ИНАЧЕ вызвать страничное прерывание.
Алгоритм обработки страничных прерываний (реализуется программно как часть операционной системы) будет выглядеть следующим образом:
PROCEDURE PageFault
Сохранить состояние процесса из рабочей области прерывания.
Пометить процесс как блокированный.
ЕСЛИ имеется свободный страничный кадр ТО
Выбрать свободный страничный кадр.
Пометить выбранный кадр как занятый в таблице страниц.
Разрешить все прерывания.
ИНАЧЕ
Выбрать страницу для выталкивания.
Пометить выбранный кадр как занятый в таблице страниц.
Разрешить все прерывания.
ЕСЛИ выбранная страница была модифицирована, ТО Обновить PMT и таблицу страниц кадров
Выдать запрос на ввод/вывод чтобы переписать страницу во внешнюю память.
Ждать завершения операции записи.
Выдать запрос на ввод/вывод для чтения страницы в выбранный страничный кадр.
Ожидать завершения операции чтения.
Обновить PMT и таблицу страниц кадров.
Пометить процесс как готовый.
Восстановить состояние пользовательского процесса, вызвавшего страничное прерывание.
END
Кадр помечается как занятый, для избежания повторной занятости. Информация о состоянии берется обработчиком из рабочей области памяти и сохраняется в отведенном месте для данного процесса. Затем выполняются операции по вводу/выводу, по обмену страниц и после завершения обмена сохраняется информация о состоянии кадра и передается команда, вызывающая прерывание. Страничные таблицы реализуются в виде массивов в центральной памяти. На начало PMT текущего активного процесса указывает специальный регистр, устанавливаемый операционной системой. Если реализуется одно прерывание на 100 обращений к виртуальной памяти, то 90% времени уходит на свопинг страниц (рис. 10).

Рис. 10
6. УПРАВЛЕНИЕ ВНЕШНЕЙ ПАМЯТЬЮ
Управление внешней памятью реализуется с помощью файловой системы, которая содержит такие программные компоненты:
1. Средства взаимодействия с процессами пользователей, обеспечивающие прием и интерпретацию запросов на обработку файлов. В операционной системе MS-DOS это файл программы .
2. Средства доступа к составным элементам файла.
3. Средства распределения внешней памяти для хранения данных.
4. Средства учета расположения как файла в целом, так и отдельных его составных компонентов.
Перечисленные программные средства составляют логический уровень управления данными, а подсистема ввода/вывода – физический уровень, который вместе с логическим уровнем составляет файловую систему. Файл может быть представлен как некоторое виртуальное внешнее устройство, имеющее собственную систему команд. В UNIX - противоположный подход: с внешними устройствами работают как с файлами.
Существуют такие логические структуры файлов:
1. Последовательная.
2. Индексно–последовательная, при которой каждая логическая запись, входящая в файл, содержит ключ. Все записи упорядочиваются по значению ключа. Для быстрого поиска существуют группы записей, которым присваиваются индексы, и поиск осуществляется по индексу, а потом по ключу.
3. Библиотечная структура файлов, содержащая учетный и информационный уровни. Используются поименованные файлы, информация о которых хранится в каталогах.
При управлении внешней памятью используются те же алгоритмы, что и для управления реальной памятью (первый подходящий). При этом при связывании дыр на диске в список объединяются указатели свободных дыр, которые фиксируются в таблице, хранящейся в оперативной памяти.
Особенности распределения внешней памяти в UNIX (рис.11). Каждый файл в системе имеет дескриптор, в составе которого хранится список, содержащий 13 номеров блоков на диске. Используется прямая и косвенная адресация: первые 10 элементов указывают на 10 блоков, в которых размещаются данные файла; одиннадцатый элемент указывает на номер блока, в котором хранится список из 128 номеров блоков, указывающих на блоки по 512 байт; двенадцатый – указывает на блок, содержащий список из 128 номеров блоков первого уровня, тринадцатый - указывает на более крупные блоки. 
Рис. 11
Память под файлы выделяется непрерывной областью, состоящей из смежных блоков, или в любом порядке, что снимает проблему расширения размеров файла. Учет информации о расположении файлов отражается в каталогах, в которых описываются физические и логические характеристики файлов. В каталогах хранится список имен файлов и ссылки на дескрипторы файлов, содержащие более подробную информацию.
Основные принципы хранения файлов в ОС MS DOS и Windows.
1. Использование стандартных 512-байтных секторов данных.
2. Никакие области памяти не резервируются. Сектора данных выбираются из общего объема.
3. Распределение секторов данных и объединение их в файл реализуются с помощью таблицы размещения файлов (FAT).
4. Каждый диск имеет справочник, хранящийся на диске файлов. Кроме секторов данных используются 3 специальных сектора данных. Первый - содержит загрузочную запись, которая создается при форматировании диска, даже если он не является системным, и используется при загрузке в оперативную память системных файлов программ операционной системы; два последующих сектора хранят таблицу размещения секторов файлов на диске (FAT); следующие 7 секторов диска содержит справочник диска. Каждый элемент справочника занимает 32 байта, поэтому в семи секторах может храниться 112 элементов. Каждый элемент справочника содержит: имя файла, расширение имени, атрибуты файла (системный, только для чтения и др.), дату и время последнего изменения файла, размер файла, номер начального кластера; байты 12…21 зарезервированы.
7. УПРАВЛЕНИЕ ПЕРИФЕРИЙНЫМИ УСТРОЙСТВАМИ
Существует два типа управления периферийными устройствами - прямой и косвенный.
Прямое управление реализует непосредственную связь между процессором и периферийным устройством. Управление осуществляется с помощью последовательности специальных команд. При этом центральный процессор реализует полный алгоритм: инициализацию, проверку готовности, останов.
При косвенном управлении между процессором и периферийным устройством помещается специальный процессор, который осуществляет управление операциями ввода/вывода. Такой процессор называется каналом. Центральный процессор инициирует ввод/вывод и переход на выполнение других операций, а канал управляет периферийным устройством по специальной программе, канальной. Для синхронной работы центрального процессора и канала используются флаги занятости или прерывания. Программа управления периферийным устройством – супервизор ввода/вывода - в ответ на прерывание реагирует так: планирует и организует ввод/вывод, при необходимости организует обновление данных, при этом выполняются следующие операции ввода/вывода. Для сглаживания скоростей в периферийном канале и управляющем устройстве между ними ставится буфер, роль которого выполняет оперативная память. При определении длины буфера должен обеспечиваться компромисс между эффективностью использования оперативной памяти и внешней памяти (чем длиннее буфер, тем больше времени работает канал независимо от центрального процессора).
Реализация подсистемы ввода/вывода в операционной системе UNIX имеет следующие особенности:
1. Подсистема имеет унифицированный доступ как к периферийным устройствам, так и к файлам.
2. Подсистема работает как синхронная система (каждый процесс, требующий ввода, приостанавливается в точке для завершения операции).
3. Для управления используются два вида ввода/вывода: байт-ориентированный (интерфейс применяется для доступа к печатающим устройствам, каналам связи и реализуется без буферизации) и блок-ориентированный (интерфейс адресуется к периферийным устройствам как к последовательным блокам по 512 байт).
В состав UNIX входят драйверы и специальные таблицы подключения ядра операционной системы к драйверам различных устройств. Каждый драйвер состоит из двух частей:
1) Содержит набор программных модулей для операций открытия, закрытия, чтения и записи в файл данных.
2) Содержит модуль обработки прерывания. Для байт-ориентированной передачи прерывание наступает после передачи первого байта, а для блок-ориентированной – после передачи первого блока.
8. СПИСОК ЛИТЕРАТУРЫ
1. Введение в системное программирование. - М.: Мир, 1988. – 448 с.
2. , UNIX – универсальная среда программирования. – М.: Финансы и статистика, 19с.
3. Робачевский система UNIX. – СПб.: BHV – Санкт-Петербург, 1997. –528 с.
4. LINUX: руководство по операционной системе. – Киев, Издательская группа BHV, 1997, - 688 с.
5. Программирование в Windows 95. Освой самостоятельно. - М.: Восточная Книжная Компания, 19с.
ОГЛАВЛЕНИЕ
Введение................................................................................................................................................................................................ 3
1. УПРАВЛЕНИЕ ПРОЦЕССАМИ В ОПЕРАЦИОННЫХ СИСТЕМАХ........................................................................ 3
1.1 Основные понятия операционных систем................................................................................................ 3
1.1.1 Классификация процессов............................................................................................................................................ 4
1.1.2 Классификация операционных систем..................................................................................................................... 5
1.1.3 Классификация ресурсов.............................................................................................................................................. 6
1.1.4 Дисциплины распределения ресурсов, используемые в операционных системах......................................... 6
1.1.5 Типовые дисциплины обслуживания очередей....................................................................................................... 7
1.2 Уровни управления процессами в операционных системах................................................... 10
1.2.1 Уровень долгосрочного планирования.................................................................................................................... 11
1.2.2 Уровень краткосрочного планирования................................................................................................................. 12
1.2.3 Дескриптор процесса.................................................................................................................................................. 13
1.3 Реализация управления процессами в ОС................................................................................................ 14
1.3.1 Управление процессами в операционной системе UNIX................................................................................... 14
1.3.2 Управление процессами в OS/2................................................................................................................................. 15
1.3.3 Функции управления потоками................................................................................................................................. 18
1.3.4 Управление процессами в операционной системе WINDOWS 95................................................................... 21
1.4 Выводы по теме “Управление процессами в операционных системах”:......................... 23
2. ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ В ОПЕРАЦИОННЫХ СИСТЕМАХ............................................................. 24
3. УПРАВЛЕНИЕ ПАМЯТЬЮ В ОПЕРАЦИОННОЙ СИСТЕМЕ.................................................................................. 26
3.1 Управление памятью в OS/2.................................................................................................................................. 26
3.2 Особенности управления памятью в Windows 95............................................................................... 28
3.3 Управление виртуальной памятью.............................................................................................................. 28
4. УПРАВЛЕНИЕ ВНЕШНЕЙ ПАМЯТЬЮ............................................................................................................................ 33
5. УПРАВЛЕНИЕ ПЕРИФЕРИЙНЫМИ УСТРОЙСТВАМИ........................................................................................... 35
СПИСОК ЛИТЕРАТУРЫ................................................................................................................................................................... 36
Учебное издание
Станислав Павлович Титаренко
УПРАВЛЕНИЕ ПРОЦЕССАМИ
В СОВРЕМЕННЫХ ОПЕРАЦИОННЫХ СИСТЕМАХ Э В М
Учебное пособие
Редактор
Корректор
Изд. лиц. ИД № 000 от 10.11.99. Подписано в печать
Формат 60´84/16. Усл. печ. л. 2.1 Уч.-изд. л. 2.0 Тираж 150 экз.
Заказ Цена
Отпечатано в Белгородской государственной технологической академии
г. Белгород, ул. Костюкова, 46
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |



