- •Часть 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)
Обработка прерываний. Типы прерываний.
Типы прерываний: запросы ввода/вывода, исключения, программные прерывания
Рассмотрим более подробно прерывания, остановившись на трех их типах. Работа любой вычислительной установки управляется центральным процессором. По отношению к нему рассматриваются два типа прерываний. Первая группа вызывается внешними событиями. Прежде всего, это запросы от различных внешних устройств. Они не связаны с работой самого центрального процессора. Другим типом прерываний являются такие, которые вызваны событиями возникающим при работе ЦПУ. Таким могут быть, например, нарушение защиты памяти, попытка деления на ноль и другие.
Как уже было сказано, в современных системах машинные команды выполняются в двух режимах: привилегированном и пользовательском. При переходе из одного состояния в другое так же выполняется прерывание. Наступление момента переключения режима работы процессора контролируется супервизором операционной системы. При попытке пользовательской программы выполнить запрещенную привилегированную команду происходит внутренние прерывание, и управление передается супервизору.
Большая группа прерываний происходят, когда встречается специальная команда. Такая группа составляют программные прерывания. Они обрабатываются, так же как и внутренние прерывания процессора. Эта группа была введена для того, чтобы переключение на выполнение обычных программных модулей пользовательских программ отличался от переключения на системные программные модули. В последнем случае происходит автоматическое переключение в привилегированный режим работы процессора и, следовательно, могут выполняться любые машинные команды.
Как и для любых многозадачных операционных систем, для систем реального времени одной из основных задач является организация реакции на прерывание. В состав любой подобной системы входят программы для обработки прерываний. Но специфика ОСРВ диктуют то, что аппаратно-программный комплекс должен обеспечить нечто большее, чем быстрое обслуживание прерываний.
Еще больше о прерываниях процессоров маршрутизаторов, вы можете почитать на сайте cisco systems. Эта известная фирма программирует маршрутизаторы и сетевое оборудование.
Системные вызовы. Синхронный и асинхронный режим.
Системный вызов позволяет приложению обратиться к ОС на выполнение того или иного действия, оформленного как процедура ОС
• Системные вызовы могут обслуживаться децентрализовано и централизовано
• При децентрализованном способе за каждым вызовом закрепляется определенное значение вектора прерываний
• Программа при таком способе вызова указывает в аргументе запроса значение вектора, после чего управление немедленно передается требуемой процедуре ОС
• Недостаток – привязка к аппаратной платформе
В большинстве ОС системные вызовы обслуживаются централизовано, с использованием диспетчера системных вызовов
• При любом системном вызове программа выполняет программное прерывание с определенным и единственным номером вектора
• Номер системного вызова передается ОС
• Этот номер является индексом в таблице адресов процедур ОС, реализующих системные вызовы.
Происходит переход в привилегированный
режим
• Диспетчер – это модуль сохранения контекста в системном стеке, проверяющая попадание номера вызова в диапазон и передающая управление процедуре ОС, адрес которой находится в таблице адресов системных вызовов
• Процедура реализации системного вызова получает аргументы и выполняет заданное действие
• По завершению работы системного вызова управление возвращается диспетчеру, при этом он получает код возврата
• Для программ системный вызов внешне ничем е отличается от вызова обычной функции языка программирования С
Синхронный системный вызов означает, что поток блокируется до тех пор, пока вызов не выполнит всю свою работу. Затем поток переводится в состояние готовности.
• Большая часть системных вызовов в ОС являются синхронными
• Асинхронный режим не переводит поток в блокированное состояние
• Асинхронных вызовов становится всовременных ОС все больше и больше.
