Пример алгоритма динамического преобразования адресов (реализуется аппаратно):

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