Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции По Операционным Системам (Иванько А. Ф.).doc
Скачиваний:
51
Добавлен:
07.10.2014
Размер:
147.97 Кб
Скачать

Понятие, классификация и свойства ресурса.

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

Классификация ресурсов.

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

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

Процесс имеет несколько состояний:

  1. в активном состоянии процесс может участвовать в конкуренции за рессурс вычислительной системы.

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

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

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

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

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

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

Потоки в разных ОС

В системе Windows 2000/XP кажыдй поток содержит индификатор потока, отельные стеки для пользовательских и системных процедур, область памяти ля локальных данных потока. Кроме этого каждый поток содержит набор регистров. Потоки в ОС Windows называются триадами. В ОС Linux потоки называются такс. Каждый поток создается системным вызовом. Этот системный вызов позволяет подчиненной задаче использовать обшее адресное пространство с родительской задачей.

Функциональные компоненты ОС

Одной из основных подсистем мультипрограммной ОС влияющей на функционированние ЭВМ является подсистема управления процессами и потоками которая занимается их созданием и уничтожением, поддерживает взаимодействие между ними, а так же распредиляет процессорное время между несколькими одновременно сушествуюшими в системе процессами и потоками. Эта подсистема управления процессами и потоками, отвечает за обеспечение процессов необходимыми ресурсами. ОС при этом поддерживает в памятиспециальный информационные структуры, которые записывают какие ресурсы выделеныкаждому процессу. ОС при этом может назначить процессу ресурсы в единоличное пользование или в совместное пользование с другими процессами. Ресурсы могут быть отданы процессу на время его жизни или только на определенный период. При выполнении этих функций подсистема управления процессами взаимодействует с другими подсистемами ОС, например с файловой, ввода/вывода, управления памятью и т.д. Если в системе одновременно выполняется несколько независимых задач, то могут возникать различные проблемы в процессе работы ОС. Например потоки могут выполняться асинхронно, с другой стороны у них может возникнуть необходимость во взаимодействии, например при обмене данными. Необходимо учитовать скорости потоков для предотврашения эффекта гонок, то есть когда несколько потоков пытаются изменить один и тот же файл. Поэтому синхронизация потоков является одной из важных функций подсистемы управления процессами и потоками. Каждый раз когда процесс завершается ОС предпринимает шаги, чтобы стереть следы прибывания процесса в системе. То есть она закрывает все файлы с которым работал процесс, освобожадает области оперативной памяти отведенные под данные и системные структуры процесса,. Кроме этого выполняется корекция различных очередей в ОС и в списках ресурсов в которых имелись ссылки на завершившийся процесс

21.10.2009