Студопедия — Лекция №4. Последовательность выполнения команд микропроцессором. Режимы адресации.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Лекция №4. Последовательность выполнения команд микропроцессором. Режимы адресации.






Прежде чем вести речь о последовательности выполнения команд рассмотрим диаграммы состояний и переходов процесса.

Процесс – целенаправленная последовательность вычислительных действий, которая характеризуется:

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

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

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

Таблица 4.1. Характерные отличия процессов и примитивов.

Нить (поток) – некоторая совокупность кодов внутри процесса, получаемая процессорное время для выполнения.

В каждом процессе есть минимум один поток, который создается автоматически при создании процесса.

Каждый поток имеет:

· уникальный идентификатор потока;

· содержимое набора регистров процесса, определяющих его состояние;

· два стека, первый используется потоком при выполнении в режиме ядра, другой в режиме задачи;

· закрытую область памяти, называемую локальной памятью потока.

Теперь рассмотрим диаграммы.

Рис. 4.1. Диаграмма состояний процесса.

Стрелки соответствуют следующим переходам:

1. диспетчеризация (запуск процесса);

2. вызов системных служб;

3. прерывание;

4. запрос к системе;

5. завершение ожидания;

6. остановка работы задачи (если недоступен ресурс);

7. активация задачи;

8. контроль задачи;

9. запрос к системным службам;

10. прерывание и возврат из прерывания.

Но могут появиться и новые стрелки:

· создание процесса – переход из состояния рождения в состояние готовности;

· уничтожение процесса – переход из состояния выполнения в состояние смерти;

· восстановление процесса – переход из состояния готовности в состояние выполнения;

· изменение приоритета процесса – переход из состояния выполнения в состояние готовности;

· блокировка процесса – переход из состояния выполнения в состояние ожидания;

· пробуждение процесса – переход из состояния ожидания в состояние готовности;

· запуск (выбор) процесса – переход из состояния готовности в состояние выполнения.

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

Рис. 4.2. Диаграмма переходов процесса.

Состояния:

1. процесс выполняется в режиме задачи;

2. процесс выполняется в режиме ядра;

3. процесс не выполняется, но готов к запуску под управлением ядра;

4. процесс приостановлен и находится в оперативной памяти;

5. процесс готов к запуску, но программа подкачки должна еще загрузить процесс в оперативную память, прежде чем он будет запущен под управлением ядра;

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

7. процесс возвращен из режима ядра в режим задачи; ядро резервирует его и переключает контекст на другой процесс;

8. процесс вновь создан и находится в переходном состоянии; он существует, но не готов к выполнению и не приостановлен;

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

Всё начинается с системного вызова int pid=fork() – рождение процесса, по которому создаётся процесс.

Стрелки:

1. достаточно памяти;

2. запуск процесс;

3. возврат из прерывания;

4. прерывание (или функция прерывания);

5. прерывание и возврат из прерывания;

6. приостановка;

7. возобновление;

8. выгрузка;

9. возобновление;

10. загрузка;

11. выгрузка;

12. нехватка памяти;

13. конец работы;

14. резервирование;

15. возврат;

16. зарезервирован.







Дата добавления: 2015-08-12; просмотров: 435. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Машины и механизмы для нарезки овощей В зависимости от назначения овощерезательные машины подразделяются на две группы: машины для нарезки сырых и вареных овощей...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Studopedia.info - Студопедия - 2014-2024 год . (0.007 сек.) русская версия | украинская версия