- •Вопрос 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 Компоненты систем программирования Текстовые редакторы
- •Трансляторы, компиляторы и интерпретаторы
- •Список литературы
Вопрос 10. Классическая архитектура ос. §3.4 Классическая архитектура операционной системы.
Для надежной и безопасной работы ОС ее ядро должно иметь более высокие привилегии по сравнению со вспомогательными модулями самой ОС и пользовательскими приложениями (рис. 3.7). Иначе некорректно работающее приложение может вмешаться в работу ОС и, например, разрушить часть ее кодов. Операционная система должна обладать исключительными полномочиями также для того, чтобы играть роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме. Ни одно приложение не должно иметь возможности без ведома ОС получать дополнительную область памяти или занимать процессор дольше разрешенного операционной системой времени.
Привилегии ядра обеспечиваются средствами аппаратной поддержки процессора, который должен поддерживать как минимум два режима работы:
- пользовательский режим (user mode);
- привилегированный режим ядра (kernel mode).
Рис. 3.7. Ядро ОС в привилегированном режиме
При обращении к ядру происходит переход из пользовательского режима работы в привилегированный, что требует дополнительных временных затрат (рис. 3.8). Т.е. повышение устойчивости ОС обходится некоторым замедлением работы, чем при вызове без смены режима.
Рис. 3.8. Смена режимов при выполнении системного вызова к привилегированному ядру
Недостатком классической архитектуры является то, что все основные функции ОС сосредоточены в ядре, объем кода которого достигает больших размеров. Это значительно затрудняет разработку качественного и надежного программного обеспечения, реализацию дополнительных требований к ОС, вызов функций одного приложения из другого приложения.
Вопрос 11. Микроядерная архитектура ос. §3.5 Микроядерная архитектура ос.
В микроядерной архитектуре в привилегированном режиме работает только небольшая часть ОС, называемая микроядром.
В состав микроядра обычно входят машинно-зависимые модули и некоторые базовые модули, обеспечивающие управление процессами, устройствами ввода/вывода, прерываниями, виртуальной памятью и пересылкой сообщений, т.е. функции, которые трудно выполнить программам, работающим в режиме пользователя.
Все остальные более высокоуровневые функции ядра оформляются в виде специализированных компонентов ОС – серверов, работающих в пользовательском режиме. Основным назначением серверов является обслуживание запросов других приложений – клиентов (например, создание процесса, выделение памяти и т.д.). Роль посредника при взаимодействии выполняет микроядро.
Инициатором взаимодействия является клиент (рис. 3.9), который посылает запрос на обслуживание серверу. Непосредственная передача сообщений между приложениями невозможна, т. к. их адресные пространства изолированы друг от друга. Микроядро в привилегированном режиме имеет доступ к адресным пространствам всех приложений и поэтому может выступать в качестве посредника. Микроядро принимает сообщение клиента и передает его серверу. Сервер выполняет запрошенную операцию и передает результат клиенту (через микроядро) с помощью другого сообщения.
Рис. 3.9. Взаимодействие клиента и сервера
При таком построении ОС работает более медленно, чем ОС с классической архитектурой, т.к. чаще выполняются переходы между привилегированным режимом и пользовательским – четыре перехода вместо двух (рис. 3.10). Именно по этой причине микроядерный подход не получил широкого распространения.
Однако подход с использованием микроядра имеет и существенные достоинства:
- облегчает разработку качественного и надежного программного обеспечения;
- облегчает реализацию дополнительных требований к современным ОС (переносимость, надежность, расширяемость и т.д.);
- возможность вызова функций одного приложения из другого приложения;
- имеет механизмы поддержки распределенных вычислений.
Рис. 3.10. Смена режимов при выполнении системного вызова
Наиболее ярким представителем микроядерной ОС является ОСРВ QNX, микроядро которой в разных версиях занимало объем от 8К до 46К, т.е. могло целиком разместиться во внутреннем кэше процессора.
ОС Windows, построенную на идеологии клиент-сервер, трудно назвать микроядерной из-за размера её ядра.
