Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_Ответы на экзамен по ОС.doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
636.93 Кб
Скачать
  1. Управление процессами. Способы организации многозадачности.

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

Мультипрограммирование в системах пакетной обработки:

Главной целью и критерием эффективности систем пакетной обработки являет­ся максимальная пропускная способность, то есть решение максимального числа задач в единицу времени.

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

Мультипрограммирование в системах разделения времени:

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

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

Мультипрограммирование в системах реального времени:

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

Существует пре­дельно допустимое время, в течение которого должна быть выполнена та или иная управляющая объектом программа.

В системах реального времени мультипрограммная смесь представляет собой фик­сированный набор заранее разработанных программ, а выбор программы на выпол­нение осуществляется по прерываниям (исходя из текущего состояния объекта) или в соответствии с расписанием плановых работ.

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

  1. Управление памятью. Типы адресов. Классификация методов распределения памяти.

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

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

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

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

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

Типы адресов:

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

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

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

Для преобразования виртуальных адресов в физический используются два принципиально различных способа:

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

Динамическое преобразование – программа загружается в память в неизме­ненном виде в виртуальных адресах. При каждом обращении к оперативной памяти во время выполнения программы происходит преобразование виртуального адреса в физический. Недостаток – потеря быстродействия.

Совокупность виртуальных адресов процесса называется виртуальным адресным пространством.

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

Классификация методов управления памятью:

  1. Методы распределения без использования внешней памяти:

а) фиксированными разделами;

б) динамическими разделами;

в) перемещаемыми разделами.

2. Методы распределения с использованием внешней памяти:

а) страничное распределение;

б) сегментное распределение;

в) странично-сегментное распределение.