- •Часть 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)
33. Разделяемые и невыгружаемые области памяти.
Подсистема виртуальной памяти представляет собой очень удобный механизм организации совместного
доступа нескольких процессов к одной и той же области памяти, который называется разделяемой памятью
• Для организации разделяемой области достаточно поместить ее в ВАП каждого процесса, которому нужен доступ к данному сегменту, а затем настроить параметры отображения этих виртуальных областей так, чтобы они соответствовали одной и той же области ОП.
Возможно более экономичное для ОС решение этой задачи – помещение единственной разделяемой области в
системную часть ВАП
• В этом случае настройка адресов выполняется только один раз, а все процессы пользуются такой настройкой
и совместно используют часть ОП
• При работе с разделяемыми областями памяти ОС должна выполнять некоторые функции, общие для любых
разделяемых ресурсов.
Для того чтобы отличать разделяемые области от индивидуальных, записи таблиц областей помимо прочего содержат поле, принимающее 2 значения: «разделяемая» и «индивидуальная»
• ОС может создавать разделяемые области и по явному запросу, и по умолчанию
• В первом случае процесс должен выполнить соответствующий системный вызов, во втором – ОС сама принимает решение о том, что нужно создать разделяемую область.
Иногда необходимо запретить выгрузку сегментов, страниц или областей на диск
• Это нужно, скажем, когда для ускорения работы устройств ввода-вывода в ОП создаются специальные буферы
• Существует небольшая вероятность, что в результате страничного прерывания они могут быть выгружены
• Чтобы исключить такую возможность, должны предоставляться возможности для блокировки страниц в ОП, которую еще называют привязкой.
Часть 5. Управление данными
34. Основные функции подсистемы управления вводом-выводом.
Подсистема ввода-вывода принимает запросы на передачу или прием данных от всех выполняющихся программ, как прикладных, так и системных, упорядочивает их и переадресует внешним устройствам с учетом их аппаратных особенностей.
Одна из главных задач ОС –обеспечение обмена данными между приложениями и периферийными
устройствами (ПУ)
• Функции обмена данными с ПУ выполняет подсистема ввода-вывода (ПВВ)
• Клиенты ПВВ – пользователи, приложения, некоторые компоненты ОС, которым требуется получение системных данных и их вывод
• Основные компоненты ПВВ – это драйверы, управляющие внешними устройствами, файловая система (ФС), и
диспетчер прерываний
Можно выделить две основные функции подсистемы ввода-вывода:
- изоляция всех других компонентов операционной системы и прикладных программ от особенностей аппаратной реализации внешних устройств компьютера;
- организация бесконфликтного и эффективного использования внешних устройств всеми исполняющимися программами.
Фактически, задачу изоляции от аппаратных особенностей внешних устройств решают драйверы – специальные подпрограммы в составе подсистемы ввода-вывода, которые непосредственно взаимодействуют с внешними устройствами, при этом для каждого внешнего устройства необходим собственный драйвер. Подсистема ввода-вывода любой современной операционной системы организована так, чтобы набор драйверов можно было легко заменять, обеспечивая работу прикладных программ и самой операционной системы при различных аппаратных конфигурациях компьютера.
Построение и работа подсистемы ввода-вывода, включая драйверы, в дальнейшем будет рассмотрено более подробно.
Как показывают многочисленные замеры и эксперименты, программы, кроме чисто вычислительных, большую часть своей жизни проводят в состоянии ожидания завершения операций ввода-вывода. Поэтому от эффективности работы подсистемы ввода-вывода существенно зависит эффективность работы всех остальных программ. Для повышения скорости выполнения запросов ввода-вывода, подсистема ввода-вывода широко использует такие приемы, как переупорядочивание запросов ввода-вывода или кэширование данных. В совокупности, подобные меры могут поднять производительность подсистемы ввода-вывода более, чем в 100 раз. В дальнейшем, при детальном изучении подсистемы ввода-вывода, основные приемы повышения производительности будут рассмотрены довольно подробно.
