- •Лекционный комплекс по дисциплине «Основы построения операционных систем»
- •Раздел 1. Классификация операционных систем
- •1. Введение. Классификация видов программного обеспечения.
- •2.Назначение и функции операционных систем.
- •3. Мультипрограммирование. Режим разделения времени.
- •4. Многопользовательский режим работы. Режимы реального времени.
- •4. Содержание лекции:
- •1.Универсальные операционные системы и ос специального назначения.
- •2. Классификация операционных систем.
- •3. Модульная структура построения ос и их переносимость.
- •4. Управление процессором.
- •Раздел 2. Организация и управление процессами
- •4. Содержание лекции:
- •1. Понятие процесса и ядра. Сегментация виртуального адресного пространства процесса.
- •2.Структура контекста процесса. Идентификатор и дескриптор процесса.
- •3.Диспетчеризация и синхронизация процессов.
- •4. Иерархия процессов. Понятие приоритета и очереди процессов.
- •4 Лекция
- •2.План лекции
- •5 Лекция
- •1.Тема лекции: Однозадачное и многозадачное выполнение процессов.
- •2.План лекции
- •4. Способы управления многопроцессорным решением задач.
- •Раздел 3. Управление вводом выводом
- •4. Содержание лекции:
- •2. Синхронный и асинхронный ввод-вывод.
- •3. Диспетчеризация ввода-вывода.
- •7 Лекция
- •2.План лекции
- •1. Произвольный и последовательный метод доступа.
- •2. Потоки ввода-вывода.
- •3. Способы защиты ввода-вывода.
- •Раздел 4. Файловая система
- •1.Тема лекция. Основные функции файловой системы. Компоненты файловой системы.
- •2.План лекции
- •4. Содержание лекции: Основные функции файловой системы.
- •2. Компоненты файловой системы.
- •1.Тема лекции. Способы организации файлов. Менеджер файловой системы. Сохранность и защита файлов
- •2.План лекции
- •1. Способы организации файлов.
- •2. Менеджер файловой системы.
- •3. Сохранность и защита файлов.
- •Раздел 5. Управление памятью
- •1.Тема лекции: Совместное использование памяти. Защита памяти. Функции доступа. Организация виртуальной памяти.
- •2.План лекции
- •4. Содержание лекции:
- •1. Совместное использование памяти.
- •2. Защита памяти.
- •3. Функции доступа.
- •4. Организация виртуальной памяти.
- •1.Тема лекции. Стратегии откачки и подкачки страниц Менеджер ресурса памяти. Стратегии распределения памяти.
- •2.План лекции
- •4. Содержание лекции:
- •1. Управление памятью. Совместное использование памяти
- •2. Защита памяти.
- •3. Механизм реализации виртуальной памяти.
- •1.Тема лекции. Стратегии откачки и подкачки страниц Менеджер ресурса памяти. Стратегии распределения памяти.
- •2.План лекции
- •4. Содержание лекции:
- •Раздел 6. Управление телекоммуникационным доступом
- •4. Содержание лекции:
- •1.Пользовательский интерфейс и оболочки.
- •2.План лекции
- •4. Содержание лекции:
- •3. Маршрутизация, буферизация и регистрация сообщений.
- •4. Удаленная обработка. Электронная почта.
- •2.План лекции
- •4. Содержание лекции:
- •6. Программные средства сетевой защиты информации.
2. Потоки ввода-вывода.
Любая операция ввода/вывода имеет своей целью передать поток данных от одного устройства вычислительной системы другому, которое занимается необходимой обработкой этих, выше указанных, данных. В общем случае все драйверы устройств ввода/вывода могут быть условно разделены по характеру потоков ввода/вывода на два больших класса: блок-ориентированные (block-oriented) и байт-ориентированные (character-oriented). Например, драйверы графических устройств и драйверы сетевых устройств относятся к классу байт-ориентированных.
Блок-ориентированные драйверы управляют устройствами прямого доступа, которые хранят информацию в блоках фиксированного размера, каждый из которых имеет собственный адрес. Самое распространенное внешнее устройство прямого доступа — диск. Адресуемость блоков приводит к тому, что для устройств прямого доступа появляется возможность кэширования данных в оперативной памяти и это обстоятельство значительно влияет на общую организацию ввода-вывода для блок-ориентированных драйверов.
Устройства, с которыми работают байт-ориентированные драйверы, не адресуемы и не позволяют производить операцию поиска данных, они генерируют или потребляют последовательности байт. Примерами таких устройств, которые также называют устройствами последовательного доступа, служат терминалы, строчные принтеры, сетевые адаптеры.
Блок- или байт-ориентированность является характеристикой как самого устройства, так и драйвера. Очевидно, что если устройство не поддерживает обмен адресуемыми блоками данных, а позволяет записывать или считывать последовательность байт, то и устройство, и его драйвер можно назвать байт-ориентированными. Для байт-ориентированного устройства невозможно разработать блок-ориентированный драйвер. Устройство прямого доступа с блочной адресацией является блок-ориентированным, и для управления им естественно использовать блок-ориентированный драйвер. Однако блок-ориентированным устройством можно управлять и с помощью байт-ориентированиого драйвера. Так, диск можно рассматривать не только как набор блоков, но и как набор байт, первый из которых начинает первый блок диска, а последний завершает последний блок. Физический обмен с контроллером устройства по-прежнему осуществляется блоками, но байт-ориентированный драйвер устройства будет преобразовывать блоки в последовательность байт. Для устройств прямого доступа часто разрабатывают пару драйверов, чтобы к устройству можно было обращаться и по байт-ориентированному, и по блок-ориентированному интерфейсам в зависимости от потребностей.
Деление всех драйверов на блок-ориентированные и байт-ориентированные оказывается полезным для структурирования подсистемы управления вводом-выводом. Тем не менее, необходимо учитывать, что эта схема является упрощенной — имеются внешние устройства, драйверы которых не относятся ни к одному классу, например таймер, который, с одной стороны, не содержит адресуемой информации, а с другой стороны, не порождает потока байт. Это устройство только выдает сигнал прерывания в некоторые моменты времени.
Операционная система UNIX в свое время сделала еще один важный шаг по унификации операций и структуризации программного обеспечения ввода-вывода. В ОС UNIX все устройства рассматриваются как некоторые виртуальные (специальные) файлы, что дает возможность использовать общий набор базовых операций ввода-вывода для любых устройств независимо от их специфики. Эти вопросы обсуждаются в следующем разделе, посвященном файлам и файловым системам.
Специальные файлы, называемые иногда виртуальными, не связаны со статичными наборами данных, хранящихся на дисках, а являются удобным унифицированным представлением устройств ввода-вывода.
Понятие специального файла появилось в операционной системе UNIX- Специальный файл всегда связан.с некоторым устройством ввода/вывода и представляет его для остальной части операционной системы и прикладных процессов в виде неструктурированного набора байт. Со специальным файлом можно работать так же, как и с обычным, то есть открывать, считывать из него определенное количество байт или же записывать в него определенное количество байт, а после завершения операции закрывать. Для этого используются те же системные вызовы, что и для работы с обычными файлами.
Для устройств прямого доступа имеет смысл также указатель текущего положения в файле, которым можно управлять с помощью системного вызова.
Очевидно, что представление устройства в виде файла и использование для управления устройством файловых системных вызовов во многих случаях не позволяет выполнять только достаточно простые операции.
