
- •Системное программное обеспечение: определение, место в структуре компьютера, состав спо.
- •Система управления файлами и Файловая система: определения, сходства и различия двух понятий. Файловые менеджеры. Утилиты.
- •Утилиты
- •Утилиты используются для
- •Типы утилит
- •Операционная система и Операционная среда: определения, сходства и различия двух понятий. Функции ос. Компоненты ос.
- •Классификация ос. Примеры ос. Операционные системы реального времени. Системные программные модули. Виртуальная машина.
- •Вычислительный (последовательный) процесс: определение. Ресурсы: определение, классификация.
- •Однозадачный и многозадачный режимы работы вычислительной системы: основные принципы, преимущества и недостатки. Дисциплина обслуживания. Дескриптор процесса: определение, состав.
- •Возможные состояния процесса. Граф состояний процесса. Условия перехода из одного состояния в другое.
- •Тред (поток): определение, сходства и отличия по сравнению с понятием «процесс». Основные правила организации тредов.
- •Прерывание: определение, назначение, стадии процесса обработки прерывания. Отличия и различия по сравнению с вызовом процедур/функций.
- •Классификация прерываний. Приоритет прерываний. Различные виды дисциплин обслуживания прерываний.
- •Супервизор прерываний: назначение. Обработка прерывания при участии супервизора прерываний.
- •Основные виды ресурсов: процессорное время, память (внутренняя и внешняя), внешние устройства, информационные ресурсы.
- •Программные модули: непривилегированные, привилегированные и реентерабельные, повторно входимые.
- •Понятие «языка ассемблера» и «программы-оболочки ассемблера». Основные компоненты программы ассемблера. Примеры программ-оболочек ассемблера.
- •Примеры: gss Visual Assembler, asmTool Professional Edition.
- •Регистры: определение, классификация. Регистры общего назначения. Сегментные регистры.
- •Стек: определение, назначение. Регистр флагов.
- •Способы адресации: регистровая адресация, непосредственная адресация, прямая адресация, косвенная адресация, адресация по базе со сдвигом.
- •Способы адресации: косвенная адресация с масштабированием, адресация по базе с индексированием, адресация по базе с индексированием и масштабированием.
- •Псевдокоманды определения переменных. Использование оператора dup. Метка и переменная: сходства и отличия. Структуры.
- •Модели памяти и упрощенные директивы определения сегментов. Процедуры.
Возможные состояния процесса. Граф состояний процесса. Условия перехода из одного состояния в другое.
Процесс может находиться в активном и пассивном (не активном) состоянии. В активном состоянии процесс может участвовать в конкуренции за использование ресурсов вычислительной системы, а в пассивном – он только известен системе, но в конкуренции не участвует (хотя его существование в системе и сопряжено с предоставлением ему оперативной и/или внешней памяти). В свою очередь, активный процесс может быть в одном из следующих состояний:
1) выполнения – все затребованные процессом ресурсы выделены. В этом состоянии в каждый момент времени может находиться только один процесс, если речь идёт об однопроцессорной вычислительной системе;
2) готовности к выполнению – ресурсы могут быть предоставлены, тогда процесс перейдет в состояние выполнения;
3) блокирования или ожидания – затребованные ресурсы не могут быть предоставлены, или не завершена операция ввода/вывода.
В большинстве операционных систем последнее состояние, в свою очередь, подразделяется на множество состояний ожидания, соответствующих определённому виду ресурса, из-за отсутствия которого процесс переходит в заблокированное состояние.
В обычных ОС, как правило, процесс появляется при запуске какой-нибудь программы. ОС организует (порождает или выделяет) для нового процесса соответствующий дескриптор процесса, и процесс (задача) начинает развиваться (выполняться). Поэтому пассивного состояния не существует. В ОС реального времени (ОСРВ) ситуация иная. Обычно при проектировании системы реального времени уже заранее бывает известен состав программ (задач), которые должны будут выполняться. Известны и многие их параметры, которые необходимо учитывать при распределении ресурсов (например, объём памяти, приоритет, средняя длительность выполнения, открываемые файлы, используемые устройства и т. п.). Поэтому для них заранее заводят дескрипторы задач с тем, чтобы впоследствии не тратить драгоценное время на организацию дескриптора и поиск для него необходимых ресурсов. Таким образом, в ОСРВ многие процессы (задачи) могут находиться в состоянии бездействия, что мы и отобразили на рис. 5, отделив это состояние от остальных состояний пунктиром.
Рис. 5. Граф состояний процесса
За время своего существования процесс может неоднократно совершать переходы из одного состояния в другое. Это обусловлено обращениями к операционной системе с запросами ресурсов и выполнения системных функций, которые предоставляет операционная система, взаимодействием с другими процессами, появлением сигналов прерывания от таймера, каналов и устройств ввода/вывода, а также других устройств. Возможные переходы процесса из одного состояния в другое отображены в виде графа состояний на рис. 5. Рассмотрим эти переходы из одного состояния в другое более подробно.
Процесс из состояния бездействия может перейти в состояние готовности в следующих случаях:
1) по команде оператора (пользователя). Имеет место в тех диалоговых операционных системах, где программа может иметь статус задачи (и при этом являться пассивной), а не просто быть исполняемым файлом и только на время исполнения получать статус задачи (как это происходит в большинстве современных ОС для ПК);
2) при выборе из очереди планировщиком (характерно для операционных систем, работающих в пакетном режиме);
3) по вызову из другой задачи (посредством обращения к супервизору один процесс может создать, инициировать, приостановить, остановить, уничтожить другой процесс);
4) по прерыванию от внешнего инициативного устройства [устройство называется инициативным, если по сигналу запроса на прерывание от него должна запускаться некоторая задача] (сигнал о свершении некоторого события может запускать соответствующую задачу);
5) при наступлении запланированного времени запуска программы.
Последние два способа запуска задачи, при которых процесс из состояния бездействия переходит в состояние готовности, характерны для операционных систем реального времени.