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

5. В чем заключается управление задачами в ос?

При реализации своих функций современные многозадачные операционные системы имеют в качестве основной функцию по управлению потоком запущенных задач. Функции операционной системы по управлению задачами В начале этого раздела курса отметим, что далее мы будем рассматривать понятие задача (task) являющееся объединением двух других - процесс (process) и поток, тред (thread). Если какие то положения будут относиться только к процессам, или только к задачам, то это будет оговариваться особо.

По запросам от пользователей или других задач создаются новые процессы. Они должны получить ресурсы системы. Прежде всего, это - оперативная память. Получив такой ресурс, процесс готов к обслуживанию, то есть получить другой важнейший ресурс – процессорное время. Но до получения адресного пространства процесс должен быть описан в системе. Это выполняется до его загрузки в оперативную память или область подкачки. Такие описатели задач (процессов) называют контекст задачи. Для популярных операционных систем применяют разные термины. В семействе в UNIX/Linux используется название дескриптор процесса, в Windows NT - объект-процесс (object-process); в OS/2 от IBM - управляющий блок процесса (РСВ — Process Control Block). По завершении своей работы процесс должен освободить все предоставленные ему ресурсы. При этом освобождается дескриптор задачи. К примеру, в операционных системах семейства UNIX/Linux дескриптор определяется идентификатором процесса (номером). После завершения процесса его номер (со временем) может быть присвоен другому процессу. Системы управления задачами обеспечивают их ресурсами на всех этапах выполнения: от создания до завершения. Но одни и те же ресурсы вычислительной системы могут потребоваться разным задачам (или процессам). Для эффективного распределения ресурсов между конкурирующими процессами необходима очередь процессов и ресурсов. Задача построения такого набора процессов называется планированием вычислительных процессов. При этом необходимо добиться того [1, стр.52] “... что при выполнении они будут реже конфликтовать из-за имеющихся в системе ресурсов”. Такая задача (назовем её долгосрочное планирование) возникла для систем пакетной обработки и для современных компьютеров не является самой актуальной. В некоторых системах долгосрочное планирование сведено к минимуму или отсутствует вообще. Например, в интерактивных системах процесс порождается, как только появился соответствующий запрос. Гораздо более важной является задача динамического (или краткосрочного) распределения ресурсов. Такие задачи называются диспетчеризацией. Последние выполняются довольно часто, а долгосрочное планирование редко. Известно много стратегий краткосрочного планирования процессов. Мы ввели два уровня планирования процессов, влияющих на работу вычислительных комплексов. Краткосрочное - для процессов находящихся в оперативной памяти. И долгосрочное, которое может решать в каком порядке запускать процессы для работы (активизировать их в вычислительной системе). Для современных компьютеров можно назвать и еще один уровень планирования процессов, занимающий положение между двумя названными. Назовем такой уровень планирования среднесрочным. Современные системные программные комплексы реализуют механизм называемый свопинг (от англ, swapping, переводится как перекачка). Суть такой процедуры заключается во временном переносе выполняющегося процесса из оперативной памяти на жесткий диск. Суть среднесрочного планирования заключается в определении того, какой и когда процесс следует перенести на диск и вернуть обратно.

6. Что такое управление памятью?

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

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

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

Функциями ОС по управлению памятью в мультипрограммной системе являются:

  •  отслеживание свободной и занятой памяти;

  •  выделение памяти процессам и освобождение памяти по завершении процессов;

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

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

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

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

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