- •Понятие операционной системы. Функции операционной системы. Классификация операционных систем.
- •Компоненты операционной системы. Виды ядер.
- •Монолитная структура операционной системы
- •4. Структура операционной системы unix
- •Ядро операционной системы unix
- •Основные понятия ос: системные вызовы, прерывания, исключительные ситуации, файлы, процессы и нити.
- •Процессы. Состояния процесса.
- •Process Control Block и контекст процесса.
- •9. Одноразовые и многоразовые операции. Переключение контекста.
- •10. Планирование процессов. Критерии планирования и требования к алгоритмам.
- •11. Вытесняющее и невытесняющее планирование
- •12.Алгоритм планирования fcfs.
- •13. Алгоритм планирования rr.
- •14. Поток в пространстве ядра, поток в пространстве пользователя.
- •15. Таблица потоков. Информация в таблице потоков
- •16. Алгоритмы планирования: fifo.
- •17. Алгоритмы планирования: «кратчайшая задача – первая»
- •18. Алгоритмы планирования: приоритетное планирование.
- •19. Алгоритмы планирования: планирование в системах реального времени.
- •20. Функция создания процесса CreateProcess()
- •21. Взаимоблокировка процессов. Тупики.
- •22. Методы борьбы с взаимоблокировками. Безопасное и небезопасное состояние.
- •25. Кооперация процессов. Логическая организация механизма передачи информации.
- •26.Адресации: прямая и непрямая.
- •27. Линии связи. Буферизация.
- •28. Поток ввода/вывода и сообщения.
- •29.Алгоритмы синхронизации. Критическая секция.
- •30. Механизмы синхронизации. Семафоры, мониторы и сообщения.
- •31. Управление памятью. Физическая организация памяти компьютера.
- •32. Анализ производительности многозадачных систем.
- •33. Распределение памяти с фиксированными разделами.
- •34. Управление памятью. Физическая организация памяти компьютера.
- •35. Методы без использования внешней памяти.
- •36. Распределение памяти с динамическими разделами.
- •37.Основные методы распределения памяти: с фиксированными разделами и динамическими разделами. Перемещение и рост разделов.
- •38. Сегментная архитектура памяти. Абсолютный и относительный адреса.
29.Алгоритмы синхронизации. Критическая секция.
Важным понятием при изучении способов синхронизации процессов является понятие критической секции (critical section) программы. Критическая секция – это часть программы, исполнение которой может привести к возникновению race condition для определенного набора программ. Чтобы исключить эффект гонок по отношению к некоторому ресурсу, необходимо организовать работу так, чтобы в каждый момент времени только один процесс мог находиться в своей критической секции, связанной с этим ресурсом. Иными словами, необходимо обеспечить реализацию взаимоисключения для критических секций программ. Реализация взаимоисключения для критических секций программ с практической точки зрения означает, что по отношению к другим процессам, участвующим во взаимодействии, критическая секция начинает выполняться как атомарная операция.
30. Механизмы синхронизации. Семафоры, мониторы и сообщения.
См вопрос 24 (Механизмы синхронизации: семафор, монитор )
31. Управление памятью. Физическая организация памяти компьютера.
Физическая организация памяти компьютера
Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую ) и вторичную (внешнюю) память.
Основная память представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес (номер). Процессор извлекает команду из основной памяти, декодирует и выполняет ее. Для выполнения команды могут потребоваться обращения еще к нескольким ячейкам основной памяти. Обычно основная память изготавливается с применением полупроводниковых технологий и теряет свое содержимое при отключении питания.
Вторичную память (это главным образом диски) также можно рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. В отличие от оперативной памяти, она является энергонезависимой, имеет существенно большую емкость и используется в качестве расширения основной памяти.
32. Анализ производительности многозадачных систем.
33. Распределение памяти с фиксированными разделами.
Самым простым способом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы или во время ее генерации. Очередная задача, поступившая на выполнение, помещается либо в общую очередь, либо в очередь к некоторому разделу .
Подсистема управления памятью в этом случае выполняет следующие задачи:
• сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел,
• осуществляет загрузку программы и настройку адресов.
При очевидном преимуществе – простоте реализации – данный метод имеет существенный недостаток – жесткость. Так как в каждом разделе может выполняться только одна программа, то уровень мультипрограммирования заранее ограничен числом разделов не зависимо от того, какой размер имеют программы. Даже если программа имеет небольшой объем, она будет занимать весь раздел, что приводит к неэффективному использованию памяти. С другой стороны, даже если объем оперативной памяти машины позволяет выполнить некоторую программу, разбиение памяти на разделы не позволяет сделать этого.