Управление задачами и памятью в операционных системах


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

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

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

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

- создание и удаление задач;

- планирование процессов и диспетчеризация задач;

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

 

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

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

- по возможности заканчивать вычисления в том же самом порядке, в котором они были начаты;

- отдавать предпочтение более коротким процессам;

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

 

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

Рисунок 4. Дисциплины диспетчеризации задач

 

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

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

 

 

 

Рисунок 5. Память и отображения

 

 



Дата добавления: 2022-02-05; просмотров: 96;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.