- •6. Семейство ос unix
- •История и общая характеристика семейства операционных систем unix
- •Образ, дескриптор, контекст процесса
- •Порождение процессов. Планирование процессов
- •Управление памятью ос unix. Свопинг
- •Система ввода-вывода. Подсистема буферизации. Драйверы
- •Файловые системы unix
- •Переносимость приложений. Графический интерфейс
- •Средства управления доступом
- •Поддержка мультипроцессирования
Поддержка мультипроцессирования
Система UNIX многопользовательская. Каждому пользователю после регистрации (входа в систему) предоставляется виртуальный компьютер, в котором есть все необходимые ресурсы: процессор (процессорное время выделяется на основе круговой, или карусельной, диспетчеризации и с использованием динамических приоритетов, что позволяет обеспечить равенство в обслуживании), оперативная память, устройства, файлы. Текущее состояние такого виртуального компьютера, предоставляемого пользователю, называется образом. Можно сказать, что процесс — это выполнение образа. Образ процесса состоит из:
образа памяти;
значений общих регистров процессора;
состояния открытых файлов;
текущего каталога файлов;
другой информации.
Образ процесса во время выполнения процесса размещается в основной памяти. В старых версиях UNIX образ можно было «сбросить» на диск, если какому-либо более приоритетному процессу требовалось место в основной памяти. Напомним, что такое замещение процессов называется свопингом (swapping). В современных реализациях, поддерживающих, как правило, страничный механизм виртуальной памяти, прежде всего выгружаются неиспользуемые страницы, а не целиком образ. В частности, в системах Linux свопинг образов не применяется, но создается специальный1 раздел на магнитном диске для файла подкачки (swap-file), где размещаются виртуальные страницы выполняющихся процессов, для которых не хватает места в оперативной памяти. Таким образом, замещаются не процессы, а их отдельные страницы.
Образ памяти делится на три логических сегмента: сегмент реентерабельных процедур (начинается с нулевого адреса в виртуальном адресном пространстве процесса); сегмент данных (располагается следом за сегментом процедур и может расти в сторону больших адресов); сегмент стека (начинается со старшего адреса и растет в сторону младших адресов по мере занесения в него информации при вызовах подпрограмм и при прерываниях). В современных версиях UNIX-систем все виртуальное адресное пространство каждого образа отображается на реальную физическую память компьютера. Используется страничный механизм организации виртуальной памяти. И следует различать замещение процессов и подкачку страниц, хотя в обоих случаях используется термин swapping.
