Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
June 23 2024 13:31:59   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 33250
Учимся удалять!... 32036
Примеры, синони... 23409
Просмотр готовы... 22684
Декартовы коорд... 22207
FAST (методика ... 21444
содержание - се... 20679
Просмотр готовы... 19346
Работа с инстру... 14791
Сейчас на сайте
Гостей: 1
На сайте нет зарегистрированных пользователей

Пользователей: 9,955
новичок: Logyattella
Друзья сайта
Ramblers Top100
Рейтинг@Mail.ru

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
6.5.6 Освобождение области
Если область не присоединена уже ни к какому процессу, она может быть освобождена ядром и возвращена в список свободных областей (Рисунок 6.25). Если область связана с индексом, ядро освобождает и индекс с помощью алгоритма iput, учитывая значение счетчика ссылок на индекс, установленное в алгоритме allocreg. Ядро освобождает все связанные с областью физические ресурсы, такие как таблицы страниц и собственно страницы физической памяти. Предположим, например, что ядру нужно освободить область стека, описанную на Рисунке 6.22. Если счетчик ссылок на область имеет нулевое значение, ядро освободит 7 страниц физической памяти вместе с таблицей страниц.
алгоритм detachreg /* отсоединить область от процесса */
входная информация: указатель на точку входа в частной таблице областей процесса
выходная информация: отсутствует
{
обратиться к вспомогательным таблицам процесса, имеющим отношение к распределению памяти, освободить те из них, которые связаны с областью;
уменьшить размер процесса;
уменьшить значение счетчика ссылок на область;
if (значение счетчика стало нулевым и область не является неотъемлемой частью процесса)
освободить область (алгоритм freereg);
else { /* либо значение счетчика отлично от 0, либо область является неотъемлемой частью процесса */
снять блокировку с индекса (ассоциированного с областью);
снять блокировку с области;
}
}
Рисунок 6.26. Алгоритм отсоединения областi
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Случайные статьи
Степень связи
Для пользователей ...
6.2.2 Страницы и т...
1.2. Классификация...
10.3.6 Драйвер кос...
На кого рассчитана...
Методы «точно в ср...
ПРЕДИСЛОВИЕ
Датчики
4.12.4.3 Низкоорби...
Страница «Позицион...
Поддержка сетевых ...
Глава 10. HUMMINBI...
Что такое интелле...
Соглашения, принят...
2.2.2.3 Переходы и...
Соединение КПК и G...
Электронный штурман
Асинхронное и синх...
Встроенная база да...
Оглавление
4.11 Технология АТМ
2.4.6 Код Хемминга...
Глава 12. Fortuna...
Пересечение подтипов
Фрагмент [КОМПАС-3...
3. SADT-технология...
2.3.2.2 Сигналы зв...
Datum
Процессное управле...
3.4. Разделы
Правое и левое
Общая информация о...
Глава 2. GARMIN ST...
Правила для атрибутов
Проверка внедрения
10.1.2.5 Ioctl
6.2.1 Области
Запуск программы [...
7.2.3. Выполняемые...
Мини-чат
Вам необходимо залогиниться.

Нет присланных сообщений.
Copyright © 2009