На главную страницу
Форум txt.version   



Статья :: 8.1.2 Параметры диспетчеризации : Морис Бах

8.1.2 Параметры диспетчеризации

В каждой записи таблицы процессов есть поле приоритета, используемое планировщиком процессов. Приоритет процесса в режиме задачи зависит от того, как этот процесс перед этим использовал ресурсы ЦП. Можно выделить два класса приоритетов процесса (Рисунок 8.2): приоритеты выполнения в режиме ядра и приоритеты выполнения в режиме задачи. Каждый класс включает в себя ряд значений, с каждым значением логически ассоциирована некоторая очередь процессов. Приоритеты выполнения в режиме задачи оцениваются для процессов, выгруженных по возвращении из режима ядра в режим задачи, приоритеты выполнения в режиме ядра имеют смысл только в контексте алгоритма sleep. Приоритеты выполнения в режиме задачи имеют верхнее пороговое значение, приоритеты выполнения в режиме ядра имеют нижнее пороговое значение. Среди приоритетов выполнения в режиме ядра далее можно выделить высокие и низкие приоритеты: процессы с низким приоритетом возобновляются по получении сигнала, а процессы с высоким приоритетом продолжают оставаться в состоянии приостанова (см. раздел 7.2.1).

Пороговое значение между приоритетами выполнения в режимах ядра и задачи на Рисунке 8.2 отмечено двойной линией, проходящей между приоритетом ожидания завершения потомка (в режиме ядра) и нулевым приоритетом выполнения в режиме задачи. Приоритеты процесса подкачки, ожидания ввода-вывода, связанного с диском, ожидания буфера и индекса являются высокими, не допускающими прерывания системными приоритетами, с каждым из которых связана очередь из 1, 3, 2 и 1 процесса, соответственно, в то время как приоритеты ожидания ввода с терминала, вывода на терминал и завершения потомка являются низкими, допускающими прерывания системными приоритетами, с каждым из которых связана очередь из 4, 0 и 2 процессов, соответственно. На рисунке представлены также уровни приоритетов выполнения в режиме задачи[24].

Ядро вычисляет приоритет процесса в следующих случаях:

• Непосредственно перед переходом процесса в состояние приостанова ядро назначает ему приоритет исходя из причины приостанова. Приоритет не зависит от динамических характеристик процесса (продолжительности ввода-вывода или времени счета), напротив, это постоянная величина, жестко устанавливаемая в момент приостанова и зависящая только от причины перехода процесса в данное состояние. Процессы, приостановленные алгоритмами низкого уровня, имеют тенденцию порождать тем больше узких мест в системе, чем дольше они находятся в этом состоянии; поэтому им назначается более высокий приоритет по сравнению с остальными процессами. Например, процесс, приостановленный в ожидании завершения ввода-вывода, связанного с диском, имеет более высокий приоритет по сравнению с процессом, ожидающим освобождения буфера, по нескольким причинам. Прежде всего, у первого процесса уже есть буфер, поэтому не исключена возможность, что когда он возобновится, он успеет освободить и буфер, и другие ресурсы. Чем больше ресурсов свободно, тем меньше шансов для возникновения взаимной блокировки процессов. Системе не придется часто переключать контекст, благодаря чему сократится время реакции процесса и увеличится производительность системы. Во-вторых, буфер, освобождения которого ожидает процесс, может быть занят процессом, ожидающим в свою очередь завершения ввода-вывода. По завершении ввода-вывода будут возобновлены оба процесса, поскольку они были приостановлены по одному и тому же адресу. Если первым запустить на выполнение процесс, ожидающий освобождения буфера, он в любом случае снова приостановится до тех пор, пока буфер не будет освобожден; следовательно, его приоритет должен быть ниже.

• По возвращении процесса из режима ядра в режим задачи ядро вновь вычисляет приоритет процесса. Процесс мог до этого находиться в состоянии приостанова, изменив свой приоритет на приоритет выполнения в режиме ядра, поэтому при переходе процесса из режима ядра в режим задачи ему должен быть возвращен приоритет выполнения в режиме задачи. Кроме того, ядро "штрафует" выполняющийся процесс в пользу остальных процессов, отбирая используемые им ценные системные ресурсы.

• Приоритеты всех процессов в режиме задачи с интервалом в 1 секунду (в версии V) пересчитывает программа обработки прерываний по таймеру, побуждая тем самым ядро выполнять алгоритм планирования, чтобы не допустить монопольного использования ресурсов ЦП одним процессом.

Рисунок 8.2. Диапазон приоритетов процесса

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


decay(ИЦП) = ИЦП/2;


После этого программа пересчитывает приоритет каждого процесса, находящегося в состоянии "зарезервирован, но готов к выполнению", по формуле


приоритет = (ИЦП/2) + (базовый уровень приоритета задачи)


где под "базовым уровнем приоритета задачи" понимается пороговое значение, расположенное между приоритетами выполнения в режимах ядра и задачи. Высокому приоритету планирования соответствует количественно низкое значение. Анализ функций пересчета продолжительности использования ресурсов ЦП и приоритета процесса показывает: чем ниже скорость полураспада значения ИЦП, тем медленнее приоритет процесса достигает значение базового уровня; поэтому процессы в состоянии "готовности к выполнению" имеют тенденцию занимать большое число уровней приоритетов.

