6.5 УПРАВЛЕНИЕ АДРЕСНЫМ ПРОСТРАНСТВОМ ПРОЦЕССА
6.5 УПРАВЛЕНИЕ АДРЕСНЫМ ПРОСТРАНСТВОМ ПРОЦЕССА
В этой главе мы пока говорили о том, каким образом осуществляется переключение контекста между процессами и как контекстные уровни запоминаются в стеке и выбираются из стека, представляя контекст пользовательского уровня как статический объект, не претерпевающий изменений при восстановлении контекста процесса. Однако, с виртуальным адресным пространством процесса работают различные системные функции и, как будет показано в следующей главе, выполняют при этом операции над областями. В этом разделе рассматривается информационная структура области; системные функции, реализующие операции над областями, будут рассмотрены в следующей главе.
• Запись таблицы областей содержит информацию, необходимую для описания области. В частности, она включает в себя следующие поля:
• Указатель на индекс файла, содержимое которого было первоначально загружено в область
• Тип области (область команд, разделяемая память, область частных данных или стека)
• Размер области
• Местоположение области в физической памяти
• Статус (состояние) области, представляющий собой комбинацию из следующих признаков:
- заблокирована
- запрошена
- идет процесс ее загрузки в память
- готова, загружена в память
• Счетчик ссылок, в котором хранится количество процессов, ссылающихся на данную область.
К операциям работы с областями относятся: блокировка области, снятие блокировки с области, выделение области, присоединение области к пространству памяти процесса, изменение размера области, загрузка области из файла в пространство памяти процесса, освобождение области, отсоединение области от пространства памяти процесса и копирование содержимого области. Например, системная функция exec, в которой содержимое исполняемого файла накладывается на адресное пространство задачи, отсоединяет старые области, освобождает их в том случае, если они не являются разделяемыми, выделяет новые области, присоединяет их и загружает содержимым файла. В остальной части раздела операции над областями описываются более детально с ориентацией на модель управления памятью, рассмотренную ранее (с таблицами страниц и группами аппаратных регистров), и с ориентацией на алгоритмы назначения страниц физической памяти и таблиц страниц (глава 9).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
5.7. Управление пространством внутри фрейма
5.7. Управление пространством внутри фрейма По умолчанию браузер отображает фреймы с полосой чистого пространства (полями) между содержимым и границей фрейма, равной 10 пикселов. Управлять этим пространством фрейма можно с помощью атрибутов marginheight и marginwidth. Атрибут marginwidth
Состояние процесса
Состояние процесса Поле state дескриптора процесса описывает текущее состояние процесса (рис. 3.3). Каждый процесс в системе гарантированно находится в одном из пяти различных состояний. Рис. 3.3. Диаграмма состояний процессаЭти состояния представляются значением одного из
9.1. Окружение процесса
9.1. Окружение процесса Как подробно описано в главе 10, в каждом выполняющемся процессе есть переменные окружения. Переменные окружения представляют собой пары "имя-значение", и некоторые из них представляют ценность для программистов на языке С. (Многие переменные в
10.1. Определение процесса
10.1. Определение процесса Что такое процесс? В исходной реализации Unix процессом была любая выполняющаяся программа. Для каждой программы ядро системы отслеживает перечисленные ниже аспекты.• Текущая точка выполнения (такая как ожидание возврата системного вызова из
Управление памятью процесса
Управление памятью процесса Можно сказать, что каждый процесс в операционной системе UNIX выполняется на собственной виртуальной вычислительной машине, где все ресурсы принадлежат исключительно данному процессу. Подсистема управления памятью обеспечивает такую
6.4.5 Копирование данных между адресным пространством системы и адресным пространством задачи
6.4.5 Копирование данных между адресным пространством системы и адресным пространством задачи До сих пор речь шла о том, что процесс выполняется в режиме ядра или в режиме задачи без каких-либо перекрытий (пересечений) между режимами. Однако, при выполнении большинства
7.1 СОЗДАНИЕ ПРОЦЕССА
7.1 СОЗДАНИЕ ПРОЦЕССА Единственным способом создания пользователем нового процесса в операционной системе UNIX является выполнение системной функции fork. Процесс, вызывающий функцию fork, называется родительским (процесс-родитель), вновь создаваемый процесс называется
9.1.1 Управление пространством на устройстве выгрузки
9.1.1 Управление пространством на устройстве выгрузки Устройство выгрузки является устройством блочного типа, которое представляет собой конфигурируемый раздел диска. Тогда как обычно ядро выделяет место для файлов по одному блоку за одну операцию, на устройстве
7.3.2. Концепции, касающиеся основных средств производственного процесса организации Основные средства производственного процесса организации (ППО)
7.3.2. Концепции, касающиеся основных средств производственного процесса организации Основные средства производственного процесса организации (ППО) Организация устанавливает и сопровождает набор основных средств производственного процесса, как показано на рис. 4.1. К
Управление изменениями процесса
Управление изменениями процесса Цель 1. Планирование непрерывного усовершенствования процесса.Цель 2. Участие в работах по усовершенствованию производственного процесса организации должно носить общекорпоративный характер.Цель 3. Непрерывное усовершенствование СППО
Механика процесса
Механика процесса Как и ряд других окон редактора Visual Basic, окно Locals по умолчанию закреплено, но может отображаться и в виде свободно перемещаемого окна. Основы использования окон редактора Visual Basic обсуждались в главе 5.Если нужная вам информация не помещается в столбце,
7.2.7. Статистика процесса
7.2.7. Статистика процесса Файл status содержит всевозможную информацию о процессе, отформатированную в понятном для пользователя виде. Сюда входит идентификатор процесса, идентификатор родительского процесса, реальный и эффективный идентификаторы пользователя и группы,