« Билет №5

Билет №6.
Функциональные компоненты операционной системы автономного компьютера Функции операционной системы автономного компьютера обычно группируют¬ся либо в соответствии с типами локальных ресурсов, которыми управляет ОС, либо в соответствии со специфическими задачами, применимыми ко всем ресур¬сам. Иногда такие группы функций называют подсистемами. Наиболее важными подсистемами управления ресурсами являются подсистемы управления процес¬сами, памятью, файлами и внешними устройствами, а подсистемами, общими для всех ресурсов, являются подсистемы пользовательского интерфейса, защиты данных и администрирования.
Управление процессами
Важнейшей частью операционной системы, непосредственно влияющей на функ¬ционирование вычислительной машины, является подсистема управления про¬цессами.
Для каждого вновь создаваемого процесса ОС генерирует системные информа¬ционные структуры, которые содержат данные о потребностях процесса в ресур¬сах вычислительной системы, а также о фактически выделенных ему ресурсах. Таким образом, процесс можно также определить как некоторую заявку на по¬требление системных ресурсов.
Чтобы процесс мог быть выполнен, операционная система должна назначить ему область оперативной памяти, в которой будут размещены коды и данные процес¬са, а также предоставить ему необходимое количество процессорного времени. Кроме того, процессу может понадобиться доступ к таким ресурсам, как файлы и устройства ввода-вывода.
В информационные структуры процесса часто включаются вспомогательные данные, характеризующие историю пребывания процесса в системе (например, какую долю времени процесс потратил на операции ввода-вывода, а какую на вычисления), его текущее состояние (активное или заблокированное), степень привилегированности процесса (значение приоритета). Данные такого рода мо¬гут учитываться операционной системой при принятии решения о предоставле¬нии ресурсов процессу.
В мультипрограммной операционной системе одновременно может существо¬вать несколько процессов. Часть процессов порождается по инициативе пользо¬вателей и их приложений, такие процессы обычно называют пользовательскими. Другие процессы, называемые системными, инициализируются самой операци¬онной системой для выполнения своих функций.
Поскольку процессы часто одновременно претендуют на одни и те же ресурсы, то в обязанности ОС входит поддержание очередей заявок процессов на ресур¬сы, например очереди к процессору, к принтеру, к последовательному порту.
Важной задачей операционной системы является защита ресурсов, выделенных данному процессу, от остальных процессов. Одним из наиболее тщательно защи¬щаемых ресурсов процесса являются области оперативной памяти, в которой хранятся коды и данные процесса. Совокупность всех областей оперативной па¬мяти, выделенных операционной системой процессу, называется его адресным пространством. Говорят, что каждый процесс работает в своем адресном про¬странстве, имея в виду защиту адресных пространств, осуществляемую ОС. За¬щищаются и другие типы ресурсов, такие как файлы, внешние устройства и т. д. Операционная система может не только защищать ресурсы, выделенные одному процессу, но и организовывать их совместное использование, например разре¬шать доступ к некоторой области памяти нескольким процессам.
На протяжении периода существования процесса его выполнение может быть многократно прервано и продолжено. Для того чтобы возобновить выполнение процесса, необходимо восстановить состояние его операционной среды. Состоя¬ние операционной среды идентифицируется состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода, кодами ошибок выпол¬няемых данным процессом системных вызовов и т. д. Эта информация называет¬ся контекстом процесса. Говорят, что при смене процесса происходит переклю-чение контекстов.
Операционная система берет на себя также функции синхронизации процессов, позволяющие процессу приостанавливать свое выполнение до наступления ка¬кого-либо события в системе, например завершения операции ввода-вывода, осуществляемой по его запросу операционной системой.
В операционной системе нет однозначного соответствия между процессами и программами. Один и тот же программный файл может породить несколько па¬раллельно выполняемых процессов, а процесс может в ходе своего выполнения сменить программный файл и начать выполнять другую программу.
Для реализации сложных программных комплексов полезно бывает организо-вать их работу в виде нескольких параллельных процессов, которые периодиче¬ски взаимодействуют друг с другом и обмениваются некоторыми данными. Так как операционная система защищает ресурсы процессов и не позволяет одному процессу писать или читать из памяти другого процесса, то для оперативного взаимодействия процессов ОС должна предоставлять особые средства, которые называют средствами межпроцессного взаимодействия.
Таким образом, подсистема управления процессами планирует выполнение про-цессов, то есть распределяет процессорное время между несколькими одновре¬менно существующими в системе процессами, занимается созданием и уничто¬жением процессов, обеспечивает процессы необходимыми системными ресурсами, поддерживает синхронизацию процессов, а также обеспечивает взаимодействие между процессами.


Билет №7 »