Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Ресурсы компьютера





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

Важнейшей частью операционной системы, непосредственно влияющей на функционирова-ние вычислительной машины, является подсистема управления процессами. Процесс (или, по-


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

В многозадачной (многопроцессной) системе процесс может находиться в одном из трех ос-новных состояний:

ВЫПОЛНЕНИЕ — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

ОЖИДАНИЕ — пассивное состояние процесса, процесс заблокирован, он не может выпол-няться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения ка-кого-либо необходимого ему ресурса;

ГОТОВНОСТЬ — также пассивное состояние процесса, но в этом случае процесс заблоки-рован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти про-цессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл про-цесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно "вытеснен" из процессора, например, вследствие исчерпания отве-денного данному процессу времени. В последнем случае процесс возвращается в состояние ГО-ТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

 

Планирование процессов

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

1) определение момента времени для смены выполняемого процесса;

2) выбор процесса на выполнение из очереди готовых процессов;

3) переключение "старого" и "нового" процессов.

Первые две задачи решаются программными средствами, а последняя в значительной степе-ни аппаратно.

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

В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:

· процесс завершился и покинул систему,

· произошла ошибка,

· процесс перешел в состояние ОЖИДАНИЕ,

· исчерпан квант процессорного времени, отведенный данному процессу.

Процесс, который исчерпал свой квант, переводится в состояние ГОТОВНОСТЬ и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответст-вии с определенным правилом выбирается новый процесс из очереди готовых. Таким образом, ни один процесс не занимает процессор надолго, поэтому квантование широко используется в систе-мах разделения времени.

Другая группа алгоритмов использует понятие "приоритет" процесса. Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычисли-


тельной машины, в частности, процессорного времени: чем выше приоритет, тем выше привиле-гии.

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

Во многих операционных системах алгоритмы планирования построены с использованием как квантования, так и приоритетов. Например, в основе планирования лежит квантование, но ве-личина кванта и/или порядок выбора процесса из очереди готовых определяется приоритетами процессов.

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

Прерывание — сигнал, заставляющий ЭВМ менять обычный порядок исполнения потока команд. При прерывании процессор осуществляет автоматическое запоминание текущего состоя-ния ЦПУ, что позволяет возобновить прерванную работу, после чего вызывает автоматическую передачу управления заданной программе (обработчику прерывания).

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

 

Существует два основных типа процедур планирования процессов - вытесняющие (preemp-tive) и невытесняющие (non-preemptive).

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

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

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

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

Почти во всех современных операционных системах, ориентированных на высокопроизво-дительное выполнение приложений (UNIX, Windows NT, Windows 2000, Windows XP, Linux), реа-лизована вытесняющая многозадачность. В последнее время дошла очередь и до ОС класса на-стольных систем, например, Windows 95 и Windows 98.

Создание программных приложений для многозадачных ОС называется мультипрограмми-рованием. В низкоуровневом понимании мультипрограммирование — это квантование времени


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

 

Date: 2015-09-05; view: 734; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию