2. Алгоритмы планирования процессов, основанные на квантовании, являются способом управления процессами в операционной системе. Сущность таких алгоритмов заключается в разбиении выполнения процессов на кванты времени. Квант времени представляет собой фиксированный промежуток времени, в течение которого процесс может выполняться на процессоре. После истечения кванта времени процесс может быть вытеснен с процессора в пользу другого процесса.
Алгоритмы планирования на основе квантования используются для эффективного распределения ресурсов процессора между процессами. Они позволяют управлять выполнением процессов в многозадачной среде, где несколько процессов конкурируют за доступ к процессору.
3. Относительные приоритеты и абсолютные приоритеты - это два разных подхода к установлению приоритетов процессов в алгоритмах планирования.
Относительные приоритеты основаны на отношениях приоритетов между процессами. Каждому процессу присваивается относительный приоритет, и процесс с более высоким приоритетом будет иметь больше шансов получить доступ к процессору. При этом относительные приоритеты могут изменяться во время выполнения процессов в зависимости от различных факторов, например, от степени загруженности системы или от приоритетов других процессов.
Абсолютные приоритеты, напротив, устанавливаются для каждого процесса независимо. Процесс с более высоким абсолютным приоритетом будет иметь более высокий приоритет, чем процесс с более низким приоритетом, независимо от других факторов или отношений между процессами.
4. В вытесняющей многозадачности несколько процессов конкурируют за доступ к процессору, и процесс может быть вытеснен с процессора в любой момент для выполнения другого процесса. Это гарантирует, что один процесс не сможет блокировать процессор на неопределенное время и другие процессы смогут выполняться.
В не вытесняющей многозадачности, наоборот, процесс помещается в состояние ожидания или блокировки при наступлении определенных условий, например, ввода-вывода или завершения операции. В это время процессор остается свободным и может быть использован другими процессами. После выполнения условия процесс возобновляет свое выполнение.
5. Прерывание - это особый механизм в операционной системе, который позволяет передать управление обработчику прерывания в ответ на определенное событие или условие. Прерывание может быть вызвано внешними устройствами (например, нажатием клавиши на клавиатуре) или внутренними событиями (например, истечением таймера или делением на ноль).
6. Механизм обработки прерываний состоит из нескольких этапов.
Первый этап - это обнаружение прерывания. Операционная система постоянно проверяет наличие прерываний и при их возникновении переходит ко второму этапу - сохранение состояния процесса. Она сохраняет текущее состояние процесса, чтобы впоследствии его можно было восстановить.
Третий этап - обработка прерывания. В этом этапе операционная система передает управление специальному обработчику прерывания, который выполняет необходимые действия по обработке прерывания.
Четвертый этап - сохранение результата и восстановление состояния. После обработки прерывания результат сохраняется, например, в регистрах процессора, и восстанавливается предыдущее состояние процесса.
7. Примеры внешних прерываний включают нажатие клавиши на клавиатуре, приход сигнала на сетевую карту, завершение операции ввода-вывода и т.д. Внешние прерывания происходят извне системы, и операционная система реагирует на них, чтобы обработать соответствующее событие или условие.
8. Внутренние прерывания могут быть вызваны определенными событиями внутри системы. Например, истечение таймера, деление на ноль или обращение к недоступной области памяти. Внутренние прерывания происходят во время работы программы и могут сигнализировать о нарушении условий или ошибке в программе.
9. Программное прерывание - это специальная инструкция в программе, которая вызывает прерывание в операционной системе. Программное прерывание позволяет программисту явно запросить обработку определенного события или вызвать определенную функцию операционной системы. Например, программа может вызывать прерывание для выполнения операции ввода-вывода или для запроса ресурсов.
10. Дисциплины обслуживания прерываний - это способы распределения приоритетов и времени выполнения различных прерываний в системе.
Примеры дисциплин обслуживания прерываний включают:
- Round Robin: каждое прерывание получает равное количество времени выполнения без учета приоритетов.
- FIFO: прерывания обрабатываются в том порядке, в котором они поступают.
- Приоритетное обслуживание: прерывания обрабатываются в порядке их приоритета, где прерывания с более высоким приоритетом обрабатываются раньше.
11. Механизм синхронизации процессов в операционной системе позволяет контролировать доступ и взаимодействие между процессами, чтобы избежать конфликтов и гарантировать корректность выполнения.
В механизме синхронизации процессов используются различные средства и методы, такие как:
- Семафоры: специальные переменные, которые используются для контроля доступа к общим ресурсам. Они работают по принципу "захватить" и "освободить" ресурс для предотвращения конфликтов при одновременном доступе к нему.
- Мониторы: абстракция программного интерфейса, которая обеспечивает синхронизацию и взаимодействие процессов через общие объекты или переменные.
- Мьютексы: объекты, используемые для ограничения доступа к общим ресурсам только одним процессом или потоком одновременно.
Механизм синхронизации процессов позволяет избежать состояния гонки, в котором несколько процессов параллельно изменяют общие данные, а также гарантирует правильный порядок выполнения операций и доступ к критическим секциям кода.