Что такое процесс

Завершение процесса

Минимум 2 этапа завершения:

  1. Процесс удаляется из всех очередей планирования, то есть ОС больше не планирует выделение каких-либо ресурсов процессу,
  2. Сбор статистики о потреблённых процессом ресурсах с последующим удалением его из памяти.

Причины завершения процесса:

  • Обычный выход,
  • Выход по исключению или ошибке,
  • Недостаточный объём памяти,
  • Превышение лимита отведённого программе времени,
  • Выход за пределы отведённой области памяти,
  • Неверная команда (данные программы интерпретируются как инструкции для процессора),
  • Ошибка защиты (выполнение непривилегированной команды),
  • Завершение родительского процесса,
  • Ошибка ввода-вывода,
  • Вмешательство оператора.

Определения

«Технологическим переходом» называют законченную часть технологической операции, выполняемую с одними и теми же средствами технологического оснащения.

«Вспомогательным переходом» называют законченную часть технологической операции, состоящей из действий человека и (или) оборудования, которые не сопровождаются изменением свойств предметов труда, но необходимы для выполнения технологического перехода.

Для осуществления техпроцесса необходимо применение совокупности орудий производства — технологического оборудования, называемых «средствами технологического оснащения».

«Установ» — часть технологической операции, выполняемая при неизменном закреплении обрабатываемой заготовки или собираемой сборочной единицы. При каждом повторном снятии заготовки и последующем ее закреплении на станке или же при повороте заготовки на какой-либо угол для обработки новой поверхности имеет место новый установ.

Бизнес-процесс — основные характеристики

Существуют три основные характеристики бизнес-процесса – стоимость, длительность, уровень удовлетворенности потребителя продуктом.

Длительность
Стоимость
Удовлетворенность
Чем выше скорость выполнения процесса — тем лучше продуктивность компании. Однако, стоит не забывать, что качество результата не должно снизиться за счет сокращения времени. Для снижения срока выполнения процесса используют различные технические и ИТ-решения, способные ускорять бизнес.
Стоимость выполнения бизнес-процесса всегда должна стремиться к минимальным показателям. Данный подход относится и к производственному процессу, и к предоставлению услуг. Компания, которая оптимизирует и снижает стоимость зарабатывает больше, а значит -развивается быстрее.
Результат бизнес-процесса = продукт. От качества итогового результата во многом зависит успех компании и лояльность клиентов

Крайне важно собирать обратную связь от клиентов для улучшения процессов, также собственный контроль качества будет несомненным преимуществом компании.

Этапы ТП

Технологический процесс обработки данных можно разделить на четыре укрупненных этапа:

  • «Начальный или первичный». Сбор исходных данных, их регистрация (прием первичных документов, проверка полноты и качества их заполнения и т. д.) По способам осуществления сбора и регистрации данных различают следующие виды ТП:
    • механизированный — сбор и регистрация информации осуществляется непосредственно человеком с использованием простейших приборов (весы, счетчики, мерная тара, приборы учета времени и т. д.);
    • автоматизированный — использование машиночитаемых документов, регистрирующих автоматов, систем сбора и регистрации, обеспечивающих совмещение операций формирования первичных документов и получения машинных носителей; автоматический — используется в основном при обработке данных в режиме реального времени (информация с датчиков, учитывающих ход производства — выпуск продукции, затраты сырья, простои оборудования — поступает непосредственно в ЭВМ).
  • «Подготовительный». Прием, контроль, регистрация входной информации и перенос её на машинный носитель. Различают визуальный и программный контроль, позволяющий отслеживать информацию на полноту ввода, нарушение структуры исходных данных, ошибки кодирования. При обнаружении ошибки производится исправление вводимых данных, корректировка и их повторный ввод.
  • «Основной». Непосредственно обработка информации. Предварительно могут быть выполнены служебные операции, например, сортировка данных.
  • «Заключительный». Контроль, выпуск и передача результатной информации, её размножение и хранение.

Иерархия процессов

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

Unix

Unix — одна из первых многозадачных ОС. Каждый процесс имеет уникальный числовой идентификатор PID. Процессы в ней имеют древовидную иерархию, где корнем является процесс init c PID 1. Новый процесс можно создать системным вызовом , он будет являться точной копией процесса родителя. Любой процесс кроме init всегда имеет процесс родитель (атрибут PPID (англ. Parent PID)); процессы, родитель которых завершил свою работу становятся дочерними процессами init.

Процессы также объединяются в группы. За управление идентификатором группы (PGID) отвечают системные вызовы и . PGID равен PID’у лидера группы. Процесс потомок наследует группу от родителя. Группы используются для управления заданиями.

Группы процессов объединяются в сессии. За создание новой сессии отвечает системный вызов . Процессы из одной группы не могут принадлежать разным сессиям. Поэтому лидер группы не может стать лидером сессии: при создании сессии дочерний процесс автоматически становится лидером сессии и лидером новой группы. Сессии используются для отслеживания всех процессов, запущенных после входа пользователя.

