Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зачёт / Ответы на вопросы зачёта.docx
Скачиваний:
0
Добавлен:
29.09.2026
Размер:
203 Кб
Скачать
☆
  1. Охарактеризуйте однопроцессорную и распределенную архитектуры

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

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

  1. Опишите функции операционных систем в среде реального времени

Операционные системы в среде реального времени выполняют ряд специфических функций:

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

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

  3. Распределение рабочей нагрузки: В системах реального времени цель многозадачного режима заключается в эффективном распределении рабочей нагрузки между различными программными модулями. Это позволяет достигать оптимальной производительности системы и обеспечивать выполнение задач в строго заданные сроки.

  4. Управление доступом и автономность в распределенной среде: В распределенной среде операционная система выполняет функции управления доступом к ресурсам и обмена данными и сообщениями между различными узлами сети. Каждая система должна быть высоко автономной, но в то же время способной эффективно взаимодействовать с другими узлами сети.

18(!). Охарактеризуйте функционирование управления процессором и состояния процесса.

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

На одном процессоре для организации многозадачного режима выпол­нение каждой задачи разбивается на несколько коротких интервалов. Процессор выполняет часть первой задачи, затем второй, третьей и т. д. Вре­менной интервал, выделенный для каждой задачи, составляет, например, 10 миллисекунд.

Внешний эффект разделения процессорного времени между задачами состоит в параллельном выполнении n задач. Когда n задач выполняются в системе параллельно каждая из них в среднем монопольно "располагает" процессором с производительностью 1/n, т. е. работает (развивается) на вир­туальном процессоре, производительность которого в n раз меньше, чем у реального физического процессора. Если вместо одного используется не­сколько процессоров, то это просто другая реализация того же самого логи­ческого принципа. В первом случае процессы разделены во времени, во вто­ром – в пространстве. Если исключить накладные расходы на планирование и межзадачное взаимодействие, то при выполнении n процессов на k одинако­вых процессорах каждому процессу в среднем выделяется виртуальный про­цессор с производительностью, равной k/n части от производительности од­ного физического процессора.

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

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

Планировщик вызывается обычно после обработки каждого прерыва­ния. Если используется стратегия переключения процессов на основе кванто­вания времени (рис. 1), необходимо иметь внешний по отношению к процес­сору интервальный таймер, вырабатывающий прерывания по истечении кванта времени (time slice), выделенного процессу. При возникновении пре­рывания исполнение текущего процесса приостанавливается и проверяется, должен ли быть прерван текущий процесс и загружен новый. Принудитель­ная приостановка текущего процесса для передачи управления другому про­цессу называется вытеснением (preemption).

Продолжительность кванта времени влияет на производительность системы. При коротком кванте улучшается общее время обслуживания ко­ротких процессов. Если величина кванта сопоставима с временем, необходимым для переключения процессов, то большая часть ресурсов процессора будет уходить на планирование и переключение. Если величина кванта слишком большая, увеличивается время ожидания процессов и, соответст­венно, время реакции.

Процесс исполняется до тех пор, пока не произойдет одно из следую­щих событий:

- истек выделенный ему квант времени;

- процесс заблокирован, например, ждет завершения операции вво­да/вывода;

- процесс завершился;

- вытеснен другим процессом, имеющим более высокий приоритет, на­пример обработчиком прерываний.

В многозадачной среде процесс может находиться в одном из трех со­стояний (рис. 2).

• Готов (ready). Процесс может начать исполнение, как только освобо­дится процессор.

• Исполнение (running, executing). Процесс исполняется в данный мо­мент, т. е. процессор исполняет его код.

• Ожидание, заблокирован (waiting, locked). Для продолжения работы процессу не хватает какого-либо ресурса, за исключением ЦП, либо он ждет наступления внешнего события.

Соседние файлы в папке Зачёт