- •Вопрос 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 Компоненты систем программирования Текстовые редакторы
- •Трансляторы, компиляторы и интерпретаторы
- •Список литературы
§4.2.4.Вытесняющие и невытесняющие алгоритмы планирования
Алгоритмы планирования можно разделить на невытесняющие или вытесняющие.
Невытесняющие (non-preemptive) алгоритмы основаны на том, что активный поток выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление диспетчеру ОС, для того, чтобы тот выбрал из очереди другой, готовый к выполнению поток;
Вытесняющие (preemptive) алгоритмы основаны на том, что решение о переключении процессора с выполнения одного протока на выполнение другого потока принимается диспетчером ОС, а не самим активным потоком (Windows NT, OS/2, UNIX).
Основным различием между вытесняющими и невытесняющими алгоритмами является степень централизации механизма диспетчеризации потоков.
В первом случае механизм диспетчеризации распределен между ОС и прикладными программами. Прикладная программа, получив управление от ОС, сама определяет момент завершения своей очередной итерации и передает управление ОС с помощью какого-либо системного вызова, а ОС формирует очереди задач и выбирает в соответствии с некоторым алгоритмом (например, с учетом приоритетов) следующую задачу на выполнение.
При этом управление системой теряется на произвольный период времени, который определяется приложением, а не пользователем. Пока приложение выполняет какую-либо задачу, пользователь не может переключиться на другую задачу. Поэтому разработчики приложений должны возлагать на себя функции планировщика, создавая свои программы так, чтобы они выполняли задачи небольшими частями. Например, программа перекодирования видеоданных может обработать часть видеофайла и вернуть управление ОС. После выполнения других задач ОС возвратит управление программе перекодирования, чтобы та обработала следующую часть видеофайла. Подобный метод разделения времени между задачами работает, но он существенно затрудняет разработку программ и предъявляет повышенные требования к квалификации программиста.
При вытесняющей многозадачности механизм диспетчеризации потоков целиком сосредоточен в операционной системе, и программист пишет свое приложение, не заботясь о том, как оно будет выполняться параллельно с другими задачами. При этом ОС определяет момент снятия с выполнения активной задачи. В системах с вытесняющей многозадачностью зависание системы, как правило, исключено, т.к. диспетчер задач снимет зависшую задачу с выполнения.
Вытесняющие алгоритмы планирования могут быть основаны на квантовании, приоритетах и сочетании квантования и приоритетов.
Вопрос 18. Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы. §4.2.5.Алгоритмы планирования, основанные на квантовании.
В основе многих вытесняющих алгоритмов планирования лежит концепция квантования. В соответствии с этой концепцией каждому потоку поочередно для выполнения предоставляется ограниченный непрерывный период процессорного времени – квант. Смена активного потока происходит, в следующих случаях:
- поток завершился и покинул систему;
- произошла ошибка;
- поток перешел в состояние ожидания;
- исчерпан квант процессорного времени, отведенный данному потоку.
П
оток,
который исчерпал свой квант, переводится
в состояние «готовность» и ожидает,
когда ему будет предоставлен новый
квант процессорного времени, а на
выполнение в соответствии с определенным
правилом выбирается новый поток из
очереди готовых. Таким образом, ни один
поток не занимает процессор надолго,
поэтому квантование широко используется
в системах разделения времени. Граф
состояний потока для алгоритма
диспетчеризации, основанного на
квантовании, изображен на рис. 4.5.
Рис. 4.5. Граф состояний потока в системах с квантованием
Многозадачные ОС теряют некоторое количество процессорного времени для выполнения вспомогательных работ во время переключения контекстов задач. Затраты на эти вспомогательные действия зависят от величины кванта времени – чем больше квант, тем меньше суммарные накладные расходы, связанные с переключением потоков.
В зависимости от используемого алгоритма планирования, кванты, выделяемые потокам, могут быть одинаковыми для всех потоков или различными. Кванты, выделяемые одному потоку, могут быть фиксированной величины, а могут и изменяться в разные периоды жизни потока. Например, первоначально каждому потоку назначается достаточно большой квант, а величина каждого следующего кванта уменьшается до некоторой заранее заданной величины. В таком случае короткие задачи успевают выполняться в течение первого кванта, а длительные вычисления будут проводиться в фоновом режиме. Если следующий квант, выделяемый потоку, больше предыдущего, то это позволяет уменьшить накладные расходы времени на переключение задач в том случае, когда выполняется одновременно сразу несколько длительных задач.
Некоторые потоки не используют выделенный квант времени полностью, например, из-за необходимости выполнить ввод или вывод данных. Алгоритм планирования может предоставить таким потокам в качестве компенсации привилегии в виде внеочередного последующего обслуживания.
