Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты 2026.docx
Скачиваний:
0
Добавлен:
31.01.2026
Размер:
140.26 Кб
Скачать

30. Алгоритмы планирования Linux: cfs.

Алгоритм планирования Linux CFS (Completely Fair Scheduler) – это современный вытесняющий алгоритм планирования потоков в Linux, который заменил O(1) и ориентирован на справедливое распределение процессорного времени между всеми потоками.

CFS использует виртуальное время, которое отражает, сколько процессорного времени уже получил поток относительно других. Потоки с высоким приоритетом (nice) накапливают виртуальное время медленнее, а потоки с низким приоритетом – быстрее, что позволяет планировщику выбирать для выполнения поток с минимальным виртуальным временем и обеспечивать равномерное распределение CPU.

Потоки хранятся в красно-чёрном дереве, что позволяет за O(log n) находить поток с наименьшим виртуальным временем. Алгоритм поддерживает вытесняющую многозадачность, высокую отзывчивость интерактивных приложений и минимизирует голодание потоков, даже при большом числе задач.

31. Планирование в ос реального времени.

См. ответ на вопрос 27.

32. Межпроцессное взаимодействие (почему необходимы системные средства и в каких ситуациях применяются, примеры таких средств).

Межпроцессное взаимодействие (IPC, Inter-Process Communication) – это набор механизмов, обеспечивающих обмен данными и синхронизацию работы между одновременно выполняющимися процессами.

IPC необходимо, потому что процессы изолированы друг от друга и не могут напрямую обращаться к памяти или ресурсам других процессов без контроля ОС. Системные средства IPC применяются для согласования действий процессов, контроля над их деятельностью (например, предотвращения состояний гонки, взаимных блокировок, голодания и инверсии приоритетов) и передачи информации между процессами.

Примеры таких средств включают семафоры для синхронизации доступа к общим ресурсам, мьютексы для предотвращения состояний гонки, очереди сообщений и каналы для передачи данных между процессами, а также разделяемую память, которая позволяет нескольким процессам совместно использовать область памяти под контролем ОС.

33. Синхронизация процессов и потоков: цели и средства синхронизации.

Синхронизация процессов и потоков – это координация их действий в мультипрограммной операционной системе, необходимая при совместном использовании аппаратных и информационных ресурсов вычислительной системы. Она предотвращает конфликты при параллельном выполнении и обеспечивает корректную работу программ.

Основные цели синхронизации заключаются в обеспечении целостности данных, управлении доступом к разделяемым ресурсам и координации работы процессов и потоков. Корректное применение средств синхронизации гарантирует, что в каждый момент времени только один поток изменяет общие данные, предотвращая состояния гонки и повреждение информации. Кроме того, синхронизация позволяет контролировать доступ к памяти, файлам и устройствам и задавать необходимый порядок выполнения потоков, включая ожидание наступления определённых событий.

Средства синхронизации, реализуемые операционной системой, включают семафоры, мьютексы, условные переменные, барьеры и механизмы ожидания событий. Эти средства позволяют блокировать и разблокировать потоки, упорядочивать их выполнение и обеспечивать безопасный обмен данными между процессами и потоками.

34. Ситуация состязаний (гонки). Способы предотвращения.

Ситуация состязаний (гонки) – это ситуация, когда два или более потоков обрабатывают разделяемые данные, и конечный результат выполнения программы зависит от соотношения скоростей выполнения потоков, что может приводить к непредсказуемым или ошибочным результатам.

Критическая секция – это часть программы, результат выполнения которой может изменяться непредсказуемо, если связанные с ней данные изменяются другими потоками до завершения её выполнения.

Способы предотвращения гонок основаны на использовании взаимного исключения, которое заключается в выделении критических секций и обеспечении того, чтобы в каждый момент времени в критической секции находился только один поток.