- •Часть 1. Функции, состав и назначение ос
- •Место ос в структуре вычислительной системы
- •Две основные функции, выполняемые операционными системами.
- •Эволюция ос. Многозадачность и режим разделения времени
- •Эволюция ос. Дружественный интерфейс. Сетевые и распределенные ос
- •Классификация ос и краткая характеристика каждого класса
- •Требования, предъявляемые к современным ос. Их краткая характеристика
- •Часть 2. Архитектура ос
- •Монолитные ос
- •Многоуровневые ос. Основные и вспомогательные модули
- •Ядро ос в привилегированном положении
- •Многослойная структура ос и ядра
- •Виртуальные машины и гипервизоры
- •Микроядерная архитектура ос
- •Структура типовой unix-подобной ос
- •Структура ос семейства Windows nt
- •Аппаратная зависимость ос
- •Переносимость ос
- •Часть 3. Управление процессами и потоками
- •Мультипрограммирование или многозадачность. Вытесняющая и невытесняющая многозадачность.
- •Описатели процессов и потоков. Состояния процессов и потоков.
- •Описатели процессов и потоков. Операции над процессами и потоками.
- •20. Планирование и диспетчеризация. Контекст потока
- •Обработка прерываний. Типы прерываний.
- •Системные вызовы. Синхронный и асинхронный режим.
- •Синхронизация процессов и потоков. Блокирующие переменные и семафоры Дийкстры.
- •24. Сигналы. Реакция ос и приложений на сигналы.
- •Часть 4. Управление памятью
- •25. Функции ос по управлению памятью. Организация памяти.
- •26. Иерархия зу. Классификация зу.
- •27. Типы адресов памяти. Способы структурирования вап процесса.
- •28. Алгоритмы распределения памяти без использования внешней памяти. Достоинства и недостатки.
- •29. Виртуальная память и свопинг. Реализация виртуальной памяти.
- •30. Страничное распределение памяти. Преобразование виртуальных адресов в физические.
- •31. Методы выбора страницы для выгрузки ее на диск. Примеры.
- •32. Сегментное и сегментно-страничное распределение памяти. Отличительные особенности.
- •33. Разделяемые и невыгружаемые области памяти.
- •Часть 5. Управление данными
- •34. Основные функции подсистемы управления вводом-выводом.
- •35. Многослойная организация по ввода-вывода.
- •36. Менеджер (диспетчер) ввода-вывода.
- •37. Многоуровневые драйверы.
- •38. Файловая система. Логическая организация. Цели и задачи.
- •39. Типы файлов. Иерархическая структура фс.
- •40. Именование файлов. Типы имен файлов. Примеры.
- •41. Атрибуты файлов. Способы их хранения в конкретных файловых системах.
- •43. Физическая организация и адресация файла. Примеры.
- •Часть 6. Сетевые ос 46. Концепции распределенной обработки данных. Двухзвенные приложения.
- •48. Механизм сокетов. Примитивы передачи сообщений. (лекция 6)
- •Часть 7. Системные программы 49. Понятие и структура систем программирования.
- •50. Интерпретаторы, ассемблеры, макроассемблеры.(лекция 7)
- •51. Отладчики и загрузчики. Функции и назначение (лекция 7)
- •52. Процесс трансляции. Этапы, фазы и проходы.
- •53. Роль рекурсии в грамматике. Примеры. (лекция 7)
- •54. Порождения. Левое и правое порождения. Дерево синтаксического разбора. (лекция7)
37. Многоуровневые драйверы.
Традиционно под драйвером понимается программный модуль, который:
– входит в состав ядра ОС
– непосредственно управляет внешним устройством, взаимодействуя с его контроллером
– обрабатывает прерывания от контроллера устройства
– предоставляет программисту удобный логический интерфейс работы с устройством, экранируя от него низкоуровневые детали управления устройством и организации его данных
– взаимодействует с другими модулями ядра ОС с помощью строго оговоренного интерфейса и т.п.
По мере развития ОС и усложнения структуры ПВВ, наряду с традиционными драйверами в ОС
появились высокоуровневые драйверы
• Они располагаются в общей модели ПВВ над традиционными драйверами
• Традиционные драйверы стали называть аппаратными драйверами
• Они освобождены от высокоуровневых функций и занимаются только низкоуровневыми операциями,
результатами которых могут пользоваться более высокие уровни.
При их использовании повышается гибкость и расширяемость функций по управлению устройством – вместо жесткого набора функций, сосредоточенных в единственном драйвере, администратор ОС может выбрать требуемый набор функций, установив нужный низкоуровневый драйвер
• Если различным программам необходимо работать с логическими моделями одного и того же физического устройства, то для этого в системе устанавливается несколько драйверов на одном уровне, которые
работают над одним аппаратным драйвером.
Количество уровней драйверов в ПВВ обычно не ограничивается каким-либо пределом (обычно от 2
до 5)
• Несколько драйверов, управляющих одним устройством, но на разных уровнях, можно рассматривать как набор
отдельных драйверов или как один многоуровневый драйвер.
В подсистеме сетевых устройств аппаратными являются драйверы сетевых адаптеров, которые выполняют функции канальных протоколов, таких как Ethernet, Frame Relay, ATM и других технологий
• Эти драйверы выполняют простые функции – они организуют передачу кадров данных между устройствами одного сегмента сети
• Над ними располагается слой модулей, которые реализуют функции более интеллектуальных протоколов сетевого уровня – IP или IPX, которые могут обеспечить взаимодействие устройств разных сетей с произвольной топологией связи.
Над слоем сетевых протоколов располагается слой драйверов транспортных протоколов, таких как TCP/UDP, SPX или NetBEUI, которые отвечают за гарантированную связь между компьютерами сети • Еще выше расположен слой драйверов протоколов прикладного уровня (http, ftp и SMB и другие)
• Они предоставляют пользователям сети конечные услуги по доступу к гипертекстовой информации, архивам
файлов и т.д.
Необязательно все модули ПВВ оформляются в виде драйверов
• Например, в подсистеме управления дисками обычно имеется дисковый кэш, который служит для кэширования
блоков дисковых файлов в ОП
• Достаточно специфические функции делают нецелесообразным оформление его в виде драйвера,
взаимодействующего с другими модулями ОС.
Аппаратные драйверы после запуска ОВВ должны своевременно реагировать на завершение контроллером заданного действия
• Для решения этой задачи они взаимодействуют с системой прерываний
• Драйверы более высоких уровней вызываются не по прерываниям, а по инициативе аппаратных
драйверов или драйверов вышележащего уровня.
Не все процедуры аппаратного драйвера вызываются по прерываниям, поэтому драйвер обычно имеет определенную структуру, в которой выделяется процедура обработки прерываний (Interrupt Service Routine, ISR)
• Эта процедура вызывается при поступлении запроса от соответствующего устройства диспетчером прерываний.
