
- •Вопрос 1. Виды ресурсов вычислительной системы. §1.1 Виды ресурсов вычислительной системы.
- •Вопрос 2. Структура и виды программного обеспечения (по). Характеристика системного по. §1.2 Структура программного обеспечения.
- •Вопрос 3. Классификация ос. §2.1 Классификация операционных систем.
- •Вопрос 4. Назначение и основные функции операционной системы (ос) для автономного компьютера. §2.2 Операционные системы для автономного компьютера
- •Функциональные компоненты ос для автономного компьютера
- •Вопрос 5. Сетевые операционные системы: функциональные компоненты и варианты построения. §2.3 Сетевые операционные системы.
- •Функциональные компоненты сетевой ос
- •Варианты построения сетевых ос
- •Вопрос 6. Одноранговые и серверные операционные системы. §2.4 Одноранговые и серверные операционные системы.
- •Операционные системы в одноранговых сетях
- •Операционные системы в сетях с выделенными серверами
- •Вопрос 7. Принципы построения ос. §3.1 Принципы построения ос.
- •Вопрос 8. Виды программных модулей. §3.2 Виды программных модулей.
- •Вопрос 9. Ядро и вспомогательные модули ос. §3.3 Ядро и вспомогательные модули операционной системы.
- •Вопрос 10. Классическая архитектура ос. §3.4 Классическая архитектура операционной системы.
- •Вопрос 11. Микроядерная архитектура ос. §3.5 Микроядерная архитектура ос.
- •Вопрос 12. В чем заключается принцип безопасности и как он обеспечивается операционной системой? §3.6 Обеспечение безопасности вычислительной системы.
- •Вопрос 13. Что такое мультипрограммирование (многозадачность)? Реализация мультипрограммирования в системах пакетной обработки, разделения времени, реального времени. §4.1.1 Мультипрограммирование.
- •§4.1.2.Мультипрограммирование в системах пакетной обработки.
- •§4.1.3.Мультипрограммирование в системах разделения времени.
- •Мультипрограммирование в системах реального времени.
- •Вопрос 14. Мультипроцессорная обработка, архитектуры мультипроцессорных систем. §4.1.4.Мультипроцессорная обработка.
- •Вопрос 15. Что такое вычислительный процесс, поток? Состояния процесса. §4.2.1.Планирование процессов и потоков. Понятия «процесс» и «поток».
- •Вопрос 16. Реализация (создание) процессов и потоков. Дескрипторы. §4.2.2.Реализация (создание) процессов и потоков.
- •Вопрос 17. Планирование и диспетчеризация процессов и потоков. Вытесняющие и невытесняющие алгоритмы планирования. §4.2.3.Планирование и диспетчеризация потоков
- •§4.2.4.Вытесняющие и невытесняющие алгоритмы планирования
- •Вопрос 18. Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы. §4.2.5.Алгоритмы планирования, основанные на квантовании.
- •Алгоритмы планирования, основанные на приоритетах.
- •Смешанные алгоритмы планирования.
- •Вопрос 19. Планирование в системах реального времени. §4.2.6.Планирование в системах реального времени.
- •Моменты перепланировки.
- •Вопрос 20. Мультипрограммирование на основе прерываний. Механизм прерываний. §4.3.1.Мультипрограммирование на основе прерываний. Назначение и типы прерываний.
- •§4.3.2.Механизм прерываний.
- •Вопрос 21. Необходимость синхронизации процессов и потоков. Критическая секция. §4.4 Синхронизация процессов и потоков.
- •§4.4.1.Критическая секция.
- •Вопрос 22. Способы реализации взаимных исключений путем запрещения прерываний, использования блокирующих переменных, системных вызовов. §4.4.2.Запрещение прерываний.
- •§4.4.3.Блокирующие переменные.
- •Вопрос 23. Назначение и использование семафоров. §4.4.4Семафоры.
- •Вопрос 24. Взаимные блокировки процессов. Методы предотвращения, обнаружения и ликвидации тупиков. §4.4.6. Синхронизирующие объекты ос.
- •Тупики.
- •Вопрос 25. Функции ос по управлению памятью. Типы адресов. Преобразование адресов. §5.1 Функции ос по управлению памятью.
- •§5.2 Типы адресов.
- •Вопрос 26. Методы распределения памяти без использования диска (фиксированными, динамическими, перемещаемыми разделами). §5.3.1. Методы распределения памяти.
- •§5.3.1 Распределение памяти без использования диска. Распределение памяти фиксированными разделами.
- •Распределение памяти динамическими разделами.
- •§5.3.1.Распределение памяти перемещаемыми разделами.
- •Вопрос 27. Понятие виртуальной памяти, ее назначение. Свопинг. §5.3.2.1. Виртуальная память. Понятие виртуальной памяти.
- •Вопрос 28. Страничное распределение оперативной памяти. §5.3.2.2.Страничное распределение памяти.
- •Вопрос 29. Сегментное распределение оперативной памяти. §5.3.2.3.Сегментное распределение памяти.
- •Вопрос 30. Странично-сегментное распределение оперативной памяти. §5.3.2.4.Странично-сегментное распределение памяти.
- •Вопрос 31. Кэш-память. Принцип функционирования кэш-памяти. §5.4.1. Кэширование данных.
- •§5.4.2.Функционирование кэш-памяти.
- •Вопрос 32. Способы отображения оперативной памяти на кэш (случайное, детерминированное, комбинированное отображение). § 5.4.3. Способы отображения основной памяти на кэш.
- •Вопрос 33. Физическая организация устройств ввода-вывода. §6.1 Физическая организация устройств ввода-вывода.
- •Вопрос 34. Принципы организации программного обеспечения ввода-вывода. §6.2 Организация программного обеспечения ввода-вывода.
- •Обработка прерываний.
- •Драйверы устройств.
- •Независимый от устройств слой операционной системы.
- •Пользовательский слой программного обеспечения.
- •§7.1.2.Типы файлов.
- •§7.1.3.Логическая организация файла.
- •Вопрос 36. Физическая организация файловой системы. Структура жесткого диска. §7.2 Физическая организация файловой системы.
- •Структура жесткого диска.
- •Вопрос 37. Физическая организация и адресация файла. Права доступа к файлу. §7.2.1.Физическая организация и адресация файла.
- •§7.2.2.Права доступа к файлу.
- •Кэширование диска.
- •Вопрос 38. Общая модель файловой системы. §7.3 Общая модель файловой системы.
- •Вопрос 39. Современные архитектуры файловых систем. §7.3. Современные архитектуры файловых систем.
- •Вопрос 40. Физические организации файловой системы fat. §7.6 Физическая организация файловой системы fat.
- •Вопрос 41. Физические организации файловой системы ntfs. §7.7. Физические организации файловой системы ntfs.
- •7.8 Сравнение файловых систем
- •Вопрос 42. Системы программирования: состав систем программирования. Этапы разработки по. §8 Состав систем программирования.
- •8.2 Компоненты систем программирования Текстовые редакторы
- •Трансляторы, компиляторы и интерпретаторы
- •Список литературы
Вопрос 9. Ядро и вспомогательные модули ос. §3.3 Ядро и вспомогательные модули операционной системы.
Все модули ОС разделяются на две группы: ядро и вспомогательные модули.
Ядро – наиболее часто используемые модули ОС, выполняющие основные ее функции: управление процессами, памятью, устройствами ввода/вывода и т.д. Модули ядра образуют основу ОС, без них она не работоспособна, и не сможет выполнить ни одну из своих функций.
Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти, то есть являются резидентными.
Для повышения надежности ядро обычно оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Ядро имеет многослойную структуру, образованную следующими слоями (рис. 3.4).
Рис. 3.4. Многослойная структура ядра ОС
Средства аппаратной поддержки ОС обеспечивают поддержку привилегированного режима, систему прерываний, переключение контекстов процессов, защиту областей памяти. Типичный набор средств аппаратной поддержки в современных ОС включает в себя специальные регистры процессора, специальные области оперативной памяти и т. д.
Машинно-зависимые компоненты ОС. Этот слой образуют модули, в которых отражается специфика аппаратной платформы ВС. В идеале этот слой полностью экранирует вышележащие слои ядра от особенностей аппаратуры, что позволяет разрабатывать вышележащие слои на основе машинно-независимых модулей (например, слой HAL ОС Windows NT).
Базовые механизмы ядра. Этот слой выполняет наиболее примитивные операции ядра: переключение контекстов процессов, диспетчеризацию прерываний, перемещение страниц из памяти на диск и обратно. Модули данного слоя не принимают решений о распределении ресурсов – они только обрабатывают принятые «наверху» решения.
Менеджеры ресурсов. Это слой мощных функциональных модулей, реализующих стратегические задачи по управлению основными ресурсами ВС. На данном уровне работают менеджеры (диспетчеры) процессов, ввода/вывода, файловой системы и оперативной памяти. Каждый из менеджеров ведет учет свободных и используемых ресурсов определенного типа и планирует их распределение в соответствии с запросами приложений. Внутри слоя менеджеров существуют тесные взаимосвязи. Например, при создании процесса менеджер процессов обращается к менеджеру памяти с запросом о выделении процессу области памяти для размещения программы и данных.
Интерфейс системных вызовов. Это самый верхний слой ядра, который непосредственно взаимодействует с приложениями, образуя прикладной программный интерфейс ОС. Например, в ОС Windows это API – application program interface.
Ядро ОС взаимодействует напрямую с аппаратурой ВС, а посредством системных вызовов с работающими приложениями. Разбиение ядра ОС на слои и способы взаимодействия между ними достаточно условны и отличаются в различных ОС.
Вспомогательные модули выполняют вспомогательные функции: дефрагментация диска, архивирования данных, игры, текстовые и графические редакторы и т.д. Вспомогательные модули оформляются в виде библиотек или в виде обычных приложений и загружаются в оперативную память только на время их исполнения, т. е. являются транзитными.
Поскольку некоторые компоненты ОС оформлены как обычные приложения, четкой границы между ОС и приложениями не существует (рис. 3.5).
Рис. 3.5. Нечеткость границы между ОС и приложениями
Вспомогательные модули ОС обычно подразделяются на следующие группы:
- утилиты – программы, решающие отдельные задачи управления и сопровождения компьютерной системы, например, программы сжатия дисков, архивирования данных;
- системные обрабатывающие программы – текстовые или графические редакторы, компиляторы, компоновщики, отладчики;
- программы предоставления пользователю дополнительных услуг – специальный вариант пользовательского интерфейса, калькулятор, игры;
- библиотеки процедур различного назначения, упрощающие разработку приложений, например библиотека математических функций, функций ввода-вывода и т. д.
Для выполнения своих задач вспомогательные модули ОС и другие приложения обращаются к функциям ядра посредством системных вызовов (рис. 3.6).
Рис. 3.6. Взаимодействие приложений с ядром ОС
Разбиение всех модулей ОС на две группы (ядро и вспомогательные модули) присуще всем ОС. Разделение операционной системы на ядро и модули-приложения обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать ответственные функции, образующие ядро системы.
В зависимости от способа взаимодействия ядра и вспомогательных модулей, различают две основные архитектуры ОС: классическая архитектура и микроядерная архитектура.