русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лекция5. ТЕМА 2


Дата добавления: 2013-12-23; просмотров: 801; Нарушение авторских прав


Потоки

Понятие процесса.

Лекция 3.

 

Одно из самых сложных и важных понятий ОС. Термин процесс был введен Юниксом.

 

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

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

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

Состояние "Выполнение" - получены все необходимые ресурсы.

Состояние "Готовности" – процесс может получить все необходимые ресурсы.

Состояние "Ожидание" – процесс не может получить ресурсы.

"Готовность" – промежуточное состояние, когда известно, что система гарантированно предоставит ресурсы.

В состоянии готовности может перейти в следующих случаях:

- по вызову из другого процесса;

- при выборе данного процесса из очереди процессов находящихся в ожидании.

- При наступлении некоторого заданного времени.

- Прерывании от какого-то внешнего устройства.

Для реализации процесса необходимо чтобы операционная система сохранила полную информацию о ней. Полная информация о процессе называется дескриптором. Дескриптор хранится в ОП и включает в себя:

1. PID – индетификатор процесса.

2. Вид процесса.

3. Состояние процесса.

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

5. Адрес памяти куда помещаются результаты взаимодействия процессов.



6. Требуемые вычислительные ресурсы для данного процесса.

7. Причины, по которым процесс был прерван.

8. Квант времени, который выделяется данному процессу.

9. приоритет процесса.

Разные операционные системы содержат разное количество дескрипторов, при этом различают количества дескрипторов, которые могут находиться в памяти. Другой вид ОС сам автоматически определяет кол-во дескрипторов.

 

Лекция4.

 

Поток - следующий шаг для осуществления мультипрограммирования.

Поток – механизм расщепления процесса на отдельные параллельные ветви.

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

Потоки «соревнуются» за процессорное время, потоки являются программной реализацией процесса.

 

Прерывания:

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

Прерывания можно определить как принудительную передачу управления от выполняемой программы к ОС, а от нее к программе обработки прерываний.

Прерывания – механизм аппаратно-программный.

Любой механизм прерываний выполняет следующие действия:

1. установления факта прерывания. При этом происходит идентификация прерывания.

2. запоминание состояния прерванного процесса.

3. сохранение информации о прерванной программе, которые не удалось сохранить на шаге 2, т.к. иногда исполняемая программа содержит большое количество информации.

4. передача управления программе обработки прерываний.

5. обработка прерываний (т.е. исполнение программы обработки прерываний).

6. восстановление информации, относящейся к прерванному процессу и передача управления прерванному процессу.

Действия 1,2,4 исполняются аппаратно, а остальные программно. 6 действие выполняется не всегда, все зависит от вида прерываний.

Прерывания делятся на 3 класса: внешние, внутренние, программные.

1. Внешние. Они вызываются асинхронными событиями происходящими вне

прерываемого процесса (прерывания от таймера, от внешних устройств ввода-вывода, при нарушении питания от другого процесса).

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

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

 

 

Планирование и управление ресурсами.

 



<== предыдущая лекция | следующая лекция ==>
Понятие вычислительного ресурса. | Дисциплины диспетчеризации.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.