
- •1. Виды прерываний. Их роль в ос.
- •2. Понятие ресурса. Свойства и классификация ресурсов. Действия над ресурсами.
- •3. Понятие исключительной ситуации. Причины возникновения и механизмы обработки исключительных ситуаций.
- •4. Задачи синхронизации
- •5. Понятия чередования, состояния гонки и взаимоисключения.
- •6. Понятие атомарной операции. Механизмы поддержки атомарных операций.
- •7. Способы и алгоритмы синхронизации. Эквивалентность механизмов синхронизации.
- •1 Запрет прерываний
- •2 Переменная-замок
- •3 Алгоритм Петерсона
- •4 Алгоритм булочной (Bakery algorithm)
- •Эквивалентность семафоров, мониторов и сообщений
- •8. Объект синхронизации «критическая секция».
- •9. Объект синхронизации «семафор».
- •10. Объект синхронизации «мьютекс».
- •11. Понятие операционной системы. Назначение и функции операционной системы.
- •12. Классификация операционных систем.
- •13. Основные компоненты операционной системы. Взаимодействие компонентов операционной системы.
- •14. Ядро операционной системы. Состав и функции ядра операционной системы.
- •15. Архитектура операционных систем с «большим ядром».
- •16. Архитектура микроядерных операционных систем.
- •17. Архитектура нано- и пикоядерных операционных систем.
- •18. Концепция монолитного ядра операционной системы.
- •19. Концепция модульного ядра операционной системы.
- •20. Понятие процесса. Свойства и характеристики процессов.
- •21. Понятие вычислительного потока. Свойства и характеристики потоков (нитей)
- •23. Многозадачность в операционных системах. Различные типы многозадачности.
- •24. Простейшие схемы управления памятью.
- •25. Критерии планирования процессов и требования к алгоритмам планирования.
- •26, 29. Страничная, сегментная и странично-сегментная организация памяти.
- •27. Алгоритмы планирования процессов fcfs, rr, sjf.
- •28. Понятие адресного пространства. Виды адресных пространств.
- •29. Страничная, сегментная и странично-сегментная организация памяти.
- •30. Его нету.
- •31. Понятие ресурса. Виды ресурсов. Управление ресурсами.
- •33. Память, как ресурс операционной системы
- •34. Аппаратная поддержка виртуальной памяти
- •36. Алгоритмы замещения страниц. Fifo, lru, nfu, оптимальный алгоритм
- •37. Механизм трансляции адреса. Структура таблицы страниц. Аппаратная поддержка
- •40. Понятие директории. Реализация директории. Корневая директория.
- •50.Сообщения как механизм межпроцессного взаимодействия.
- •51. Сообщения как механизм межпроцессного взаимодействия.
- •52. Механизм межпроцессного взаимодействия «общая память».
- •53. Механизм межпроцессного взаимодействия «пайп».
- •54. Механизм межпроцессного взаимодействия «сокет».
10. Объект синхронизации «мьютекс».
Мью́текс (англ. mutex, от mutual exclusion — «взаимное исключение») — одноместный семафор, служащий в программировании для синхронизации одновременно выполняющихся потоков.
Мьютексы — это один из вариантов семафорных механизмов для организации взаимного исключения. Они реализованы во многих ОС, их основное назначение — организация взаимного исключения для потоков из одного и того же или из разных процессов.
Мьютексы — это простейшие двоичные семафоры, которые могут находиться в одном из двух состояний — отмеченном или неотмеченном (открыт и закрыт соответственно). Когда какой-либо поток, принадлежащий любому процессу, становится владельцем объекта mutex, последний переводится в неотмеченное состояние. Если задача освобождает мьютекс, его состояние становится отмеченным.
Задача мьютекса — защита объекта от доступа к нему других потоков, отличных от того, который завладел мьютексом. В каждый конкретный момент только один поток может владеть объектом, защищённым мьютексом. Если другому потоку будет нужен доступ к переменной, защищённой мьютексом, то этот поток засыпает до тех пор, пока мьютекс не будет освобождён.
Цель использования мьютексов — защита данных от повреждения в результате асинхронных изменений (состояние гонки), однако могут порождаться другие проблемы — такие, как взаимная блокировка (клинч).
Мьютекс отличается от семафора общего вида тем, что только владеющий им поток может его освободить, т.е. перевести в отмеченное состояние.
11. Понятие операционной системы. Назначение и функции операционной системы.
ОС – это совокупность ПО, предназначенного для обеспечения вычислительного процесса пользовательских программ, организации взаимодействия с пользователем и обеспечения непрерывного функционирования аппаратного обеспечения информационной системы.
Операционные системы служат для:
• Запуск и выполнения пользовательских программ init (в Linux) userexe (в Windows 98)
• Ввод/Вывод (интерпретатор команд)
• Работа оборудования(драйверы)
Назначение операционных систем . Операционные системы нужны, если:
• вычислительная система используется для различных задач, причём программы, решающие эти задачи, нуждаются в сохранении данных и обмене ими.
• различные программы нуждаются в выполнении одних и тех же рутинных действий.
• между программами и пользователями системы необходимо распределять полномочия
Основные функции:
• Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти и др.).
• Загрузка программ в оперативную память и их выполнение.
• Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).
• Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).
• Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.
12. Классификация операционных систем.
В зависимости от алгоритма управления процессором, операционные системы делятся на:
• Однозадачные
• Многозадачные
- Кооперативная (Windows до 95)
- Вытесняющая
• Однопользовательские (Windows 95, Windows 98)
• Многопользовательские (Windows 98>)
По архитектуре (типу ядра):
• С монолитным ядром (все ф-ции системы находятся внутри одного большого исполняемого файла)
• С модульным ядром (различные компоненты представлены в виде отдельных исполняемых файлах)
• С большим ядром (Mac OS, Windows… все ф-ции выполняются в ядре в привилегированном режиме)
• С микро ядром (IOS, Win CE, Win Phone… выполняются только основные операции)
• С нано ядром (операции выполняются в режиме ядра – прерывание, ввод-вывод, планирование)
• С пико ядром (выполняется только обработка прерываний)
• Сетевые
• Несетевые (DOS)
• RT (Real Time)
- Жесткие
- Мягкие
• NRT (отложенного времени)