
- •Билет 1 – (4) 1. Основы ос Unix, возможности, стандартизация
- •1.1 Отличительные черты ос unix
- •1.2 Основы архитектуры операционной системы unix
- •1.3 Ядро системы
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 4 (1, 16, 18) – 146
- •3. Последовательность действий по преобразованию адреса в защищенном режиме:
- •1.8 Обработка ошибок
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 2 (2, 6, 15, 27) – 143
- •3. Особенности современных операционных систем (2, 28) – 122
- •Характеристики современных ос
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 3 (3, 28) – 144
- •3. Концепция слоистой операционной системы и системы на основе микроядра.
- •6.Подход на основе микроядра хорошо функционирует среди объектно-ориентированных ос (object-oriented operating system).
- •Билет 4
- •1. Владельцы файлов. Права доступа к файлам. Атрибуты файлов (4, 18) – 23
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 1 (4, 26) – 142
- •3. Функции микроядра (4, 12, 15, 27) – 126
- •1. Неименованные каналы в ос unix (5) – 77
- •2. Взаимодействие процессов. Задача взаимного исключения. Алгоритм Деккера (5) – 147
- •3. Понятие процесса, модели процессов (5) – 132
- •1. Метаданные файлов в ос unix (7) – 36
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 2 (2, 6, 15, 27) – 143
- •3. Описание процесса, таблица процесса (6) – 136
- •1. Процессы в ос unix. Типы процессов. (7, 23) – 56
- •2. Синхронизирующие примитивы. Решение задачи взаимного исключения с использованием семафоров (7, 8, 19, 20) - 152
- •3. Принципы построения ос (7, 19, 26) – 128
- •2. Синхронизирующие примитивы. Решение задачи взаимного исключения с использованием семафоров (7, 8, 19, 20) - 152
- •3. Концепция потока, как составной части процесса (8) – 139
- •1. Разработка программ в ос unix. Обработка ошибок, переменные окружения (9) – 11
- •2. Применение двоичных семафоров для решения задачи «производитель» - «потребитель» (буфер неограниченный) (9, 21)
- •3. Концепция виртуализации (9, 17)
- •1. Файлы, отображаемые в память (10) – 33
- •2. Применение семафоров для решения задачи «производитель» - «потребитель» с неограниченным буфером. Решение «спящий парикмахер». (10, 22) – 155
- •3. Подсистема управления памятью, требования, предъявляемые к ней (10)
- •Билет 11
- •1. Процессы в ос unix. Порождение процесса (11, 25) – 57
- •2. Применение общих семафоров для решения задачи «производитель-потребитель» с ограниченным буфером (11, 23) – 157
- •3. Виртуальная память. Задачи управления виртуальной памятью (11, 25)
- •1. Сигналы в ос unix. Их назначение и обработка (12) – 70
- •2. Взаимодействие процессов через переменные состояния. Пример приоритетного правила (12) – 157
- •3. Функции микроядра (4, 12, 15, 27) – 126
- •1. Функции для работы с сигналами (13) – 70
- •2. Проблема тупиков. Алгоритм банкира (13)
- •3.Задача замещения
- •1. Файлы и файловая система в ос unix. Права доступа (3, 14) – 18
- •2. Задача взаимного исключения. Алгоритм Петерсона (14) – 148
- •3. Схемы распределения памяти
- •1. Файловая система в ос unix ext2 (15) – 51
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 2 (2, 6, 15, 27) – 143
- •3. Функции микроядра (4, 12, 15, 27) – 126
- •Билет 16
- •1. Каналы в ос unix (16) – 80
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 4 (1, 16, 18) – 146
- •3. Организация защиты в процессорах ia32
- •1. Процессы в ос unix, системные вызовы wait, exit (17) – 60, 63
- •2. Монитороподобные средства синхронизации для решения задачи взаимного исключения (17) – 160
- •3. Концепция виртуализации (9, 17)
- •1. Владельцы файлов. Права доступа к файлам. Атрибуты файлов (4, 18) – 23
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 4 (1, 16, 18) – 146
- •3. Схемы распределения памяти (18, 24)
- •1. Взаимодействие процессов в ос unix, очереди сообщений (19) – 83
- •2. Синхронизирующие примитивы. Решение задачи взаимного исключения с использованием семафоров (7, 8, 19, 20) - 152
- •3. Принципы построения ос (7, 19, 26) – 128
- •1 Взаимодействие процессов в ос unix с применением семафоров (20) – 93
- •2. Синхронизирующие примитивы. Решение задачи взаимного исключения с использованием семафоров (7, 8, 19, 20) - 152
- •Механизмы поддержки многозадачности в процессорах ia32 (20)
- •1. Работа с файлами в ос unix. Системные вызовы (21) – 25
- •2. Применение двоичных семафоров для решения задачи «производитель» - «потребитель» (буфер неограниченный) (9, 21)
- •3. Страничная организация памяти в процессоре ia32
- •Билет 22
- •1. Взаимодействие процессов в ос unix. Разделяемая память (22) – 100
- •2. Применение семафоров для решения задачи «производитель» - «потребитель» с неограниченным буфером. Решение «спящий парикмахер». (10, 22) – 155
- •3. Организация защиты в процессорах ia32
- •Билет 23
- •1. Процессы в ос unix. Типы процессов. (7, 23) – 56
- •2. Применение общих семафоров для решения задачи «производитель-потребитель» с ограниченным буфером (11, 23) – 157
- •3.Задача замещения
- •1. Понятие потока в ос unix. Создание потока, завершение потока (24) – 106
- •2. Синхронизирующие примитивы. Решение задачи взаимного исключения с использованием семафоров (7, 8, 19, 20, 24) - 152
- •3. Схемы распределения памяти (18, 24)
- •1. Процессы в ос unix. Порождение процесса (11, 25) – 57
- •2. Задача взаимного исключения. Алгоритм Петерсона
- •3. Виртуальная память. Задачи управления виртуальной памятью (11, 25)
- •Билет 26
- •1. Создание потока
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 1 (4, 26) – 142
- •3. Принципы построения ос (7, 19, 26) – 128
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 2 (2, 6, 15, 27) – 143
- •3. Функции микроядра (4, 12, 15, 27) – 126
- •2. Взаимодействие процессов. Задача взаимного исключения. Вариант 3 (3, 28) – 144
- •3. Особенности современных операционных систем (2, 28) – 122
3. Понятие процесса, модели процессов (5) – 132
Процесс – это система действий, реализующая определенную функцию в вычислительной системе и оформленная так, что управляющая программа вычислительной системы может перераспределять ресурсы этой системы в целях обеспечения мультипрограммирования.
Ресурс – средство вычислительной системы, которое может выделить процесс на определенный интервал времени. В общем смысле понимается некоторый запас материальных предметов либо энергетических, структурных или каких-либо других характеристик предмета в составе некоторого объекта.
Модель процесса с двумя составляющими
Первым из задач ОС является выполнение управления процесса. Для этого необходимо определить схему перед процессом и выделить им ресурсов. Выполнение этих функций базируется на описании ожидаемого поведения процессов. Простейшая модель процессора состоит из двух состояний
Создав новый процесс ОС фиксирует его в состояние не выполняющем. Время от времени выполняется процесс прерывания и диспетчер процусса выбирает для выполнения другой процесса. При этом выполняемый процесс переходит в состояние не выполняющего, а один из ожидаемых переходит в состояние выполняющего. Для реализации такой системы переключения процессов необходим способ, с помощью которого будет представляться процесс, чтобы ОС могла следить за процессом. С каждым процессом связывается определенная информация, в котором описывается его текущее состояние и размещение в памяти. Не выполняющие процессы организовываются в очередь.
Создание процесса
Причинами создания является:
Новое пакетное задание. Готовясь принять на обработку новое задание. ОС считывает очередные команды управления заданием.
Вход в систему в интерактивном режиме, когда в систему с терминала подключается новый пользователь.
Создание ОС процесса нужной для работы некоторой служебной ОС может создать процесс, для выполнения некоторой операции.
Порождение одного процесса другим с целью структуризации программы или использования возможности параллельных вычислений, программа может создавать другие процессы.
Когда создается новый процесс ОС создает структуры данных, используемых при управлении этим процессом и размещаемых в адресе пространства в основной памяти для процесса.
Завершение процесса
В любой системе должны быть средства, позволяющие определить, закончилось ли выполнение процесса. Для этого пакетное задание может включать в себя специальную команду или явный вызов служб ОС, приводящий к завершению процесса. При этом может генерироваться запрос на прерывание или выполнятся действие пользователя сообщающего о том, что он покидает сеанс связи. Во всех случаях вызов специальных служб ОС завершает процесс.
Причин завершения достаточно много:
обычное завершение (процесс вызывает exit);
превышение лимита времени, отведенного программе;
недостаточный объем памяти;
выход за пределы отведенной области памяти;
ошибка защиты;
арифметическая ошибка (деление на ноль, переполнение);
изменение ожидания;
ошибка ввода/вывода;
неверная команда (счетчик команд переключается на счетчик данных);
команда с недопустимыми привилегиями;
непрерывное использование данных (часть данных или не инициализирована, или другого типа);
вмешательство оператора или ОС;
завершение родительского процесса;
запрос со стороны родительского процесса.
Модель процесса с пятью состояниями
Для процесса при выполнении на центральном процессоре можно выделить следующие характерные отдельные состояния.
Когда процесс появляется в системе, ОС определяет новый процесс в два этапа:
Присвоение процессу идентификатора и формирование всех таблиц, необходимых процессу. Этот промежуток времени соответствует состоянию «новый»;
Распределение памяти под процесс, подготовка его к выполнению, т.е. перевод в состояние, «готовый к выполнению».
Переход из «новый» в «готовый». ОС осуществляет переход, когда будет готова к обработке дополнительных процессов. В большинстве систем существует ограничения на количество выполняющихся процессов или на объем виртуальной памяти.
Переход из «готовый» в «выполняющийся». Происходит, когда ОС выбирает новый процесс для запуска. Выбирается один из процессов, находящихся в состоянии «готовый», в соответствии с какой-то дисциплиной в обслуживании.
Переход из «выполняющийся» в «готовый». Чаще всего происходит, когда процесс отрабатывает максимальный промежуток времени, отведенный для непрерывной работы одного процесса.
Переход из «выполняющийся» в «блокированный». Процесс переводится в заблокированное состояние, если для продолжения его работы требуется какое-либо событие. Например, процесс может запросить какой-либо ресурс, который временно недоступен или требуется выполнить какое-либо действие, необходимое для продолжения работы процесса, например, операцию ввода-вывода.
Переход «заблокированный» - «готовый». Осуществляется, когда происходит ожидаемое событие.
Переход из «выполняющийся» в «завершающийся». Выполняется тогда, когда процесс сигнализирует об окончании своей работы, или ОС прекращает его выполнение в силу каких-то причин. При этом ОС освобождает аппаратные ресурсы, использующих процессором, но сохраняет часть таблиц и информацию, связанную с процессором так, что другие программы могут получить сведения о причинах его завершения. После извлечения этой информации процесс полностью удаляется из системы.
Переход в состояние «блокировки» происходит в том случае, если продолжение работы процесса требует наступления какого-либо события.
БИЛЕТ 6