Программы и процессы

 

Основным объектом в системах реального времени является процесс или задача. Между программами и процессами имеется существенное разли­чие. Программы представляют собой информацию о том, как обрабатывать и преоб­разовывать исходные данные, а процессы суть программы, исполняемые процессо­ром. Процесс состоит из кода, т. е. инструкций программы — области кода, области данных, в которой хранятся переменные и константы, свободной динамически рас­пределяемой рабочей области памяти — кучи и стека (рис. 2). Два последних механизма зависят от конкретной реализации. Область стека примыкает к куче и расширяется за ее счет. Программа, написанная на одном и том же языке высокого уровня, а затем откомпилированная и исполняемая на разных ЭВМ, порождает различные процессы, каждый из которых имеет собственные области ко­манд и данных, кучу и стек.

­

 

 
 

 


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

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

Последовательность преобразования программы в процесс состоит из сохранения исходного текста на компьютерном носителе (магнитная лента или диск), компиля­ции, связывания, загрузки и исполнения.

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








Дата добавления: 2016-02-09; просмотров: 636;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.