Результатом ежесекундного пересчета приоритетов является перемещение процессов, находящихся в режиме задачи, от одной очереди к другой, как показано на Рисунке 8.3. По сравнению с Рисунком 8.2 один процесс перешел из очереди, соответствующей уровню 1, в очередь, соответствующую нулевому уровню. В реальной системе все процессы, имеющие приоритеты выполнения в режиме задачи, поменяли бы свое местоположение в очередях. При этом следует указать на невозможность изменения приоритета процесса в режиме ядра, а также на невозможность пересечения пороговой черты процессами, выполняющимися в режиме задачи, до тех пор, пока они не обратятся к операционной системе и не перейдут в состояние приостанова.

Ядро стремится производить пересчет приоритетов всех активных процессов ежесекундно, однако интервал между моментами пересчета может слегка варьироваться. Если прерывание по таймеру поступило тогда, когда ядро исполняло критический отрезок программы (другими словами, в то время, когда приоритет работы ЦП был повышен, но, очевидно, не настолько, чтобы воспрепятствовать прерыванию данного типа), ядро не пересчитывает приоритеты, иначе ему пришлось бы надолго задержаться на критическом отрезке. Вместо этого ядро запоминает то, что ему следует произвести пересчет приоритетов, и делает это при первом же прерывании по таймеру, поступающем после снижения приоритета работы ЦП. Периодический пересчет приоритета процессов гарантирует проведение стратегии планирования, основанной на использовании кольцевого списка процессов, выполняющихся в режиме задачи. При этом конечно же ядро откликается на интерактивные запросы таких программ, как текстовые редакторы или программы форматного ввода: процессы, их реализующие, имеют высокий коэффициент простоя (отношение времени простоя к продолжительности использования ЦП) и поэтому естественно было бы повышать их приоритет, когда они готовы для выполнения (см. [Thompson 78], стр.1937). В других механизмах планирования квант времени, выделяемый процессу на работу с ресурсами ЦП, динамически изменяется в интервале между 0 и 1 сек. в зависимости от степени загрузки системы. При этом время реакции на запросы процессов может сократиться за счет того, что на ожидание момента запуска процессам уже не нужно отводить по целой секунде; однако, с другой стороны, ядру приходится чаще прибегать к переключению контекстов.

Рисунок 8.3. Переход процесса из одной очереди в другую




8.1.2 Параметры диспетчеризации : Морис Бах

