Все о моделировании в Компас-3D LT
   Главная Статьи Файлы Форум Ссылки Категории новостей
July 04 2025 06:29:19   
Навигация
Главная
Статьи
Файлы
FAQ
Форум
Ссылки
Категории новостей
Обратная связь
Фото галерея
Поиск
Разное
Карта Сайта
Популярные статьи
Что необходимо ... 65535
4.12.1 Професси... 35736
Учимся удалять!... 32609
Примеры, синони... 23906
Просмотр готовы... 23175
Декартовы коорд... 23065
FAST (методика ... 21920
содержание - се... 21258
Просмотр готовы... 20033
Работа с инстру... 15582
Сейчас на сайте
Гостей: 5
На сайте нет зарегистрированных пользователей

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

Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ по Delphi
Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog
6.5.2 Выделение области
Ядро выделяет новую область (по алгоритму allocreg, Рисунок 6.18) во время выполнения системных функций fork, exec и shmget (получить разделяемую память). Ядро поддерживает таблицу областей, записям которой соответствуют точки входа либо в списке свободных областей, либо в списке активных областей. При выделении записи в таблице областей ядро выбирает из списка свободных областей первую доступную запись, включает ее в список активных областей, блокирует область и делает пометку о ее типе (разделяемая или частная). За некоторым исключением каждый процесс ассоциируется с исполняемым файлом (после того, как была выполнена команда exec), и в алгоритме allocreg поле индекса в записи таблицы областей устанавливается таким образом, чтобы оно указывало на индекс исполняемого файла. Индекс идентифицирует область для ядра, поэтому другие процессы могут при желании разделять область. Ядро увеличивает значение счетчика ссылок на индекс, чтобы помешать другим процессам удалять содержимое файла при выполнении функции unlink, об этом еще будет идти речь в разделе 7.5. Результатом алгоритма allocreg является назначение и блокировка области.
алгоритм allocreg /* разместить информационную структуру области */
входная информация:
(1) указатель индекса
(2) тип области
выходная информация: заблокированная область
{
выбрать область из списка свободных областей;
назначить области тип;
присвоить значение указателю индекса;
if (указатель индекса имеет ненулевое значение)
увеличить значение счетчика ссылок на индекс;
включить область в список активных областей;
return (заблокированную область);
}
Рисунок 6.18. Алгоритм выделения области
Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

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

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

Пароль



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

Забыли пароль?
Запросите новый здесь.
Случайные статьи
До 200 долларов
6.5.8 Копирование ...
7.4. Организационн...
9.2 ПОДКАЧКА ПО ЗА...
3. Обзор концепции...
RoutePlanner и Str...
Пролог
Путевые точки
8.1.5 Планирование...
Оглавление
8.1. Управление тр...
Простота работы и ...
9.2.1.2 Функция ex...
Глава 16. Raymarin...
2.1.2. Уровень 2 ...
1.3.1 Файловая сис...
Технология совмест...
ГЛАВА 6. СТРУКТУРА...
Идентификация связей
2.4.1 Кодирование ...
Измерения и анализ
Комплект Pocket Na...
ГЛАВА 3. БУФЕР СВ...
Версии Linux
Введение
Глава 7. Основные ...
Пользовательские п...
Вместо заключения
2.4.8 Итеративные ...
5.11 STAT И FSTАТ
10.3.6 Драйвер кос...
Глава 7. Использов...
7.3.3. Концепции, ...
Группа 2 — програм...
2.6.2. Способы кон...
1.2 СТРУКТУРА СИСТЕМЫ
5.14.2 Демонтирова...
5. Значение органи...
Компактность и эфф...
ГЛАВА 11. ВЗАИМОДЕ...
Мини-чат
Вам необходимо залогиниться.

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