Функциональные компоненты ОС. Управление процессами.



 

Назначение и функции ОС.  ОС как виртуальная машина

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

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

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

Таким образом, назначение ОС состоит в предоставлении пользователю/программисту некоторой расширенной вирту­альной машины, которую легче программировать и с которой легче работать, чем непосредственно с аппаратурой, составляющей реальный компьютер или реаль­ную сеть.

 

 

Назначение и функции ОС. ОС как система управления ресурсами

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

К числу основных ресурсов современных вычислительных систем могут быть отнесены : процессоры, основная память, таймеры, наборы дан­ных, диски, накопители на магнитных лентах, принтеры, сетевые устройства и некоторые другие. Ресурсы распределяются между процессами. Процесс (задача)представляет собой базовое понятие большинства современных ОС и часто кратко определяется как программа в стадии выполнения. Программа — это ста­тический объект, представляющий собой файл с кодами и данными. Процесс — это динамический объект, который возникает в операционной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», то есть создать новую единицу вычислительной работы.

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

Управление ресурсами включает решение общих, не зависящих от типа ресурса задач:

- планирование ресурса — то есть определение, какому процессу, когда и в ка­ком количестве следует выделить данный ресурс;

- удовлетворение запросов на ресурсы;

- отслеживание состояния и учет использования ресурса — то есть поддержа­ние оперативной информации о том, занят или свободен ресурс и какая доля ресурса уже распределена;

- разрешение конфликтов между процессами.

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

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

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

 

Функциональные компоненты ОС. Управление процессами.

Важнейшей частью операционной системы является подсистема управления про­цессами.

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

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

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

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

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

На протяжении периода существования процесса его выполнение может быть многократно прервано и продолжено. Чтобы возобновить выполнение процесса - восстановить состояние его операционной среды. Состоя­ние операционной среды идентифицируется состоянием регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях ввода-вывода и т. д. Эта информация называет­ся контекстом процесса.

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

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

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


Дата добавления: 2018-05-09; просмотров: 2283; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!