Разработка операционных систем
Категория реферата: Рефераты по информатике, программированию
Теги реферата: отчет о прохождении практики, защита курсовой работы
Добавил(а) на сайт: Елешев.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
ПРОЦЕСС — ЭТО ПРОГРАММНЫЙ МОДУЛЬ, ВЫПОЛНяЕМЫЙ В CPU. ОПЕРАЦИОННАя
СИСТЕМА КОНТРОЛИРУЕТ СЛЕДУЮЩУЮ ДЕяТЕЛЬНОСТЬ, СВяЗАННУЮ С ПРОЦЕССАМИ:
1. создание и удаление процессов
1. планирование процессов
1. синхронизация процессов
1. коммуникация процессов
1. разрешение тупиковых ситуаций
1.1 Понятие Процесс. Состояния процесса.
НЕ СЛЕДУЕТ СМЕШИВАТЬ ПОНяТИя ПРОЦЕСС И ПРОГРАММА. ПРОГРАММА - ЭТО
ПЛАН ДЕЙСТВИЙ, А ПРОЦЕСС — ЭТО САМО ДЕЙСТВИЕ. ПОНяТИЕ ПРОЦЕСС ВКЛЮчАЕТ:
1. программный код
1. данные
1. содержимое стека
1. содержимое адресного и других регистров CPU.
Таким образом, для одной программы могут быть созданы несколько процессов, в том случае, если с помощью одной программы в компьютере выполняется несколько несовпадающих последовательностей команд. За время существования процесс многократно изменяет свое состояние.
Различают следующие состояния процесса:
1. новый (new, процесс только что создан)
1. выполняемый (running, команды программы выполняются в CPU)
1. ожидающий (waiting, процесс ожидает завершения некоторого события, чаще всего операции ввода - вывода)
1. готовый (ready, процесс ожидает освобождения CPU)
1. завершенный (terminated, процесс завершил свою работу)
Переход из одного состояния в другое не может выполняться
произвольным образом. На рисунке приведена типовая диаграмма переходов для
состояний процессора.
|Выполняемый |ожидаемый, готовый |Выполняемый | |
| | | | | |
| | | | | |
| | | | | |
|готовый |Выполняемый |готовый | |
| | | | | |
| | | | | |
| | | | | |
|ожидаемый, готовый |Выполняемый |ожидаемый | |
| | | |time | |
Каждый процесс представлен в операционной системе набором данных, называемых process control block . В process control block процесс описывается набором значений, параметров, характеризующих его текущее состояние и используемых операционной системой для управления прохождением процесса через компьютер.
На рисунке схематически показано, каким образом операционная система использует process control block для переключения процессора с одного процесса на другой.
| | |Заголово| | | | | | |
| | |к | | | | | | |
|Процессы | |первый | |PCB7 | |PCB8 | | |
|в | | | | | | | | |
|состоянии| | | | | | | | |
|“готовый”| |последни| | | | | | |
| | |й | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|Очередь к| |первый | | | | | | |
|магнитной| | | | | | | | |
|ленте | |последни| | | | | | |
| | |й | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|Очередь | |первый | |PCB3 | |PCB14 | |PCB6 |
|к | | | | | | | | |
|диску №1 | |последни| | | | | | |
| | |й | | | | | | |
| | | | | | | | | |
| | | | | | | | | |
|Очередь к| |первый | |PCB5 | | | | |
|терминалу| | | | | | | | |
|№ 1 | |последни| | | | | | |
| | |й | | | | | | |
1.2. Планирование процессов. Понятие очереди.
СИСТЕМА УПРАВЛЕНИя ПРОЦЕССАМИ ОБЕСПЕчИВАЕТ ПРОХОЖДЕНИЕ ПРОЦЕССА чЕРЕЗ
КОМПЬЮТЕР. В ЗАВИСИМОСТИ ОТ СОСТОяНИя ПРОЦЕССА ЕМУ ДОЛЖЕН БЫТЬ ПРЕДОСТАВИТЬ
ТОТ ИЛИ ИНОЙ РЕСУРС. НАПРИМЕР, НОВЫЙ ПРОЦЕСС НЕОБХОДИМО РАЗМЕСТИТЬ В
ОСНОВНОЙ ПАМяТИ, СЛЕДОВАТЕЛЬНО, ЕМУ НЕОБХОДИМО ВЫДЕЛИТЬ чАСТЬ АДРЕСНОГО
ПРОСТРАНСТВА. ПРОЦЕССУ В СОСТОяНИИ ГОТОВЫЙ ДОЛЖНО БЫТЬ ПРЕДОСТАВЛЕНО
ПРОЦЕССОРНОЕ ВРЕМя. ВЫПОЛНяЕМЫЙ ПРОЦЕСС МОЖЕТ ПОТРЕБОВАТЬ ОБОРУДОВАНИЕ
ВВОДА - ВЫВОДА И ДОСТУП К ФАЙЛУ.
Распределение процессов между имеющимися ресурсами носит название планирование процессов. Одним из методом планирования процессов, ориентированных на эффективную загрузку ресурсов, является метод очередей ресурсов. Новые процессы находятся во входной очереди, часто называемой очередью работ - заданий (job queue).
Входная очередь располагается во внешней памяти, во входной очереди процессы ожидают освобождения ресурса — адресного пространства основной памяти.
Готовые к выполнению процессы располагаются в основной памяти и связаны очередью готовых процессов или ready queue. Процессы в этой очереди ожидают освобождения ресурса процессорное время.
Процесс в состоянии ожидания завершения операции ввода - вывода находится в одной из очередей к оборудованию ввода - вывода, которая носит название devices queue.
При прохождении через компьютер процесс мигрирует между различными
очередями под управлением программы, которая называется планировщик.
(scheduler) Операционная система, обеспечивающая режим
мультипрограммирования, обычно включает два планировщика — долгосрочный
(long term scheduler) и краткосрочный (short term scheduler/CPU scheduler).
Основное отличие между долгосрочным и краткосрочным планировщиками заключается в частоте запуска, например: краткосрочный планировщик может запускаться каждые 100 мс, долгосрочный — один раз за несколько минут.
Долгосрочный планировщик решает, какой из процессов, находящихся во входной очереди, должен быть переведен в очередь готовых процессов в случае освобождения ресурсов памяти.
Долгосрочный планировщик выбирает процесс из входной очереди с целью создания неоднородной мультипрограммной смеси. Это означает, что в очереди готовых процессов должны находиться в разной пропорции как процессы, ориентированные на ввод - вывод, так и процессы, ориентированные на преимущественную работу с CPU.
Краткосрочный планировщик решает, какой из процессов, находящихся в очереди готовых процессов, должен быть передан на выполнение в CPU. В некоторых операционных системах долгосрочный планировщик может отсутствовать. Например, в системах разделения времени (time sharing system), каждый новый процесс сразу же помещается в основную память.
1.3. Взаимодействие процессов.
Пользовательский уровень.
СОВМЕСТНО ВЫПОЛНяЕМЫЕ ПРОЦЕССЫ МОГУТ БЫТЬ ЛИБО НЕЗАВИСИМЫМИ
(INDEPENDED PROCESSES), ЛИБО ВЗАИМОДЕЙСТВУЮЩИМИ (COOPERATING PROCESSES).
ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ чАСТО ПОНИМАЕТСя В СМЫСЛЕ ВЗАИМНОГО ОБМЕНА ДАННЫМИ
чЕРЕЗ ОБЩИЙ БУФЕР ДАННЫХ.
Взаимодействие процессов удобно рассматривать в схеме производитель - потребитель (produces - consumer). Например, программа вывода на печать производит последовательность символов, которые потребляются драйвером принтера или компилятор производит ассемблерный текст, который затем потребляется ассемблером.
Для того чтобы процесс - производитель и процесс - потребитель могли заполнять совместно необходимый буфер, заполняемый процессом - производителем и потребляемым процессом - потребителем.
Рекомендуем скачать другие рефераты по теме: бизнес реферат, нормы реферата.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата