Какая информация содержится в контексте процесса
Главная / Операционные системы /
Современные операционные системы / Тест 5
Упражнение 1:
Номер 1
Что такое процесс?
Ответ:
 (1) экзепляр выполняемой программы 
 (2) ход выполнения программы 
 (3) попеременное выполнение нескольких программ на одном процессоре 
Номер 2
Что такое поток?
Ответ:
 (1) экземпляр выполняемой программы 
 (2) ход выполнения программы 
 (3) попеременное выполнение нескольких программ на одном процессоре 
Номер 3
Что такое многозадачность?
Ответ:
 (1) способ организации вычислительного процесса, при котором на одном процессоре одновременно выполняются несколько программ 
 (2) способ организации вычислительного процесса, при котором на одном процессоре попеременно выполняются несколько программ 
 (3) способ организации вычислительного процесса, при котором на нескольких процессорах выполняется одна и та же программа 
Упражнение 2:
Номер 1
Какие утверждения являются верными?
Ответ:
 (1) поток выполняется в рамках владеющего им процесса 
 (2) поток выполняется в форме одного или нескольких процессов 
 (3) процесс является более крупной единицей, чем поток 
Номер 2
Какие утверждения являются верными?
Ответ:
 (1) поток является менее крупной единицей, чем процесс 
 (2) процесс выполняется в форме одного или нескольких потоков 
 (3) процесс выполняется в рамках владеющего им потока 
Номер 3
Какие утверждения не являются верными?
Ответ:
 (1) поток является более крупной единицей, чем процесс 
 (2) процесс выполняется в форме одного или нескольких потоков 
 (3) процесс выполняется в рамках владеющего им потока 
Упражнение 3:
Номер 1
Какие параметры включаются в квоты?
Ответ:
 (1) максимальное количество процессов для задания 
 (2) суммарное время центрального процессора 
 (3) максимальное количество используемой памяти для процесса  
 (4) максимальное количество используемой памяти для задания в целом 
Номер 2
Какое минимальное количество потоков содержится в каждом процессе?
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Номер 3
В каком случае поток работает в режиме ядра?
Ответ:
 (1) в том случае, когда он обращается к системному вызову 
 (2) после завершения системного вызова 
 (3) поток всегда работает в режиме ядра 
 (4) поток никогда не может работать в режиме ядра 
Упражнение 4:
Номер 1
Когда происходит завершение процесса?
Ответ:
 (1) только тогда, когда все потоки процесса завершаются одновременно 
 (2) когда завершается хотя бы один активный поток процесса 
 (3) когда завершается последний активный поток процесса 
Номер 2
Что такое задание?
Ответ:
 (1) набор процессов с общими квотами и лимитами 
 (2) контейнер для ресурсов и потоков 
 (3) исполнение кода в процессе 
 (4) облегченный поток, полностью управляемый в пространстве пользователя 
Номер 3
Что такое волокно?
Ответ:
 (1) набор процессов с общими квотами и лимитами 
 (2) контейнер для ресурсов и потоков 
 (3) исполнение кода в процессе 
 (4) облегченный поток, полностью управляемый в пространстве пользователя 
Упражнение 5:
Номер 1
Что такое пропускная способность вычислительной системы?
Ответ:
 (1) количество задач, выполняемых системой в единицу времени 
 (2) возможность пользователя одновременно работать в интерактивном режиме с несколькими приложениями на одной машине 
 (3) способность выдерживать заранее заданные интервалы времени между запуском программы и получением конечного результата.
 
Номер 2
Что такое реактивность системы?
Ответ:
 (1) количество задач, выполняемых системой в единицу времени 
 (2) возможность пользователя одновременно работать в интерактивном режиме с несколькими приложениями на одной машине 
 (3) способность выдерживать заранее заданные интервалы времени между запуском программы и получением конечного результата.
 
Номер 3
Какие характеристики являются показателями эффективности вычислительных систем?
Ответ:
 (1) пропускная способность  
 (2) удобство работы пользователей 
 (3) реактивность системы 
Упражнение 6:
Номер 1
Какие операционные системы предназначены для решения задач вычислительного характера, не требующих быстрого получения результатов?
Ответ:
 (1) cистемы пакетной обработки 
 (2) системы разделения времени 
 (3) системы реального времени 
Номер 2
Какие операционные системы предназначены для управления техническими объектами, технологическими процессами, системами обслуживания разного рода?
Ответ:
 (1) cистемы пакетной обработки 
 (2) системы разделения времени 
 (3) системы реального времени 
Номер 3
Для каких систем главным критерием эффективности является время реакции системы?
Ответ:
 (1) для систем разделения времени 
 (2) для систем реального времени 
 (3) для cистем пакетной обработки 
Упражнение 7:
Номер 1
В чем отличие многопроцессорной обработки от многопрограммной обработки?
Ответ:
 (1) в том, что при многопроцессорной обработке несколько задач выполняется одновременно на нескольких процессорах 
 (2) в том, что при многопроцессорной обработке несколько задач выполняется одновременно на одном процессоре 
 (3) в том, что при многопроцессорной обработке несколько задач выполняется параллельно на одном процессоре 
Номер 2
Какие признаки характерны для симметричной архитектуры мультипроцессорной системы?
Ответ:
 (1) процессоры различаются по характеристикам (производительность, система команд) 
 (2) однотипность и единообразие включения процессоров 
 (3) большая разделяемая между процессорами память 
 (4) процессоры различаются по функциональной роли в работе системы 
Номер 3
Какие признаки характерны для асимметричной архитектуры мультипроцессорной системы?
Ответ:
 (1) процессоры различаются по характеристикам (производительность, система команд) 
 (2) однотипность и единообразие включения процессоров 
 (3) большая разделяемая между процессорами память 
 (4) процессоры различаются по функциональной роли в работе системы 
Упражнение 8:
Номер 1
Какие функции выполняет подсистема управления процессами и потоками?
Ответ:
 (1) создание процессов и потоков 
 (2) обеспечение процессов и потоков необходимыми ресурсами 
 (3) организация межпроцессного взаимодействия 
 (4) синхронизация процессов и потоков 
Номер 2
Что такое демон?
Ответ:
 (1) высокоприоритетный процесс, обеспечивающий взаимодействие с пользователями и выполняющий заданную работу 
 (2) фоновый процесс 
 (3) любой завершившийся процесс в операционной системе 
Номер 3
Какие утверждения являются верными?
Ответ:
 (1) любому процессу все ресурсы выделяются при его создании 
 (2) ресурсы могут быть выделены процессу динамически по запросам во время выполнения 
 (3) ресурсы не могут быть выделены процессу на все время его выполнения 
 (4) возможно выделение ресурсов процессу только на определенный период 
Упражнение 9:
Номер 1
Какой этап является самым последним при выполнении диспетчеризации?
Ответ:
 (1) запуск нового потока на выполнение 
 (2) сохранение контекста текущего потока 
 (3) загрузка контекста потока, выбранного в результате планирования 
Номер 2
Какой этап является самым первым при выполнении диспетчеризации?
Ответ:
 (1) запуск нового потока на выполнение 
 (2) сохранение контекста текущего потока 
 (3) загрузка контекста потока, выбранного в результате планирования 
Номер 3
Какие из перечисленных механизмов работают с потоками (а не с процессами)?
Ответ:
 (1) мьютексы 
 (2) критические области 
 (3) семафоры 
Упражнение 10:
Номер 1
Какая информация содержится в дескрипторе процесса?
Ответ:
 (1) содержимое счетчика команд 
 (2) содержимое регистров процессора, доступных пользователю 
 (3) информация по идентификации процесса 
 (4) информация по состоянию процесса 
 (5) коды условий, отражающие результат выполнения последней арифметической или логической операции 
 (6) информация, используемая при управлении процессом 
Номер 2
Какая информация содержится в контексте процесса?
Ответ:
 (1) содержимое счетчика команд 
 (2) содержимое регистров процессора, доступных пользователю 
 (3) информация по идентификации процесса 
 (4) информация по состоянию процесса 
 (5) коды условий, отражающие результат выполнения последней арифметической или логической операции 
 (6) информация, используемая при управлении процессом 
Номер 3
Какая информация содержится в контексте процесса?
Ответ:
 (1) информация о процессе, которая необходима ядру в течение всего жизненного цикла процесса независимо от его состояния 
 (2) информация, позволяющая системе приостанавливать выполнение процесса 
 (3) информация, позволяющая системе возобновлять выполнение процесса с прерванного места 
Упражнение 11:
Номер 1
Чем семафоры отличаются от других синхронизирующих объектов?
Ответ:
 (1) наличием у них только двух состояний 
 (2) отсутствием у них счетчика ресурсов 
 (3) наличием у них счетчика ресурсов 
Номер 2
Какой синхронизирующий объект имеет счетчик ресурсов?
Ответ:
 (1) семафор 
 (2) мьютекс 
 (3) таймер 
Номер 3
Какое значение счетчика соответствует сброшенному состоянию семафора?
Ответ:
 (1) отрицательное 
 (2) нулевое 
 (3) положительное 
Упражнение 12:
Номер 1
Какие из перечисленных условий должны быть выполнены для возникновения тупиковой ситуации?
Ответ:
 (1) условие взаимного исключения 
 (2) условие удерживания и ожидания 
 (3) условие отсутствия принудительной выгрузки ресурсов 
 (4) условие циклического ожидания 
Номер 2
Какие прерывания происходят синхронно выполнению программы при появлении аварийной ситуации в ходе исполнения некоторой инструкции программы?
Ответ:
 (1) внешние прерывания 
 (2) внутренние прерывания 
 (3) программные прерывания 
Номер 3
Какие прерывания возникают в результате действий пользователя, поступления сигналов от периферийных устройств и других внешних устройств, подключенных к компьютеру
Ответ:
 (1) внешние прерывания 
 (2) внутренние прерывания 
 (3) программные прерывания 
Источник
Каждому процессу соответствует контекст, в котором он выполняется. Этот контекст включает пользовательский контекст (т. е. содержимое виртуального адресного пространства, сегментов программного кода, данных, стека, разделяемых сегментов и сегментов файлов, отображаемых в виртуальную память), содержимое аппаратных регистров — регистровый контекст (регистр счетчика команд, регистр состояния процессора, регистр указателя стека и регистры общего назначения), а также структуры данных ядра (контекст системного уровня), связанные с этим процессом. Контекст процесса системного уровня в ОС UNIX состоит из «статической» и «динамических» частей. Для каждого процесса имеется одна статическая часть контекста системного уровня и переменное число динамических частей.
Статическая часть контекста процесса системного уровня включает следующее:
Идентификатор процесса (PID)
Уникальный номер, идентифицирующий процесс. По сути, это номер строки в таблице процессов — специальной внутренней структуре ядра операционной системы, хранящей информацию о процессах.
В любой момент времени ни у каких двух процессов номера не могут совпадать, однако после завершения процесса его номер освобождается и может быть в дальнейшем использован для идентификации любого вновь запущенного процесса.
Идентификатор родительского процесса (PPID)
В операционнной системе UNIX процессы выстраиваются в иерархию — новый процесс может быть создан только одним из уже существующих процессов, который выступает для него родительским.
Очевидно, что в такой схеме должен присутствовать один процесс с особым статусом: он должен быть порожден ядром операционной системы и будет являться родительским для всех остальных процессов в системе. В UNIX такой процесс имеет собственное имя — init. Подробнее об этом процессе сказано в разделе «Процесс init».
Состояние процесса
Каждый процесс в любой момент времени находится в одном из нескольких определенных состояний: инициализация, исполнение, приостановка, ожидание ввода-вывода, завершение и т. п. (см. Рисунок 1.39, «Состояния процесса в UNIX»).
Рисунок 1.39. Состояния процесса в UNIX
Большинство этих состояний совпадает с классическим набором состояний процессов в многозадачных операционных системах. Для операционной системы UNIX характерно особое состояние процесса — зомби. Процесс получает это состояние, если он завершился раньше, чем этого ожидал его родительский процесс. В UNIX перевод процессов в состояние зомби служит для корректного завершения группы процессов, освобождения ресурсов и т. п.
Идентификаторы пользователя
Идентификатор пользователя и группы, от имени которых исполняется процесс, используются операционной системой для определения границ доступа для процесса. Подробнее о правах доступа будет сказано в лекции «Введение в безопасность UNIX».
Приоритет процесса
Число, используемое при планировании (см. «Планирование процессов») исполнения процесса в операционной системе. Традиционное решение операционной системы UNIX состоит в использовании динамически изменяющихся приоритетов. При образовании каждого процесса ему приписывается некоторый устанавливаемый системой статический приоритет, который в дальнейшем может быть изменен с помощью системного вызова nice. Реальным критерием планирования выступает динамический приоритет, статический приоритет составляет основу начального значения динамического приоритета процесса. Все процессы с динамическим приоритетом не ниже порогового участвуют в конкуренции за процессор.
Таблица дескрипторов открытых файлов
Список структур ядра, описывающий все файлы, открытые этим процессом для ввода-вывода.
Другая информация, связанная с процессом
Динамическая часть контекста процесса — это один или несколько стеков, которые используются процессом при выполнении в режиме пользователя и в режиме ядра (в процессе прерываний и системных вызовов).
Планирование процессов
Основной проблемой организации многопользовательского (правильнее сказать, мультипрограммного) режима в любой операционной системе является организация планирования«параллельного» выполнения нескольких процессов. Операционная система должна обладать четкими критериями для определения того, какому готовому к выполнению процессу и когда предоставить ресурс процессора.
Наиболее распространенным алгоритмом планирования в системах разделения времени является кольцевой режим (Round Robin). Основной смысл алгоритма состоит в том, что время процессора делится на кванты фиксированного размера, а процессы, готовые к выполнению, выстраиваются в кольцевую очередь (см. Рисунок 1.40, «Схема планирования с кольцевой очередью»). У этой очереди имеются два указателя — начала и конца. Когда процесс, выполняющийся на процессоре, исчерпывает свой квант процессорного времени, он снимается с процессора, ставится в конец очереди, а ресурсы процессора отдаются процессу, находящемуся в начале очереди. Если выполняющийся на процессоре процесс откладывается (например, по причине обмена с некоторым внешним устройством) до того, как он исчерпает свой квант, то после повторной активизации он становится в конец очереди (не смог доработать — не вина системы). Это прекрасная схема разделения времени в случае, когда все процессы одновременно помещаются в оперативной памяти.
Рисунок 1.40. Схема планирования с кольцевой очередью
Однако операционная система UNIX всегда была рассчитана на то, чтобы обслуживать больше процессов, чем можно одновременно разместить в основной памяти. Другими словами, часть процессов, потенциально готовых выполняться, размещалась во внешней памяти (куда образ памяти процесса попадал в результате откачки). Для оптимизации работы в этом случае требуется несколько более гибкая схема планирования при разделении ресурсов процессора. В результате было введено понятие приоритета (см. Рисунок 1.41, «Схема планирования с кольцевой очередью и приоритетами»). В операционной системе UNIX на основании значения приоритета процесса определяется, во-первых, возможность процесса пребывать в основной памяти и на равных конкурировать за процессор. Во-вторых, от значения приоритета процесса зависит размер временного кванта, который предоставляется процессу для работы на процессоре при достижении своей очереди. В-третьих, значение приоритета влияет на место процесса в общей очереди процессов.
Рисунок 1.41. Схема планирования с кольцевой очередью и приоритетами
Источник