
- •Раздел 2. Лист 75/75
- •1) Постановка задачи.
- •2) Математическая формализация.
- •3) Построение алгоритма.
- •4) Составление алгоритма на языке программирования.
- •5) Отладка и тестирование программы.
- •6) Проведение расчетов и анализ получаемых результатов.
- •Основные типы алгоритмов. Структуры и формы записи алгоритмов.
- •1) Словесно-формульный (на естественном языке)
- •2) Графический способ (с использованием графических примитивов, блок-схем)
- •Структурированные типы данных (массивы, файлы, записи, множества).
- •X: array [1..5,1..10] of real;
- •Var f :text;
- •Динамические структуры данных.
- •Динамическая память. Управление памятью.
- •Управление файлами.
- •Страничная память
- •Стратегии управления страничной памятью
- •Алгоритм fifo – Выталкивание первой пришедшей страницы – Простейший алгоритм
- •Операции над файлами
- •Организация ввода-вывода.
- •Жизненный цикл программ
- •6. Показатели качества по. Стандарты качества программного обеспечения. Тестирование и обеспечение качества.
- •Основные стандарты качества по гост 28195-89. Оценка качества программных средств. Общие положения
- •Гост 28806-90. Качество программных средств. Термины и определения
- •Гост р исо/мэк 9126-93. Оценка программной продукции. Характеристики качества и руководства по их применению
- •Уровни тестирования
- •Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестовые скрипты
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •8.Требования предъявляемые к ос. Ресурсы и их распределение в операционной системе.
- •9.Архитектура ос. Микроядерная архитектура.
- •11.Механизм прерываний. Способы выполнения прерываний. Приоретизация и маскирование прерываний. Диспетчеризация прерываний в операционной системе.
- •12.Специфика и свойства осрв. Технические свойства осрв.
- •13.Задачи, процессы, потоки. Связь между процессами в осрв.
- •Операции над процессами
- •Иерархия процессов
- •Преимущества многопоточности
- •17.Понятие безопасности информации и виды безопасности
- •18.Статьи затрат на разработку асоиу. Состав и структура асоиу: функциональные подсистемы, обеспечивающие и управляющие системы
- •19.Концепции системы: цели предприятия, цели асоиу. Содержание тз на проектирование асоиу.
- •20.Требования к технологии проектирования систем. Стандарты проектирования, оформление проектной документации, использование интерфейса.
- •21.Моделирование потоков данных. Накопительные процессы данных, потоки данных
- •1 Название подсистемы
- •1.1 Название процесса
- •22.Понятие пилотного проекта, его характеристики. Планирование и выполнение пилотного проекта
- •23.Оценка пилотного проекта
- •24.Внедрение пилотного проекта
- •25.Практическое использование пилотного проекта: план перехода и его реализация
13.Задачи, процессы, потоки. Связь между процессами в осрв.
Задачи, процессы, потоки.
Процесс – совокупность набора исполняющихся команд, ассоциированных с ней ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода) и текущего момента ее выполнения (значения регистров, программного счетчика, состояние стека и значения переменных), находящуюся под управлением ОС.
Термин «процесс» впервые появился при разработке операционной системы Multix и имеет несколько определений, которые используются в зависимости от контекста, согласно которым процесс — это:
программа на стадии выполнения
"объект", которому выделено процессорное время
асинхронная работа
Примером контекстной зависимости применения термина «процесс» является ОС Android. В этой системе процесс и приложение не являются тесно связанными сущностями: программы для андроид могут выглядеть выполняющимися при отсутствии процесса; несколько программ могут использовать один процесс; либо одно приложение может использовать несколько процессов; процесс может присутствовать в системе даже если его приложение бездействует. Отметим, что в этом нет никаких противоречий с теорией операционных систем — объектные библиотеки и загружаемые модули тоже являются процессами.
Для описания состояний процессов используется несколько моделей. Самая простая — модель трех состояний. Она определяет следующие состояния процесса:
состояния выполнения
состояния ожидания
состояния готовности
Выполнение — это активное состояние, во время которого процесс обладает всеми необходимыми ему ресурсами. В этом состоянии процесс непосредственно выполняется процессором.
Ожидание — это пассивное состояние, во время которого процесс заблокирован и не может быть выполнен, потому что ожидает какое-то событие, например, ввода данных или освобождения нужного ему устройства.
Готовность — это тоже пассивное состояние, процесс тоже заблокирован, но в отличие от состояния ожидания, он заблокирован не по внутренним причинам (ведь ожидание ввода данных — это внутренняя, «личная» проблема процесса — он может ведь и не ожидать ввода данных и свободно выполняться — никто ему не мешает), а по внешним, независящим от процесса, причинам.
Из состояния готовности процесс может перейти только в состояние выполнения. В состоянии выполнения может находится только один процесс на один процессор. Если у вас n-процессорная машина, у вас одновременно в состоянии выполнения могут быть n процессов.
Из состояния выполнения процесс может перейти либо в состояние ожидания, либо в состояние готовности. Почему процесс может оказаться в состоянии ожидания, мы уже знаем — ему просто нужны дополнительные данные или он ожидает освобождения какого-нибудь ресурса, например, устройства или файла. В состояние готовности процесс может перейти, если во время его выполнения, квант времени выполнения «вышел». Другими словами, в операционной системе есть специальная программа — планировщик, которая следит за тем, чтобы все процессы выполнялись отведенное им время. Например, у нас есть три процесса. Один из них находится в состоянии выполнения. Два других — в состоянии готовности. Планировщик следит за временем выполнения первого процесса, если «время вышло», планировщик переводит процесс 1 в состояние готовности, а процесс 2 — в состояние выполнения. Затем, когда, время отведенное, на выполнение процесса 2, закончится, процесс 2 перейдет в состояние готовности, а процесс 3 — в состояние выполнения.
Более сложная модель — это модель, состоящая из пяти состояний. В этой модели появилось два дополнительных состояния: рождение процесса и смерть процесса.
Рождение процесса — это пассивное состояние, когда самого процесса еще нет, но уже готова структура для появления процесса.
Смерть процесса — самого процесса уже нет, но может случиться, что его «место", то есть структура данных, осталась в списке процессов. Такие процессы называются зобми.
В ОС РВ время перехода процесса из одного состояния в другое должно быть детерминированно. Функции контроля за временем (deadline) возлагаются на планировщика (о планировании будет сказано далее).