страницы в данном разделе 
Архитектура операционной системы UNIX : Морис Бах 1.1 ИСТОРИЯ : Морис Бах
1.2 СТРУКТУРА СИСТЕМЫ : Морис Бах 1.3 ОБЗОР С ТОЧКИ ЗРЕНИЯ ПОЛЬЗОВАТЕЛЯ : Морис Бах
1.3.1 Файловая система : Морис Бах 1.3.2 Среда выполнения процессов : Морис Бах
1.3.3 Элементы конструкционных блоков : Морис Бах 1.4 ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ : Морис Бах
1.5 ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА : Морис Бах продолжение 9 : Морис Бах
1.1 ИСТОРИЯ : Морис Бах 1.2 СТРУКТУРА СИСТЕМЫ : Морис Бах
1.3.1 Файловая система : Морис Бах 1.3.2 Среда выполнения процессов : Морис Бах
1.3.3 Элементы конструкционных блоков : Морис Бах 1.3.1 Файловая система : Морис Бах
1.3.2 Среда выполнения процессов : Морис Бах 1.3.3 Элементы конструкционных блоков : Морис Бах
1.4 ФУНКЦИИ ОПЕРАЦИОННОЙ СИСТЕМЫ : Морис Бах 1.5 ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА : Морис Бах
продолжение 20 2.1 АРХИТЕКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ UNIХ : Морис Бах
2.2 ВВЕДЕНИЕ В ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ : Морис Бах 2.2.1 Обзор особенностей подсистемы управления файлами : Морис Бах
2.2.2 Процессы : Морис Бах продолжение 25 : Морис Бах
2.2.2.1 Контекст процесса : Морис Бах 2.2.2.3 Переходы из состояния в состояние : Морис Бах
2.2.2.4 Сон и пробуждение : Морис Бах 2.5 ВЫВОДЫ И ОБЗОР ПОСЛЕДУЮЩИХ ГЛАВ : Морис Бах
2.1 АРХИТЕКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ UNIХ : Морис Бах 2.2.1 Обзор особенностей подсистемы управления файлами : Морис Бах
2.2.2 Процессы : Морис Бах продолжение 33 : Морис Бах
2.2.2.1 Контекст процесса : Морис Бах 2.2.2.3 Переходы из состояния в состояние : Морис Бах
2.2.2.4 Сон и пробуждение : Морис Бах 2.2.1 Обзор особенностей подсистемы управления файлами : Морис Бах
2.2.2 Процессы : Морис Бах 2.2.2.1 Контекст процесса : Морис Бах
2.2.2.3 Переходы из состояния в состояние : Морис Бах 2.2.2.4 Сон и пробуждение : Морис Бах
продолжение 42 2.2.2.1 Контекст процесса : Морис Бах
2.2.2.3 Переходы из состояния в состояние : Морис Бах 2.2.2.4 Сон и пробуждение : Морис Бах
2.5 ВЫВОДЫ И ОБЗОР ПОСЛЕДУЮЩИХ ГЛАВ : Морис Бах ГЛАВА 3. БУФЕР СВЕРХОПЕРАТИВНОЙ ПАМЯТИ (КЕШ) : Морис Бах
3.1 ЗАГОЛОВКИ БУФЕРА : Морис Бах 3.2 СТРУКТУРА ОБЛАСТИ БУФЕРОВ (БУФЕРНОГО ПУЛА) : Морис Бах
3.3 МЕХАНИЗМ ПОИСКА БУФЕРА : Морис Бах 3.4 ЧТЕНИЕ И ЗАПИСЬ ДИСКОВЫХ БЛОКОВ : Морис Бах
3.5 ПРЕИМУЩЕСТВА И НЕУДОБСТВА БУФЕРНОГО КЕША : Морис Бах 3.6 ВЫВОДЫ : Морис Бах
3.7 УПРАЖНЕНИЯ : Морис Бах продолжение 55
3.1 ЗАГОЛОВКИ БУФЕРА : Морис Бах 3.2 СТРУКТУРА ОБЛАСТИ БУФЕРОВ (БУФЕРНОГО ПУЛА) : Морис Бах
3.3 МЕХАНИЗМ ПОИСКА БУФЕРА : Морис Бах 3.4 ЧТЕНИЕ И ЗАПИСЬ ДИСКОВЫХ БЛОКОВ : Морис Бах
3.5 ПРЕИМУЩЕСТВА И НЕУДОБСТВА БУФЕРНОГО КЕША : Морис Бах 3.6 ВЫВОДЫ : Морис Бах
3.7 УПРАЖНЕНИЯ : Морис Бах ГЛАВА 4. ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ ФАЙЛОВ : Морис Бах
4.1 ИНДЕКСЫ : Морис Бах 4.1.1 Определение : Морис Бах
4.1.2 Обращение к индексам : Морис Бах 4.2 СТРУКТУРА ФАЙЛА ОБЫЧНОГО ТИПА : Морис Бах
4.3 КАТАЛОГИ : Морис Бах 4.4 ПРЕВРАЩЕНИЕ СОСТАВНОГО ИМЕНИ ФАЙЛА (ПУТИ ПОИСКА) В ИДЕНТИФИКАТОР ИНДЕКСА : Морис Бах
4.6 НАЗНАЧЕНИЕ ИНДЕКСА НОВОМУ ФАЙЛУ : Морис Бах 4.7 ВЫДЕЛЕНИЕ ДИСКОВЫХ БЛОКОВ : Морис Бах
4.9 ВЫВОДЫ : Морис Бах 4.10 УПРАЖНЕНИЯ : Морис Бах
продолжение 74 4.1 ИНДЕКСЫ : Морис Бах
4.1.2 Обращение к индексам : Морис Бах 4.1.1 Определение : Морис Бах
4.1.2 Обращение к индексам : Морис Бах 4.2 СТРУКТУРА ФАЙЛА ОБЫЧНОГО ТИПА : Морис Бах
4.3 КАТАЛОГИ : Морис Бах 4.4 ПРЕВРАЩЕНИЕ СОСТАВНОГО ИМЕНИ ФАЙЛА (ПУТИ ПОИСКА) В ИДЕНТИФИКАТОР ИНДЕКСА : Морис Бах
4.6 НАЗНАЧЕНИЕ ИНДЕКСА НОВОМУ ФАЙЛУ : Морис Бах 4.7 ВЫДЕЛЕНИЕ ДИСКОВЫХ БЛОКОВ : Морис Бах
4.9 ВЫВОДЫ : Морис Бах 4.10 УПРАЖНЕНИЯ : Морис Бах
ГЛАВА 5. СИСТЕМНЫЕ ОПЕРАЦИИ ДЛЯ РАБОТЫ С ФАЙЛОВОЙ СИСТЕМОЙ : Морис Бах 5.1 OPEN : Морис Бах
5.2 READ : Морис Бах 5.3 WRIТЕ : Морис Бах
5.5 УКАЗАНИЕ МЕСТА В ФАЙЛЕ, ГДЕ БУДЕТ ВЫПОЛНЯТЬСЯ ВВОД-ВЫВОД — LSEEК : Морис Бах 5.6 CLOSЕ : Морис Бах
5.7 СОЗДАНИЕ ФАЙЛА : Морис Бах 5.8 СОЗДАНИЕ СПЕЦИАЛЬНЫХ ФАЙЛОВ : Морис Бах
5.9 СМЕНА ТЕКУЩЕГО И КОРНЕВОГО КАТАЛОГА : Морис Бах 5.12 КАНАЛЫ : Морис Бах
5.12.1 Системная функция pipе : Морис Бах 5.12.2 Открытие поименованного канала : Морис Бах
5.12.3 Чтение из каналов и запись в каналы : Морис Бах 5.12.5 Примеры : Морис Бах
5.13 DUР : Морис Бах 5.14 МОНТИРОВАНИЕ И ДЕМОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ : Морис Бах
продолжение 102 : Морис Бах 5.14.1 Пересечение точек монтирования в маршрутах поиска имен файлов : Морис Бах
5.14.2 Демонтирование файловой системы : Морис Бах 5.15 LINК : Морис Бах
5.16 UNLINК : Морис Бах продолжение 107 : Морис Бах
5.16.1 Целостность файловой системы : Морис Бах 5.16.2 Поводы для конкуренции : Морис Бах
5.17 АБСТРАКТНЫЕ ОБРАЩЕНИЯ К ФАЙЛОВЫМ СИСТЕМАМ : Морис Бах 5.18 СОПРОВОЖДЕНИЕ ФАЙЛОВОЙ СИСТЕМЫ : Морис Бах
5.20 УПРАЖНЕНИЯ : Морис Бах продолжение 113
5.1 OPEN : Морис Бах 5.2 READ : Морис Бах
5.3 WRIТЕ : Морис Бах 5.5 УКАЗАНИЕ МЕСТА В ФАЙЛЕ, ГДЕ БУДЕТ ВЫПОЛНЯТЬСЯ ВВОД-ВЫВОД — LSEEК : Морис Бах
5.6 CLOSЕ : Морис Бах 5.7 СОЗДАНИЕ ФАЙЛА : Морис Бах
5.8 СОЗДАНИЕ СПЕЦИАЛЬНЫХ ФАЙЛОВ : Морис Бах 5.9 СМЕНА ТЕКУЩЕГО И КОРНЕВОГО КАТАЛОГА : Морис Бах
5.12.1 Системная функция pipе : Морис Бах 5.12.2 Открытие поименованного канала : Морис Бах
5.12.3 Чтение из каналов и запись в каналы : Морис Бах 5.12.5 Примеры : Морис Бах
5.12.1 Системная функция pipе : Морис Бах 5.12.2 Открытие поименованного канала : Морис Бах
5.12.3 Чтение из каналов и запись в каналы : Морис Бах 5.12.5 Примеры : Морис Бах
5.13 DUР : Морис Бах 5.14 МОНТИРОВАНИЕ И ДЕМОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ : Морис Бах
5.14.1 Пересечение точек монтирования в маршрутах поиска имен файлов : Морис Бах 5.14.2 Демонтирование файловой системы : Морис Бах
продолжение 134 5.14.1 Пересечение точек монтирования в маршрутах поиска имен файлов : Морис Бах
5.14.2 Демонтирование файловой системы : Морис Бах 5.15 LINК : Морис Бах
5.16 UNLINК : Морис Бах 5.16.1 Целостность файловой системы : Морис Бах
5.16.2 Поводы для конкуренции : Морис Бах продолжение 141
5.16.1 Целостность файловой системы : Морис Бах 5.16.2 Поводы для конкуренции : Морис Бах
5.17 АБСТРАКТНЫЕ ОБРАЩЕНИЯ К ФАЙЛОВЫМ СИСТЕМАМ : Морис Бах 5.18 СОПРОВОЖДЕНИЕ ФАЙЛОВОЙ СИСТЕМЫ : Морис Бах
5.20 УПРАЖНЕНИЯ : Морис Бах 6.1 СОСТОЯНИЯ ПРОЦЕССА И ПЕРЕХОДЫ МЕЖДУ НИМИ : Морис Бах
6.2 ФОРМАТ ПАМЯТИ СИСТЕМЫ : Морис Бах продолжение 149 : Морис Бах
6.2.1 Области : Морис Бах 6.2.2 Страницы и таблицы страниц : Морис Бах
6.2.3 Размещение ядра : Морис Бах 6.2.4 Пространство процесса : Морис Бах
6.3 КОНТЕКСТ ПРОЦЕССА : Морис Бах 6.4 СОХРАНЕНИЕ КОНТЕКСТА ПРОЦЕССА : Морис Бах
6.4.1 Прерывания и особые ситуации : Морис Бах 6.4.2 Взаимодействие с операционной системой через вызовы системных функций : Морис Бах
6.4.3 Переключение контекста : Морис Бах j159.html
6.5 УПРАВЛЕНИЕ АДРЕСНЫМ ПРОСТРАНСТВОМ ПРОЦЕССА : Морис Бах продолжение 161 : Морис Бах
6.5.2 Выделение области : Морис Бах 6.5.3 Присоединение области к процессу : Морис Бах
6.5.4 Изменение размера области : Морис Бах 6.5.5 Загрузка области : Морис Бах
6.5.8 Копирование содержимого области : Морис Бах 6.6 ПРИОСТАНОВКА ВЫПОЛНЕНИЯ : Морис Бах
6.6.1 События, вызывающие приостанов выполнения, и их адреса : Морис Бах 6.6.2 Алгоритмы приостанова и возобновления выполнения : Морис Бах
6.7 ВЫВОДЫ : Морис Бах 6.8 УПРАЖНЕНИЯ : Морис Бах
6.1 СОСТОЯНИЯ ПРОЦЕССА И ПЕРЕХОДЫ МЕЖДУ НИМИ : Морис Бах 6.2 ФОРМАТ ПАМЯТИ СИСТЕМЫ : Морис Бах
6.2.1 Области : Морис Бах продолжение 175
6.2.1 Области : Морис Бах 6.2.2 Страницы и таблицы страниц : Морис Бах
6.2.3 Размещение ядра : Морис Бах 6.2.4 Пространство процесса : Морис Бах
6.3 КОНТЕКСТ ПРОЦЕССА : Морис Бах 6.4.1 Прерывания и особые ситуации : Морис Бах
6.4.2 Взаимодействие с операционной системой через вызовы системных функций : Морис Бах 6.4.3 Переключение контекста : Морис Бах
j184.html 6.4.1 Прерывания и особые ситуации : Морис Бах
6.4.2 Взаимодействие с операционной системой через вызовы системных функций : Морис Бах 6.4.3 Переключение контекста : Морис Бах
j188.html 6.5 УПРАВЛЕНИЕ АДРЕСНЫМ ПРОСТРАНСТВОМ ПРОЦЕССА : Морис Бах
6.5.2 Выделение области : Морис Бах 6.5.3 Присоединение области к процессу : Морис Бах
6.5.4 Изменение размера области : Морис Бах 6.5.5 Загрузка области : Морис Бах
6.5.8 Копирование содержимого области : Морис Бах продолжение 195
6.5.2 Выделение области : Морис Бах 6.5.3 Присоединение области к процессу : Морис Бах
6.5.4 Изменение размера области : Морис Бах 6.5.5 Загрузка области : Морис Бах
6.5.8 Копирование содержимого области : Морис Бах 6.6.1 События, вызывающие приостанов выполнения, и их адреса : Морис Бах
6.6.2 Алгоритмы приостанова и возобновления выполнения : Морис Бах 6.6.1 События, вызывающие приостанов выполнения, и их адреса : Морис Бах
6.6.2 Алгоритмы приостанова и возобновления выполнения : Морис Бах 6.7 ВЫВОДЫ : Морис Бах
6.8 УПРАЖНЕНИЯ : Морис Бах ГЛАВА 7. УПРАВЛЕНИЕ ПРОЦЕССАМИ : Морис Бах
7.1 СОЗДАНИЕ ПРОЦЕССА : Морис Бах 7.2 СИГНАЛЫ : Морис Бах
продолжение 210 : Морис Бах 7.2.1 Обработка сигналов : Морис Бах
7.2.3 Посылка сигналов процессами : Морис Бах 7.3 ЗАВЕРШЕНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССА : Морис Бах
7.4 ОЖИДАНИЕ ЗАВЕРШЕНИЯ ВЫПОЛНЕНИЯ ПРОЦЕССА : Морис Бах 7.5 ВЫЗОВ ДРУГИХ ПРОГРАММ : Морис Бах
7.6 КОД ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОЦЕССА : Морис Бах 7.7 ИЗМЕНЕНИЕ РАЗМЕРА ПРОЦЕССА : Морис Бах
7.8 КОМАНДНЫЙ ПРОЦЕССОР SHELL : Морис Бах 7.9 ЗАГРУЗКА СИСТЕМЫ И НАЧАЛЬНЫЙ ПРОЦЕСС : Морис Бах
7.10 ВЫВОДЫ : Морис Бах 7.11 УПРАЖНЕНИЯ : Морис Бах
продолжение 222 7.1 СОЗДАНИЕ ПРОЦЕССА : Морис Бах
7.2 СИГНАЛЫ : Морис Бах 7.2.1 Обработка сигналов : Морис Бах
7.2.3 Посылка сигналов процессами : Морис Бах продолжение 227
7.2.1 Обработка сигналов : Морис Бах 7.2.3 Посылка сигналов процессами : Морис Бах
7.3 ЗАВЕРШЕНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССА : Морис Бах 7.4 ОЖИДАНИЕ ЗАВЕРШЕНИЯ ВЫПОЛНЕНИЯ ПРОЦЕССА : Морис Бах
7.5 ВЫЗОВ ДРУГИХ ПРОГРАММ : Морис Бах 7.6 КОД ИДЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЯ ПРОЦЕССА : Морис Бах
7.7 ИЗМЕНЕНИЕ РАЗМЕРА ПРОЦЕССА : Морис Бах 7.8 КОМАНДНЫЙ ПРОЦЕССОР SHELL : Морис Бах
7.9 ЗАГРУЗКА СИСТЕМЫ И НАЧАЛЬНЫЙ ПРОЦЕСС : Морис Бах 7.10 ВЫВОДЫ : Морис Бах
7.11 УПРАЖНЕНИЯ : Морис Бах 8.1 ПЛАНИРОВАНИЕ ВЫПОЛНЕНИЯ ПРОЦЕССОВ : Морис Бах
8.1.2 Параметры диспетчеризации : Морис Бах 8.1.3 Примеры диспетчеризации процессов : Морис Бах
8.1.5 Планирование на основе справедливого раздела : Морис Бах 8.1.6 Работа в режиме реального времени : Морис Бах
8.2 СИСТЕМНЫЕ ОПЕРАЦИИ, СВЯЗАННЫЕ СО ВРЕМЕНЕМ : Морис Бах 8.3 ТАЙМЕР : Морис Бах
продолжение 246 : Морис Бах 8.3.2 Внутренние системные тайм-ауты : Морис Бах
8.3.3 Построение профиля : Морис Бах 8.3.4 Учет и статистика : Морис Бах
8.5 УПРАЖНЕНИЯ : Морис Бах 8.1.2 Параметры диспетчеризации : Морис Бах
8.1.3 Примеры диспетчеризации процессов : Морис Бах 8.1.5 Планирование на основе справедливого раздела : Морис Бах
8.1.6 Работа в режиме реального времени : Морис Бах 8.1.2 Параметры диспетчеризации : Морис Бах
8.1.3 Примеры диспетчеризации процессов : Морис Бах 8.1.5 Планирование на основе справедливого раздела : Морис Бах
8.1.6 Работа в режиме реального времени : Морис Бах 8.2 СИСТЕМНЫЕ ОПЕРАЦИИ, СВЯЗАННЫЕ СО ВРЕМЕНЕМ : Морис Бах
8.3 ТАЙМЕР : Морис Бах 8.3.2 Внутренние системные тайм-ауты : Морис Бах
8.3.3 Построение профиля : Морис Бах 8.3.4 Учет и статистика : Морис Бах
продолжение 264 8.3.2 Внутренние системные тайм-ауты : Морис Бах
8.3.3 Построение профиля : Морис Бах 8.3.4 Учет и статистика : Морис Бах
8.5 УПРАЖНЕНИЯ : Морис Бах ГЛАВА 9. АЛГОРИТМЫ УПРАВЛЕНИЯ ПАМЯТЬЮ : Морис Бах
9.1 СВОПИНГ : Морис Бах 9.1.1 Управление пространством на устройстве выгрузки : Морис Бах
9.1.2 Выгрузка процессов : Морис Бах продолжение 273 : Морис Бах
9.1.3 Загрузка (подкачка) процессов : Морис Бах 9.2 ПОДКАЧКА ПО ЗАПРОСУ : Морис Бах
продолжение 276 : Морис Бах 9.2.1 Структуры данных, используемые подсистемой замещения страниц : Морис Бах
продолжение 278 : Морис Бах 9.2.1.1 Функция fork в системе с замещением страниц : Морис Бах
9.2.1.2 Функция exec в системе с замещением страниц : Морис Бах 9.2.2 "Сборщик" страниц : Морис Бах
9.2.3 Отказы при обращениях к страницам : Морис Бах 9.2.3.1 Обработка прерываний по отказу из-за недоступности данных : Морис Бах
9.2.3.2 Обработка прерываний по отказу системы защиты : Морис Бах 9.2.4 Замещение страниц на менее сложной технической базе : Морис Бах
9.3 СИСТЕМА СМЕШАННОГО ТИПА СО СВОПИНГОМ И ПОДКАЧКОЙ ПО ЗАПРОСУ : Морис Бах 9.4 ВЫВОДЫ : Морис Бах
9.5 УПРАЖНЕНИЯ : Морис Бах продолжение 289
9.1.1 Управление пространством на устройстве выгрузки : Морис Бах 9.1.2 Выгрузка процессов : Морис Бах
продолжение 292 : Морис Бах 9.1.3 Загрузка (подкачка) процессов : Морис Бах
9.1.1 Управление пространством на устройстве выгрузки : Морис Бах 9.1.2 Выгрузка процессов : Морис Бах
продолжение 296 9.1.3 Загрузка (подкачка) процессов : Морис Бах
9.2 ПОДКАЧКА ПО ЗАПРОСУ : Морис Бах 9.2.1 Структуры данных, используемые подсистемой замещения страниц : Морис Бах
продолжение 300 : Морис Бах 9.2.1.1 Функция fork в системе с замещением страниц : Морис Бах
9.2.1.2 Функция exec в системе с замещением страниц : Морис Бах 9.2.2 "Сборщик" страниц : Морис Бах
9.2.3 Отказы при обращениях к страницам : Морис Бах 9.2.3.1 Обработка прерываний по отказу из-за недоступности данных : Морис Бах
j306.html 9.2.4 Замещение страниц на менее сложной технической базе : Морис Бах
продолжение 308 9.2.1 Структуры данных, используемые подсистемой замещения страниц : Морис Бах
9.2.1.1 Функция fork в системе с замещением страниц : Морис Бах 9.2.1.2 Функция exec в системе с замещением страниц : Морис Бах
продолжение 312 9.2.1.1 Функция fork в системе с замещением страниц : Морис Бах
9.2.1.2 Функция exec в системе с замещением страниц : Морис Бах 9.2.2 "Сборщик" страниц : Морис Бах
9.2.3.1 Обработка прерываний по отказу из-за недоступности данных : Морис Бах 9.2.3.2 Обработка прерываний по отказу системы защиты : Морис Бах
9.2.3.1 Обработка прерываний по отказу из-за недоступности данных : Морис Бах 9.2.3.2 Обработка прерываний по отказу системы защиты : Морис Бах
9.2.4 Замещение страниц на менее сложной технической базе : Морис Бах 9.3 СИСТЕМА СМЕШАННОГО ТИПА СО СВОПИНГОМ И ПОДКАЧКОЙ ПО ЗАПРОСУ : Морис Бах
9.4 ВЫВОДЫ : Морис Бах 9.5 УПРАЖНЕНИЯ : Морис Бах
ГЛАВА 10. ПОДСИСТЕМА УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ : Морис Бах 10.1 ВЗАИМОДЕЙСТВИЕ ДРАЙВЕРОВ С ПРОГРАММНОЙ И АППАРАТНОЙ СРЕДОЙ : Морис Бах
10.1.1 Конфигурация системы : Морис Бах 10.1.2 Системные функции и взаимодействие с драйверами : Морис Бах
продолжение 328 : Морис Бах 10.1.2.1 Open : Морис Бах
10.1.2.2 Closе : Морис Бах 10.1.2.3 Read и Writе : Морис Бах
10.1.2.4 Стратегический интерфейс : Морис Бах 10.1.2.5 Ioctl : Морис Бах
10.1.3 Программы обработки прерываний : Морис Бах 10.2 ДИСКОВЫЕ ДРАЙВЕРЫ : Морис Бах
10.3 ТЕРМИНАЛЬНЫЕ ДРАЙВЕРЫ : Морис Бах продолжение 337 : Морис Бах
10.3.1 Символьные списки : Морис Бах 10.3.2 Терминальный драйвер в каноническом режиме : Морис Бах
10.3.3 Терминальный драйвер в режиме без обработки символов : Морис Бах 10.3.4 Опрос терминала : Морис Бах
10.3.5 Назначение операторского терминала : Морис Бах 10.3.6 Драйвер косвенного терминала : Морис Бах
10.3.7 Вход в систему : Морис Бах 10.4 ПОТОКИ : Морис Бах
продолжение 346 : Морис Бах 10.4.1 Более детальное рассмотрение потоков : Морис Бах
10.4.2 Анализ потоков : Морис Бах 10.5 ВЫВОДЫ : Морис Бах
10.6 УПРАЖНЕНИЯ : Морис Бах продолжение 351
10.1.1 Конфигурация системы : Морис Бах 10.1.2 Системные функции и взаимодействие с драйверами : Морис Бах
продолжение 354 : Морис Бах 10.1.2.1 Open : Морис Бах
10.1.2.2 Closе : Морис Бах 10.1.2.3 Read и Writе : Морис Бах
10.1.2.4 Стратегический интерфейс : Морис Бах 10.1.2.5 Ioctl : Морис Бах
10.1.3 Программы обработки прерываний : Морис Бах 10.1.1 Конфигурация системы : Морис Бах
10.1.2 Системные функции и взаимодействие с драйверами : Морис Бах 10.1.2.1 Open : Морис Бах
10.1.2.2 Closе : Морис Бах 10.1.2.3 Read и Writе : Морис Бах
10.1.2.4 Стратегический интерфейс : Морис Бах 10.1.2.5 Ioctl : Морис Бах
продолжение 368 10.1.2.1 Open : Морис Бах
10.1.2.2 Closе : Морис Бах 10.1.2.3 Read и Writе : Морис Бах
10.1.2.4 Стратегический интерфейс : Морис Бах 10.1.2.5 Ioctl : Морис Бах
10.1.3 Программы обработки прерываний : Морис Бах 10.2 ДИСКОВЫЕ ДРАЙВЕРЫ : Морис Бах
10.3 ТЕРМИНАЛЬНЫЕ ДРАЙВЕРЫ : Морис Бах 10.3.1 Символьные списки : Морис Бах
10.3.2 Терминальный драйвер в каноническом режиме : Морис Бах 10.3.3 Терминальный драйвер в режиме без обработки символов : Морис Бах
10.3.4 Опрос терминала : Морис Бах 10.3.5 Назначение операторского терминала : Морис Бах
10.3.6 Драйвер косвенного терминала : Морис Бах 10.3.7 Вход в систему : Морис Бах
продолжение 384 10.3.1 Символьные списки : Морис Бах
10.3.2 Терминальный драйвер в каноническом режиме : Морис Бах 10.3.3 Терминальный драйвер в режиме без обработки символов : Морис Бах
10.3.4 Опрос терминала : Морис Бах 10.3.5 Назначение операторского терминала : Морис Бах
10.3.6 Драйвер косвенного терминала : Морис Бах 10.3.7 Вход в систему : Морис Бах
10.4 ПОТОКИ : Морис Бах 10.4.1 Более детальное рассмотрение потоков : Морис Бах
10.4.2 Анализ потоков : Морис Бах продолжение 395
10.4.1 Более детальное рассмотрение потоков : Морис Бах 10.4.2 Анализ потоков : Морис Бах
10.5 ВЫВОДЫ : Морис Бах 10.6 УПРАЖНЕНИЯ : Морис Бах
11.1 ТРАССИРОВКА ПРОЦЕССОВ : Морис Бах 11.2 ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ В ВЕРСИИ V СИСТЕМЫ : Морис Бах
продолжение 402 : Морис Бах 11.2.1 Сообщения : Морис Бах
11.2.2 Разделение памяти : Морис Бах 11.2.3 Семафоры : Морис Бах
11.2.4 Общие замечания : Морис Бах 11.3 ВЗАИМОДЕЙСТВИЕ В СЕТИ : Морис Бах
11.4 ГНЕЗДА : Морис Бах 11.6 УПРАЖНЕНИЯ : Морис Бах
11.1 ТРАССИРОВКА ПРОЦЕССОВ : Морис Бах 11.2 ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ В ВЕРСИИ V СИСТЕМЫ : Морис Бах
11.2.1 Сообщения : Морис Бах 11.2.2 Разделение памяти : Морис Бах
11.2.3 Семафоры : Морис Бах 11.2.4 Общие замечания : Морис Бах
продолжение 416 11.2.1 Сообщения : Морис Бах
11.2.2 Разделение памяти : Морис Бах 11.2.3 Семафоры : Морис Бах
11.2.4 Общие замечания : Морис Бах 11.3 ВЗАИМОДЕЙСТВИЕ В СЕТИ : Морис Бах
11.4 ГНЕЗДА : Морис Бах 11.6 УПРАЖНЕНИЯ : Морис Бах
12.1 ПРОБЛЕМЫ, СВЯЗАННЫЕ С МНОГОПРОЦЕССОРНЫМИ СИСТЕМАМИ : Морис Бах 12.2 ГЛАВНЫЙ И ПОДЧИНЕННЫЙ ПРОЦЕССОРЫ : Морис Бах
12.3 СЕМАФОРЫ : Морис Бах продолжение 427 : Морис Бах
12.3.2 Реализация семафоров : Морис Бах 12.3.3 Примеры алгоритмов : Морис Бах
12.3.3.1 Выделение буфера : Морис Бах 12.3.3.3 Драйверы : Морис Бах
12.3.3.4 Фиктивные процессы : Морис Бах 12.6 УПРАЖНЕНИЯ : Морис Бах
12.1 ПРОБЛЕМЫ, СВЯЗАННЫЕ С МНОГОПРОЦЕССОРНЫМИ СИСТЕМАМИ : Морис Бах 12.2 ГЛАВНЫЙ И ПОДЧИНЕННЫЙ ПРОЦЕССОРЫ : Морис Бах
12.3 СЕМАФОРЫ : Морис Бах 12.3.2 Реализация семафоров : Морис Бах
12.3.3 Примеры алгоритмов : Морис Бах 12.3.3.1 Выделение буфера : Морис Бах
12.3.3.3 Драйверы : Морис Бах 12.3.3.4 Фиктивные процессы : Морис Бах
продолжение 442 12.3.2 Реализация семафоров : Морис Бах
12.3.3.1 Выделение буфера : Морис Бах 12.3.3.3 Драйверы : Морис Бах
12.3.3.4 Фиктивные процессы : Морис Бах 12.3.3.1 Выделение буфера : Морис Бах
12.3.3.3 Драйверы : Морис Бах 12.3.3.4 Фиктивные процессы : Морис Бах
12.6 УПРАЖНЕНИЯ : Морис Бах ГЛАВА 13. РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ : Морис Бах
13.1 ПЕРИФЕРИЙНЫЕ ПРОЦЕССОРЫ : Морис Бах 13.2 СВЯЗЬ ТИПА NEWCASTLЕ : Морис Бах
13.3 "ПРОЗРАЧНЫЕ" РАСПРЕДЕЛЕННЫЕ ФАЙЛОВЫЕ СИСТЕМЫ : Морис Бах 13.4 РАСПРЕДЕЛЕННАЯ МОДЕЛЬ БЕЗ ПЕРЕДАТОЧНЫХ ПРОЦЕССОВ : Морис Бах
13.5 ВЫВОДЫ : Морис Бах 13.6 УПРАЖНЕНИЯ : Морис Бах
продолжение 458 13.1 ПЕРИФЕРИЙНЫЕ ПРОЦЕССОРЫ : Морис Бах
13.2 СВЯЗЬ ТИПА NEWCASTLЕ : Морис Бах 13.3 "ПРОЗРАЧНЫЕ" РАСПРЕДЕЛЕННЫЕ ФАЙЛОВЫЕ СИСТЕМЫ : Морис Бах
13.4 РАСПРЕДЕЛЕННАЯ МОДЕЛЬ БЕЗ ПЕРЕДАТОЧНЫХ ПРОЦЕССОВ : Морис Бах 13.5 ВЫВОДЫ : Морис Бах
13.6 УПРАЖНЕНИЯ : Морис Бах ПРИЛОЖЕНИЕ СИСТЕМНЫЕ ОПЕРАЦИИ : Морис Бах
БИБЛИОГРАФИЯ : Морис Бах Использовалась литература : Архитектура операционной системы UNIX

Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)


Microsoft Office Журнал Компьютерра № 32 от 5 сентября 2006 года Журнал Компьютерра № 34 от 18 сентября 2006 года