Программы ОС можно разделить на программы, расширяющие функции аппаратуры, и программы, по сути являющиеся обслуживающими. Для того чтобы установить, к какому классу относится программа, необходимо знать, каким образом ей передается управление. На основании этой предпосылки традиционно все программы разделяются на процессы и примитивы [1] [2] .
Существует несколько способов передачи управления программам. Любая программа, состоящая из нескольких ветвей, передает управление на них с помощью команд перехода. Эта передача никак не отражается на других объектах ОС. Команда перехода не влечет за собой изменений ни в системных очередях, ни в специальных таблицах.
Более сложный, строгий и формализованный способ обращения одной программы к другой — вызов подпрограммы. Здесь для передачи параметров используются регистры и (или) общие области памяти, а вызванной программе соответствует та же запись в очереди диспетчера, что и вызывающей. Вследствие этого переход к вызываемой подпрограмме происходит немедленно, без вмешательства каких-либо механизмов системы. Возврат к вызывающей программе происходит по команде return. Обе программы выполняются последовательно, для них не нужна синхронизация выполнения.
Чем отличается МИКРОКОНТРОЛЛЕР и МИКРОПРОЦЕССОР
В операционных системах не существует взаимно-однозначного соответствия между процессами и программами. Для работы определенных программ может создаваться более одного процесса или один процесс может быть исполнен последовательно несколькими различными программами. Более того, даже при исполнении только одной программы в рамках одного процесса нельзя считать, что процесс представляет собой просто динамическое описание кода исполняемого файла, данных и выделенных для них ресурсов.
Далее будем понимать под процессом целенаправленную последовательность вычислительных действий, которая характеризуется:
- • сопоставленной ему программой/подпрограммой, т.е. упорядоченной последовательностью операций, реализующих действия, которые должны осуществляться процессом;
- • содержимым соответствующей ему памяти, а также тем множеством данных, которыми этот процесс может манипулировать;
- • дескриптором процесса и той совокупностью числовых и текстовых сведений, определяющих состояние ресурсов, предоставленных процессу.
Все процессы находятся под управлением ОС, поэтому в них всегда имеется часть кода ее ядра (возможно и не находящегося в исполняемом файле!), как при исполнении специально используемых некоторыми программистами системных вызовов, так и в непредусмотренных особых ситуациях (например, при обработке внешних или внутренних прерываний).
Примитивы. Можно разделить программы на две категории: программы, для исполнения которых нет необходимости изменять состояние объектов ОС, и программы, для исполнения которых необходимо изменять состояние объектов ОС.
Первые программы относятся к программам-примитивам. Как правило, это программы, которые выполняют функции самой ОС (ядра), а именно: функции обработки прерываний; некоторые программы, выполняющие функции диспетчера; программы синхронизации (включая программы с Р- и V-семафорами); программы управления памятью. Эти программы не требуют внесения изменений в записи, соответствующие высокоуровневым программам в очереди диспетчера, поскольку остальные программы могут продолжать свое выполнение только тогда, когда закончится выполнение примитива.
Процессы. В то же время существует большая категория программ, для которых специально выделяются ресурсы ОС, резервируется память, делаются записи в специальных структурах, отводится место в очереди диспетчера. Каждая такая программа выполняется независимо от других в своем собственном пространстве и своей программной среде. Будем называть такие программы процессами, которым соответствуют отдельные записи в очереди диспетчера и отдельно выделенные ресурсы.
Необходимо заметить, что процессы имеются во всех ОС, однако их обслуживание в разных системах может происходить на основе различных механизмов. Кроме того, поскольку процессы могут создавать (порождать) другие процессы, то часто используют термин дерево процессов аналогично соответствующей структуре данных.
Процессы характеризуются следующей информацией: контрольным блоком процесса; текущим статусом процесса (состоянием); приоритетом выполнения процесса; ресурсами, которые использует процесс; маской обработки и владельцем.
Процессы в ОС могут быть запущены в различных случаях:
- • диспетчер вызывает некоторый глобальный процесс по истечении некоторого промежутка времени или при возникновении некоторого события;
- • для получения оценки состояния ОС;
- • при запуске программы переформирования очереди диспетчера, с целью повышения производительности системы;
- • при вызове из программы пользователя другого клиентского приложения. В этом случае может потребоваться еще и синхронизация процессов;
- • запуск программы пользователя.
Характерные отличия процессов и примитивов приведены в табл. 1.2.
Процессы и примитивы
Процессы помещаются в очередь диспетчера, следовательно, их выполнение может быть прервано и продолжено
Примитив, если был запущен, то должен быть выполнен до конца
Процессам всегда приписываются некоторые числовые полномочия, отличные от полномочий задач. Они определяют порядок перемещения процессов в очереди диспетчера
Для примитивов полностью отсутствуют какие-либо числовые характеристики
Поскольку функции ОС имеют вид процессов, то в некоторой очереди диспетчера может находиться несколько записей, относящихся к одной и той же функции. В результате одна и та же функция с помощью механизма семафоров может обслуживать несколько прикладных программ. Уровень обслуживания определен диспетчером
Примитив в процессе выполнения может выполнять только одну функцию
- [1] Solomon D. A. The Windows NT Kernel Architecture // IEEE Computer. October. 1998.P. 40-47.
- [2] Бах M. Дж. Архитектура операционной системы UNIX : пер. с англ. А. В. Крюкова.Copyright, 1986.
Источник: studme.org
В чем разница между программой, исполняемым файлом и процессом?
В чем разница между программой, исполняемым файлом и процессом?
Mohammad Olfatmiri 21 Окт 2012 в 20:39
10 ответов
Лучший ответ
Программа: Программа представляет собой набор инструкций в удобочитаемом формате (HelloWorld.c).
Исполняемый: Исполняемый файл — это скомпилированная форма Программы (файл HelloWorld.exe).
Процесс: Процесс — это исполняемый файл, запускаемый ОС. Тот, который вы видите в диспетчере задач или в списке задач (процесс HelloWord.exe, когда мы дважды щелкаем по нему.)
Parag Meshram 21 Окт 2012 в 20:49
Нет разницы. Помните, что ложки нет.
Boris Stitnicky 21 Окт 2012 в 20:45
- Программа — это статический объект, но процесс — это динамический объект.
- Программа — это не что иное, как содержимое файла. Где процесс — это выполняемая программа.
3. Программа не использует набор резисторов ЦП, но процесс использует набор резисторов ЦП для хранения промежуточного и окончательного результата.
Susmita Saha 7 Сен 2014 в 06:14
Программа . Это пассивный объект, подобный содержимому файла, хранящегося на жестком диске. Другими словами, это как другой текстовый файл на вашем диске. В основном он будет в удобочитаемом формате (например, файл .java).
Исполняемый: это снова пассивный объект. Это просто еще один файл на диске, полученный путем компиляции Программы. Итак, это машиночитаемая версия программного файла (например, файл .class). Обратите внимание, что он все еще находится на диске и в настоящее время не выполняется.
Процесс: это активная часть программы / исполняемого файла. Программа / исполняемый файл, загруженная в память (RAM) и выполняющаяся, называется процессом. Процесс состоит из набора инструкций. ЦП выполняет эти инструкции одну за другой (например, JVM загружает ваш файл .class и передает инструкции ЦП).
Также у вас может быть два процесса, выполняющих одну и ту же программу / исполняемый файл.
Manohar 8 Окт 2018 в 03:26
Программа или Компьютерная программа , по сути, предоставляет инструкции последовательности (или алгоритмы, если хотите) для операционной системы или компьютера. Эти компьютерные программы имеют исполняемую форму, которую операционная система распознает и может использовать для непосредственного выполнения инструкций.
По сути, Исполняемый — это файл в формате, который компьютер может выполнять напрямую, в отличие от исходных файлов, которые не могут быть выполнены напрямую и должны быть сначала скомпилированы. Исполняемый файл — это результат компиляции. Я упоминал, что операционная система распознает исполняемый файл через расширение. Распространенным расширением, используемым для исполняемых файлов Windows, является .exe.
После выполнения исполняемого файла начинается процесс . Процесс — это просто экземпляр компьютерной программы. Вы можете думать о процессе как о выполнении инструкций, содержащихся в компьютерной программе. Когда вы просматриваете диспетчер задач на компьютере с Windows, вы можете видеть все текущие процессы. Обрабатывает собственные ресурсы, такие как виртуальная память, описания операционной системы (дескрипторы, источники данных, приемники и т. Д.), Атрибуты безопасности и различные другие элементы, необходимые для эффективной обработки.
Caster Troy 21 Окт 2012 в 21:03
Процесс — это, по сути, выполняемая программа. С каждым процессом связано его адресное пространство, список ячеек памяти от 0 до некоторого максимума, которые процесс может читать и писать. Адресное пространство содержит исполняемую программу, данные программы и ее стек. Также с каждым процессом связан набор ресурсов, обычно включая регистры (включая счетчик программ и указатель стека), список открытых файлов, выдающиеся сигналы тревоги, списки связанных процессов и всю другую информацию, необходимую для запуска программы. . По сути, процесс — это контейнер, содержащий всю информацию, необходимую для запуска программы, которая представляет собой набор инструкций, определенных пользователем / разработчиком .
vjpandian 11 Окт 2014 в 03:38
Программа — это набор инструкций и пассивный объект. Программа является частью процесса, в то время как процесс выполняет состояние программы, и это единица работы в системе.
Naveen Puri 5 Мар 2015 в 19:38
Программа — это набор исходных файлов на каком-то языке высокого уровня, который вы пишете для выполнения некоторой функции, например, файлы C ++, которые реализуют списки сортировки. Исполняемый файл — это файл, который компилятор создает из этих исходных файлов, содержащих машинные инструкции, которые могут выполняться на ЦП. Процесс — это активное выполнение исполняемого файла на ЦП и в памяти. Он включает в себя информацию об управлении памятью, текущий ПК, SP, HP, регистры и т. Д.
Mohammad Olfatmiri 21 Окт 2012 в 20:44
Процесс — это часть программы. Процесс — это часть, в которой существует логика данной конкретной программы. Программа представлена в виде набора процессов. В некоторых случаях мы можем разделить проблему на несколько частей. В это время мы пишем отдельную логику для каждой части, известной как процесс.
simran jeet 17 Фев 2014 в 08:15
Считайте это так.
Программа — это план. Как план здания. Нет никакого здания, это абстракция того, как оно будет выглядеть.
Процесс — это фактическое строительство Здания, построенного по проекту.
При строительстве Здания одновременно происходит множество вещей. Вы готовите бетон, одновременно строите несколько комнат, прокладываете электрические кабели и т. Д. Это будут нити.
Источник: question-it.com
В чем разница между задачей и процессом?
Задача — это работа, которую нужно выполнить. Процесс — это серия действий, которые выполняются с определенной целью. Работа и задача определяют работу, которую необходимо выполнить, а процесс определяет способ выполнения работы или способ ее выполнения.
Что подразумевается под процессом или задачей?
Процесс — это экземпляр программа, работающая на компьютере. Он близок по значению к задаче — термин, используемый в некоторых операционных системах. . Как и задача, процесс — это запущенная программа, с которой связан определенный набор данных, так что процесс можно отслеживать.
Задача — это процесс?
Задачи состоящий из действий или шагов. Процесс — это описание верхнего уровня ряда основных шагов, необходимых для достижения цели. Процессы обычно состоят из процедур или задач. Задача — это еще один способ описания процедуры.
Задача — это нить?
Поток — это один из многих возможных рабочих, выполняющих эту задачу. В . NET 4.0 задача представляет асинхронная операция. Потоки используются для завершения этой операции, разбивая работу на фрагменты и назначая их отдельным потокам.
Что такое процесс и услуги?
Процесс — это экземпляр запущенного конкретного исполняемого файла (программного файла .exe). Услуга — это процесс, который работает в фоновом режиме и не взаимодействует с рабочим столом.
Что происходит, когда вы выбираете «Завершить задачу» в диспетчере задач?
Функция в диспетчере задач Microsoft Windows на вкладке «Приложения», которая позволяет пользователю закрыть любую отвечающую или не отвечающую программу. Конечная задача может быть использована когда программа не отвечает или зависла и позволяет пользователю выйти из неотвечающей программы без перезапуска Windows.
Что такое процессы Windows?
Процессы Windows Службы Windows и фоновые программы, которые вы обычно не вижу бега на компе. Процесс может быть программой принтера, которая работает в фоновом режиме и контролирует уровень чернил и другие настройки принтера во время работы компьютера.
Что такое процесс и пример?
Определение процесса — это действия, происходящие в то время, когда что-то происходит или делается. Пример процесса: шаги, предпринятые кем-то, чтобы убрать кухню. Примером процесса является набор действий, которые должны быть решены правительственными комитетами.
Какая рабочая задача или деятельность?
«Задача» и «действие» — слова, которые могут вызвать путаницу. . В то время как термин «задача» означает «часть работы, которую нужно предпринять или выполнить» или просто «работа», «деятельность» означает «какое-то событие или какое-то событие». Можно сказать, что задача любая деятельность, которая выполняется с определенной целью.
Какая польза от процесса обработки задания?
Управление процессами включает в себя различные задачи, такие как: создание, планирование, завершение процессов и тупиковая блокировка. Процесс — это выполняемая программа, которая является важной частью современных операционных систем. ОС должна выделять ресурсы, которые позволяют процессам обмениваться информацией.
Что такое процесс работы?
Обработка заданий обработка данных неинтерактивная с началом и концом. Это отличается от интерактивных приложений, которыми пользуются люди. Он также отличается от систем, служб и серверов, которые постоянно работают, а не работают и завершаются.
Источник: alloya.ru