Каждая сессия может иметь не более одного управляющего терминала. Эмулятор терминала имеет дочерним процессом оболочку команд (чаще всего bash или sh), которая перед запуском становится лидером новой сессии и устанавливает себе управляющим терминал.

Описание бизнес-процесса

Самым популярным способом для описания Б-П считается блок-схема, реже используют текстовое или табличное описание последовательности шагов для выполнения. Рассмотрим все 3 способа на одном примере.

Что такое процесс

Текстовое описание аналогичного бизнес-процесса (сокр. Б-П):

  1. Старт Б-П после звонка клиента, поиск клиента по базе, если клиента нет в базе – регистрация нового, если есть – переход к следующему этапу.
  2. Проверка наличия товара.
  3. Если нет в наличии уточнение — готов ли клиент ждать, если да – перевод в ожидание, если нет – закрываем Б-П.
  4. Если товар в наличии, проводим презентацию товара и переходим к этапу продажи.
  5. Клиент готов заказать – оформляем заказ и передаём в службу доставки.
  6. Если во время презентации клиента не устраивают характеристики/стоимость/другие параметры.
  7. Клиент готов подумать и просит связаться позже, переводим клиента на стадию взращивания (повторное взаимодействие и предложение выгодных условий покупки) до момента готовности к заказу.
  8. Если клиент категорически отказывается, закрываем Б-П.

Табличное описание аналогичного бизнес-процесса:

Что такое процесс

Какой тип описания использовать? Каждая компания решает самостоятельно, однако, наиболее популярным считается описание с помощью блок-схемы. Блок-схемы используются и в тематических BPM-системах для возможности быстрого изменения и масштабирования.

Представление процесса

Обычно, процесс в вычислительной системе представлен (также говорят, «владеет») следующими ресурсами:

образом исполняемого машинного кода, ассоциированного с программой;

  • памятью (обычно некоторой областью виртуальной памяти), которая включает в себя:
    • исполняемый код;
    • входные и выходные данные процесса;
    • стек вызовов (для отслеживания активных подпрограмм);
    • кучу для хранения промежуточных результатов вычислений, генерируемых во время выполнения;
  • дескрипторами ресурсов операционной системы, выделенными для процесса, например, файл
  • файловыми дескрипторами (в терминологии ОС Unix) или «хэндлами» (в терминологии ОС Windows);

атрибутами безопасности, такими как владелец и набор полномочий процесса (допустимых операций);

  • состоянием процессора (контекстом), таким как:
    • содержимое регистров;
    • схема преобразования виртуальных адресов в физические;
    • и т. д.
Контекст текущего процесса выгружается в память, когда выполняется переключение на другой процесс.

Операционная система хранит большую часть информации о процессах в таблице процессов.

В операционных системах, поддерживающих потоки выполнения (нити), потоки также владеют собственными ресурсами. Обычно это только состояние процессора, хотя потоки могут использовать и другие ресурсы.

Для снижения вероятности влияния процессов друг на друга и вероятности отказа системы (например, взаимных блокировок или пробуксовки) операционная система обеспечивает изоляцию процессов и выделяет необходимые им ресурсы. Также операционная система предоставляет механизмы для взаимодействия процессов безопасными и предсказуемыми способами.

Представление процесса в памяти

В данном разделе рассмотрено представление процесса в памяти операционной системы Linux и архитектуры x86. Подобное представление мало отличается от многих других многозадачных операционных систем и архитектур. Например в amd64, наследнике x86, стек вызовов точно так же растёт сверху вниз, но размер адресного пространства увеличен до 248 байт.

Что такое процесс
Представление программы в памяти в пространстве пользователя

Linux использует плоскую модель памяти, и поэтому в данной архитектуре каждому процессу доступно 232 байт памяти. Вся виртуальная память делится на пространство пользователя и пространство ядра. Пространство ядра занимает один гигабайт памяти, начиная с самого старшего адреса. Всё остальное пространство, то есть, три гигабайта отведено под пространство пользователя.

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

В области инициализированных данных хранятся данные, доступные только для чтения. Это могут быть, например, строковые литералы.

В области неинициализированных данных, как правило, хранятся глобальные переменные.

Куча (heap) используется для выделения памяти во время работы программы. В Linux для этого существует системный вызов .

Область стека используется для вызова процедур.

Также немаловажной деталью является наличие случайного отступа между стеком и верхней областью, а также между областью инициализированных данных и кучей. Делается это в целях безопасности, например, для предотвращения встраивания в стек других функций.. Динамически подключаемые библиотеки и отображения файлов располагаются между стеком и кучей.

Динамически подключаемые библиотеки и отображения файлов располагаются между стеком и кучей.