Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСС.docx
Скачиваний:
4
Добавлен:
23.09.2019
Размер:
120.81 Кб
Скачать
  1. Понятие процесса в ос. Описание процессов.

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

Пусть в многозадачной среде имеется несколько процессов (P1, ..., Рn), которые уже созданы и загружены в виртуальную память. Каждому процессу для его функционирования нужен доступ к определенным системным ресурсам, в число которых входят процессор, устройства ввода-вывода и основная память. Процесс P1 находится в состоянии выполнения, т.е. в основной памяти находится, по крайней мере, часть этого процесса. Кроме того, он осуществляет управление двумя устройствами ввода-вывода. Процесс Р2 тоже находится в основной памяти, но он блокирован, ожидая, пока освободится устройство ввода-вывода, находящееся в распоряжении процесса Pn. Процесс Рn выгружен из основной памяти и, соответственно, приостановлен.

  1. Классификация процессов, управление процессами в ос.

?

  1. Организация памяти в современных ос.

?

  1. Сегментно-страничный способ распределения памяти.

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

  1. Страничный способ распределения памяти.

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

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

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