Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Materialy_po_SP_2013.doc
Скачиваний:
270
Добавлен:
11.05.2015
Размер:
754.69 Кб
Скачать

22 Многозадачность. Особенности реализации многозадачности в системах разделения времени.

Многозадачность.

Мультипрограммирование, илимногозадачность {multitasking), - это способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются сразу несколько программ.

Критерии эффективности вычислительных систем являются:

  • пропускная способность — количество задач, выполняемых вычислительной системой в единицу времени;

  • удобство работы пользователей

  • реактивность системыспособность системы выдерживать заранее заданные (возможно, очень короткие) интервалы времени между запуском программы и получением результата.

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

Особенности реализации многозадачности в системах разделения времени.

Цель: повышение удобства и эффективности работы пользователя. В системах разделения времени пользователям (или одному пользователю) предоставляется возможность интерактивной работы сразу с несколькими приложениями. Дляэтого каждое приложение должно регулярно получать возможность «общения» с пользователем.

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

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

Недостатки:

– системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе.

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

Достоинство:

– удобство и эффективность работы пользователя.

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

23 Понятие процесса. Подсистема операционной системы управления процессами. Состояния процесса. Контекст и дескриптор процесса.

Понятие процесса.

Процесс (задача)программа в стадии выполнения.Программа– это статический объект, представляющий собой файл с кодами и данными.Процесс– это динамический объект, который возникает в операционной системе после того, как пользователь или сама операционная система решает «запустить программу на выполнение», то есть создать новую единицу вычислительной работы.

Подсистема управления процессами.

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

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

Основные функции подсистемы управления процессами:

1) распределение процессорного времени между несколькими одновременно существующими в системе процессами;

2) создание и уничтожение процессов;

3) обеспечение процессов необходимыми системными ресурсами;

4) поддержка взаимодействия между процессами.

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

1) объект ядра, через который операционная система управляет процессом, и где хранится статистическая информация о процессе;

2) адресное пространство, в котором содержится код и данные всех модулей процесса.

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

При создании процесса первый или первичный поток обычно создается системой автоматически.

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

Состояния процесса (потока).

В многозадачной системе выделяют три основных состояний процесса:

1) выполнение– активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

2) ожидание– пассивное состояние процесса, процесс заблокирован и ждет осуществления некоторого события (например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса);

3) готовность– пассивное состояние процесса, при котором процесс блокируется в связи с внешними по отношению к нему обстоятельствами: т.е. процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе.

Контекст и дескриптор процесса (потока).

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]