Лекция ОС тема 1.2.pptx
- Количество слайдов: 27
ОПЕРАЦИОННЫЕ СИСТЕМЫ И СРЕДЫ Тема 1. 2. Преподаватель: Шершова Л. Н.
Тема 1. 2. Процесс Занятие 2. 1. Понятие процесса. Состояния процесса. Смены состояния процессов. Блок управления процессом. 2. Операции над процессом. Приостановка и возобновление процессов. Причины приостановки и возобновления процессов. 3. Диаграммы состояний процессов. Диспетчер задач.
1. Понятие процесса. Состояния процесса. Смены состояния процессов. Блок управления процессом ОС - набор программ, которые обеспечивают возможность использования аппаратуры компьютера. Ее задача заключается в том, чтобы сделать аппаратуру доступной и удобной для пользователя. Главное назначение ОС - управление ресурсами компьютера. Основные ресурсы компьютера: процессор, память, устройства ввода/вывода, данные. Функции ОС: O Определяет интерфейс пользователя. O Обеспечивает разделение аппаратных ресурсов между пользователями. O Дает возможность работать с общими данными в режиме коллективного пользования. O Осуществляет восстановление информации в случае возникновения ошибок.
1. Понятие процесса. Состояния процесса. Смены состояния процессов. Блок управления процессом Процесс - это программа во время выполнения, т. е. когда ей предоставлен центральный процессор. Во время работы процесс может находиться в одном из трех состояний: "готов", "выполняется", "блокирован". Диаграмма состояний процесса
1. Понятие процесса. Состояния процесса. Смены состояния процессов. Блок управления процессом Процесс находится в состоянии "готов", когда он мог бы сразу использовать центральный процессор (ЦП), как только он предоставится ему. При предоставлении ЦП, программа переходит в состояние "выполняется", ЦП предоставляется на определенный промежуток времени (квант времени). В том случае, когда данного кванта не достаточно для полного выполнения программы, процесс останавливается и переходит в состояние "готов". Из состояния "выполняется" в "блокирован" процесс переходит, когда ему необходимо записать или считать информацию. По завершению считывания или записи данных, процесс переходит из состояния "блокирован" в "готов". В состоянии "выполняется" очередей никогда нет, а в состояниях "готов" и "блокирован" очереди из программ могут быть. Очередь упорядочена по приоритетам в состоянии "готов", а в состоянии "блокирован" - нет.
1. Понятие процесса. Состояния процесса. Смены состояния процессов. Блок управления процессом (БУП) БУП - структура данных или объект, содержащий определенную, важную информацию о процессе: O текущее состояние процесса; O уникальный идентификатор процесса (номер); O приоритет; O область памяти; O ресурсы, выделенные процессу; O область сохранения регистров. Когда ОС переключает ЦП с процесса на процесс, она использует области сохранения регистров данных процессов, чтобы запомнить информацию, необходимую для рестарта.
2. Операции над процессом. Приостановка и возобновление процессов. Причины приостановки и возобновления процессов ОС должна иметь возможность выполнять определенные операции над процессами: O создание процесса; O уничтожение; O возобновление; O изменение приоритета; O блокирование; O пробуждение; O запуск.
2. Операции над процессом. Приостановка и возобновление процессов. Причины приостановки и возобновления процессов 1. Создание нового процесса состоит из нескольких подопераций: присвоение имени; O включение этого имени в список имен процессов, известных ОС; O присвоение начального приоритета; O формирование БУП; O выделение процессу начальных ресурсов. Новый процесс может породить дочерние процессы. O 2. Уничтожение процесса - удаление его из системы. Ресурсы, выделенные ему, возвращаются ОС, а имя стирается из всех системных списков и таблиц, БУП освобождается, но не удаляется. При удалении родительского процесса в одних ОС удаляются и дочерние процессы, в других - они работают самостоятельно. 3. Возобновление - операция подготовки процесса к повторному запуску с той точки, в которой он был приостановлен (БУП, область сохранения регистров). 4. Изменение приоритета - это изменение значения приоритета в БУП.
2. Операции над процессом. Приостановка и возобновление процессов. Причины приостановки и возобновления процессов Прерывания в ОС Прерывание - это событие, при котором меняется нормальная последовательность команд, выполняемых ЦП. Если произошло прерывание, то: O Управление передается ОС O ОС запоминает состояние прерванного процесса O ОС анализирует тип прерывания и передает управление соответствующей программе по обработке данного типа прерывания.
2. Операции над процессом. Приостановка и возобновление процессов. Причины приостановки и возобновления процессов Ядро - часть ОС, которая выполняет операции, связанные с процессами. Важная функция ядра - это обработка прерываний. Когда ядро обрабатывает текущее прерывание, оно запрещает другие прерывания и разрешает их снова только после завершения обработки текущего прерывания. При постоянном потоке прерываний может образоваться очередь прерываний, следовательно, ядро организовано таким образом, чтобы оно определяло только тип прерывания, а затем передавало его на дальнейшую обработку соответствующей системной программе по работе именно с этим типом прерывания, что не влечет к созданию больших очередей из прерываний в ОС Функции ядра: O Обработка прерываний. O Создание/уничтожение процесса. O Переключение процесса из состояния в состояние. O Диспетчеризация (регулировка). O Приостановка и активизация. O Синхронизация процесса. O Организация взаимодействия между процессами. O Манипулирование БУП. O Поддержка операций ввода/вывода. O Поддержка распределения и перераспределения памяти. O Поддержка работы файловой системы.
2. Операции над процессом. Приостановка и возобновление процессов. Причины приостановки и возобновления процессов Параллельные процессы в ОС Синхронные - процессы, которые работают и не зависят друг от друга. Асинхронные - такие процессы, которые работают параллельно, но периодически должны синхронизироваться и взаимодействовать между собой. Параллельная работа процессов в ОС резко повышает производительность компьютера. Процесс находится в своем критическом участке, когда он обращается к общим данным. В этом случае другим процессам это запрещается. Этот способ взаимодействия параллельных процессов называется взаимоисключением в ОС. Правила работы процесса в своем критическом участке: O Процесс не может быть блокирован. O Свои критические участки процессы должны проходить как можно быстрее.
3. Диаграммы состояний процессов. Диспетчер задач Семафоры в ОС Семафор - механизм реализации взаимоисключения процессов. Пример работы двух параллельных асинхронных процессов:
3. Диаграммы состояний процессов. Диспетчер задач Семафоры в ОС Даны 2 процесса: "производитель" и "потребитель". "Производитель" вырабатывает какое-либо число и записывает его в ячейку памяти, "потребитель" считывает число, производит какие-либо вычисления и результат выводит на печать. Идеально, когда оба процесса работают с одинаковой скоростью. В том случае, если скорость "потребителя" больше, чем скорость "производителя", мы наблюдаем: "потребитель" считывает из памяти одно и тоже число несколько раз, следовательно, на распечатке будет дублирование какого-либо результата. Если скорость "потребителя" меньше скорости "производителя", наблюдаем: "производитель" записывает число в память, но предыдущее число не было считано потребителем, => на распечатке некоторые результаты будут отсутствовать. Чтобы этого не допустить в ОС работают семафоры как для "производителя", так и для "потребителя".
3. Диаграммы состояний процессов. Диспетчер задач Тупики в ОС Тупик (клинч, дедлок) - ситуация, которая никогда не разрешится, т. е. процесс ждет ресурса, но он ему не будет выделен. ОС в состоянии тупика ("зависание") - когда несколько процессов находятся в состоянии тупика. Простая тупиковая ситуация в ОС:
3. Диаграммы состояний процессов. Диспетчер задач Тупики в ОС Пусть имеются 2 процесса A и B, которым перед началом работы предоставлены ресурсы P 1 и P 2 соответственно. В какой-то момент времени процессу A понадобился P 2, а процессу B - P 1, но они их не получат, т. к. они удерживаются предыдущими процессами => наступила простая тупиковая ситуация в ОС. Правила предотвращения тупиков в ОС: 1. Прежде чем процесс начнет свою работу, ему должны быть предоставлены все требуемые ресурсы. 2. В том случае, если во время работы ему понадобился дополнительный ресурс, ему необходимо возвратить все ранее выделенные ресурсы ОС и затем запросить все требуемые ресурсы с этим дополнительным ресурсом. Бесконечное откладывание процесса. В системе, где процессам приходится ждать пока она выделит ему требуемый ресурс может возникнуть ситуация, что будут приходить процессы с более высоким приоритетом, требующие тот же самый ресурс - ситуация бесконечного откладывания процесса. В некоторых ОС данная ситуация предотвращается благодаря увеличению приоритетности ("старению" процесса) для того, чтобы ему был предоставлен требуемый ресурс, после чего приоритет понижается до прежнего уровня.
3. Диаграммы состояний процессов. Диспетчер задач В однопроцессорных ЭВМ в каждый момент времени может выполняться только один процесс и поэтому, когда один процесс активен, то несколько процессов могут находиться в других состояниях, т. е. находятся в соответствующих очередях (готовности, блокировки и др. ) Диаграммы состояний процессов
3. Диаграммы состояний процессов. Диспетчер задач Очередью называется упорядоченный по приоритетам список процессов, ожидающих доступ к некоторому вычислительному ресурсу. В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования процессов, реализуемым в данной операционной системе. 1. 2. 3. 4. 5. Когда в ОС поступает задание на обслуживание, создается процесс, который устанавливается в очередь готовых процессов. Процесс постепенно продвигается в очереди и, когда очередь подходит при освобождении ЦП, процесс переходит в состояние активности. Предоставление ЦП процесса называется запуском или выбором процесса для выполнения. Эту функцию выполняет системная программа, называющаяся диспетчером. Процесс, получивший ЦП, выполняется. Для предотвращения случайного, либо умышленного монопольного захвата ресурсов ЭВМ каким-либо процессом устанавливается временной интервал, называющийся квантом времени, в течение которого процессу разрешено занимать ЦП. Этот интервал устанавливается аппаратным таймером прерываний. По истечении кванта времени диспетчер возвращает процесс в состояние готовности и выбирает следующий готовый процесс. Если выполняемый процесс до истечения кванта запрашивает какое-либо внешнее событие (обычно ввод/вывод), то добровольно освобождает ЦП, переводится в очередь блокировки до наступления события, безвозвратно теряет остаток кванта. При наступлении события (завершении операции ввода/вывода) процесс переводится в состояние готовности.
3. Диаграммы состояний процессов. Диспетчер задач Операции приостановки и возобновления играют важную роль в операционных системах реального времени (ОС РВ) и используются в следующих случаях: O O O при пиковой нагрузке ВС, когда она не может обеспечить требуемое быстродействие, когда расходы времени на смену состояний превышают полезную работу; при ненадежной работе системы и возможном ее отказе; когда промежуточные результаты работы процесса вызывают сомнение в правильности работы программы. При приостановке процесс обязательно освобождает ОП, его копия сбрасывается на диск, в специальный свопинг файл (swaping). Также могут быть освобождены и другие ресурсы. 6. 7. 8. В активном состоянии инициатором приостановки в однопроцессорной системе может быть сам процесс, а в мультипроцессорной – и другие процессы. В остальных состояниях – другие процессы (внешние события). Возобновление (или активизация) процесса это операция подготовки процесса к повторному запуску с точки приостановки. По завершении выполнения задания процесс уничтожается.
3. Диаграммы состояний процессов. Диспетчер задач Операции приостановки и возобновления играют важную роль в операционных системах реального времени (ОС РВ) и используются в следующих случаях: O O O при пиковой нагрузке ВС, когда она не может обеспечить требуемое быстродействие, когда расходы времени на смену состояний превышают полезную работу; при ненадежной работе системы и возможном ее отказе; когда промежуточные результаты работы процесса вызывают сомнение в правильности работы программы. При приостановке процесс обязательно освобождает оперативную память (ОП), его копия сбрасывается на диск, в специальный свопинг файл (swaping). Также могут быть освобождены и другие ресурсы. 6. 7. 8. В активном состоянии инициатором приостановки в однопроцессорной системе может быть сам процесс, а в мультипроцессорной – и другие процессы. В остальных состояниях – другие процессы (внешние события). Возобновление (или активизация) процесса это операция подготовки процесса к повторному запуску с точки приостановки. По завершении выполнения задания процесс уничтожается. Все смены состояний происходят по прерываниям.
3. Диаграммы состояний процессов. Диспетчер задач в операционных системах семейства Microsoft Windows — утилита ОС для вывода на экран списка запущенных процессов и потребляемых ими ресурсов (в частности: статус, процессорное время и потребляемая оперативная память). Также есть возможность некоторой манипуляции процессами. В Windows XP для запуска диспетчера задач известная комбинация клавиш — Ctrl+Alt+Del (CTRL+SHIFT+ESC для Windows 7). Диспетчер задач можно также запустить в командной строке, введя имя его исполняемого файла (taskmgr. exe) или выбрав соответствующий пункт в контекстном меню панели задач. Диспетчер задач — встроенная в операционную систему утилита. Она содержит вкладки : Приложения. Позволяет переключиться в нужное приложение, либо завершить его. Процессы. Разнообразные данные обо всех запущенных в системе процессах, можно завершать, менять приоритет, задавать соответствие процессорам (в многопроцессорных системах) Службы (начиная с Vista ). Сведения обо всех службах Windows. Быстродействие. Графики загрузки процессора (процессоров), использования оперативной памяти. Сеть (отсутствует в случае отсутствия активных сетевых подключений). Графики загрузки сетевых подключений. Пользователи (только в режиме администратора). Манипулирование активными пользователями.
3. Диаграммы состояний процессов. Диспетчер задач в Windows 7
Контрольные вопросы: Понятие ОС, главное ее назначение. 2. Процесс – это…? 3. В каких 3 -х основных состояниях может находится процесс? 4. Когда процесс из состояния «выполняется» переходит в состояние «блокирован» ? 5. В каких состояниях есть очереди, а в каких нет? 6. В каком состоянии очередь упорядочена по приоритетам? 7. Что такое БУП и какую информацию о процессе он содержит? 8. Когда ОС использует области сохранения регистров данных процессов? 9. Какие операции над процессами должна иметь возможность выполнять ОС? 10. Создание нового процесса состоит из… 11. Что может породить новый процесс? 12. Уничтожение процесса – это…? 13. Возобновление процесса – это…? 14. Изменение приоритета – это…? 1.
Контрольные вопросы: 15. Прерывание – это. . . ? 16. Функция ядра ОС в обработке прерываний? 17. Какие параллельные процессы в ОС существуют? 18. Каковы правила работы процесса в своем критическом участке? 19. Очередью процессов называется… 20. Как процессы переходят из одного состояния в другое? 21. Что такое диаграмма состояний процессов? 22. Диспетчер задач – это…? 23. Как можно запустить Диспетчер задач в Windows XP, Windows 7? 24. Какие вкладки содержит Диспетчер задач? 25. На какой вкладке Диспетчера задач можно получить разнообразные данные обо всех запущенных в системе процессах?
Задание 1. Запустите Диспетчер задач на вашем компьютере. 2. Запустите несколько приложений на компьютере, например Калькулятор, Блокнот и т. п. 3. На вкладке Приложения Диспетчера задач закройте ряд программ принудительно. Это делается выделением программы и нажатием на кнопку внизу «Снять задачу» . 4. На вкладке Процессы отображаются все запущенные процессы. Проанализируйте их и опишите 2 -3 процесса. Данная вкладка имеет несколько столбцов, нажав на который вы можете отсортировать процессы по данному параметру. Укажите какое из приложений потребляет больше всего памяти.
Задание 5. Вы можете завершить любой процесс выделив его, и нажав на соответствующую кнопку внизу справа. Будьте аккуратны при завершении процессов запущенных не от вашего пользователя. Возможно это процессы необходимые для поддержания работоспособности операционной системы. Принадлежность процесса можно посмотреть в столбце Пользователь. Попробуйте завершить какой-нибудь процесс. 6. В столбце ЦП можно узнать информацию о потреблении процесса мощности вашего процессора. Что означают эти цифры, в каких они единицах? 7. В этой вкладке Службы представлена таблица со всеми службами. Можно просмотреть имя службы, ее описание и состояние.
Задание 8. Остановите или запустите какую-нибудь службу нажав на ней правой кнопкой мыши и выбрав соответствующее действие в открывшемся меню. Посмотрите, что произойдет. 9. На вкладке Быстродействие посмотрите загрузку вашего процессора, количество используемой памяти и хронологию их использования и загрузки. Внизу в разделе Физическая память (МБ) вы можете посмотреть дополнительные параметры памяти. В частности сколько у вас ее всего. Загрузку центрального процессора и количество используемой памяти вы можете посмотреть внизу окна диспетчер задач. 10. На вкладке Сеть вы может посмотреть состояние и загрузку всех ваших сетевых подключений. Все наглядно представлено в виде графика.
Рекомендуемая литература: O Иртегов Д. В. Введение в операционные системы. – СПб. : O O O БХВ-Петербург, 2012. – 624 с. Попов И. И. , Партыка Т. Л. Операционные системы, среды и оболочки. – М. : Форум, 2012. – 560 с. Синицын С. В. , Батаев А. В. , Налютин Н. Ю. Операционные системы. – М. : Академия, 2012. – 304 с. Спиридонов Э. Практикум по операционным системам. – М. : Либроком, 2010. – 328 с. Спиридонов Э. , Клыков М. Операционные системы. – М. : Либроком, 2010. – 352 с. Учебные и информационные ресурсы интернет.