Процессы и потоки

Назначение и характеристики процессов, видов памяти.

Классификация операционных систем.

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

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

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

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

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

5. По особенности области использования ОС подразделяются на системы пакетной обработки, системы разделения времени и системы реального времени.

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

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

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

 

Одним из важнейших понятий операционных систем является понятие процесса. Процессом называют программу, которая в данный момент выполняется вычислительной машиной. Каждому процессу выделяется отдельный, изолированный от других, сегмент памяти, который называют адресным пространством процесса. В адресном пространстве процесса, кроме самого процесса, также хранятся входные и выходные данные процесса. В многозадачной операционной системе все процессы выполняются по очереди таким образом, что в каждый момент времени выполняется только один процесс. Для обеспечения корректной работы процессов необходимо отслеживать состояние каждого процесса, чтобы возобновлять его выполнение с того момента, где в последний раз процесс был остановлен. Кроме состояния процесса необходимо также отслеживать информацию об используемых им ресурсах. Вся информация о процессах хранится в таблице процессов – массив структур данных, записями которого является информация по каждому процессу, запущенному в системе. Таблица процессов представляется обычно в виде дерева, потому что большинство процессов, выполняемых на машине, способно порождать дочерние процессы для решения вспомогательных задач, и для каждого процесса необходимо учитывать не только его собственное состояние, но и состояние всех связанных с ним процессов. Каждому процессу назначается два идентификатора, первый из которых указывает на сам процесс, а второй – на процесс, его породивший. Традиционно, при загрузке операционной системы запускается некий базовый процесс, который порождает все прочие процессы – как системные, так и пользовательские. Этот процесс реализует главную функцию операционной системы – контроль вычислительных ресурсов. В современных версиях Windows этот процесс называется «System Idle».

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

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