Фонд оценочных средств профессионального модуля
Скачать 6.85 Mb.
|
Цели планированияДисциплина планирования должна быть справедливой; обеспечивать максимальную пропускную способность системы; приемлемые времена ответа для максимального количества пользователей, работающих в интерактивном режиме; предсказуемость; минимальные накладные расходы; сбалансированное использование ресурсов; сбалансированность времени ответа и коэффициента использования ресурсов; должна исключать бесконечное откладывание процессов; учитывать приоритеты; оказывать предпочтение тем процессам, которые занимают ключевые ресурсы; предусматривать улучшенное обслуживание для процессов, отличающихся “примерным поведением”. Заметим, что многие из этих целей противоречат друг другу, что делает планирование достаточно сложной проблемой. Факторы, учитываемые при планированииДля реализации перечисленных выше целей планирования, механизмы планирования должны учитывать лимитируется процесс вводом-выводом или ЦП; является ли процесс пакетным или диалоговым; обязательно ли малое время ответа; приоритет каждого процесса; частоту переключений с низкоприоритетных процессов, ожидающих освобождения уже занятых ресурсов; длительность периода времени, в течение которого ожидает каждый процесс; суммарное время работы каждого процесса и оценочное время, необходимое каждому процессу для завершения. Планирование с переключением и без переключенияПланирование без переключения предусматривает, что после предоставления ресурсов ЦП какому-либо процессу, отобрать ЦП у этого процесса нельзя. Если же ресурсы ЦП можно отобрать, то говорят о планировании с переключением. При использовании планирования без переключения коротким заданиям приходится больше ждать из-за выполнения длительных заданий, с другой стороны, для всех процессов создаются как бы равные условия, а времена ответа здесь более предсказуемы. Планирование с переключением необходимо в системах, где процессы высокого приоритета требуют немедленного внимания, например в интерактивных системах разделения времени этот способ планирования позволяет гарантировать приемлемые времена ответа. ПриоритетыСистема может присваивать процессам приоритеты автоматически или они могут назначаться извне. Приоритеты могут быть заслуженными или купленными. Они могут быть статическими или динамическими. Они могут назначаться по какому-то рациональному принципу или присваиваться в ситуациях, когда системе просто необходимо каким-либо образом различать процессы. Статические приоритеты не изменяются, такой механизм установки приоритетов достаточно прост и не сопряжен с большими издержками. Однако следует учитывать, что такой механизм недостаточно гибок, т.к. не реагирует на изменение окружающей ситуации. Динамические приоритеты позволяют повысить реактивность системы, т.к. реагируют на изменения ситуации, и начальное значение приоритета процесса может быть изменено на новое, более подходящее значение. Покупаемые приоритеты дают возможность пользователю повысить приоритет задания и получить более высокий уровень обслуживания за дополнительную плату. Алгоритмы планированияПланирование по принципу FIFO (first-in-first-out) Принцип FIFO, “ первый пришедший обслуживается первым”, является наиболее простой дисциплиной планирования. ЦП предоставляется процессам в порядке их прихода в очередь готовности. После того, как процесс получает ЦП в свое распоряжение, он выполняется до завершения, т.е. это дисциплина планирования без переключения, поэтому ее не рекомендуют использовать в системах с разделением времени. Готовые процессы Завершение Z Y XЦП Рис. 5 Планирование по принципу FIFO Как правило, принцип FIFO редко используется самостоятельно в качестве основной дисциплины обслуживания, чаще он комбинируется с другими дисциплинами, например, диспетчирование процессов может выполняться согласно их приоритетам, однако процессы с одинаковыми приоритетами диспетчируются по принципу FIFO. Циклическое планирование RR (roundrobin) Планирование по принципу RR предполагает диспетчирование процессов по принципу FIFO, но каждый процесс получает временной квант, в течение которого он может использовать ресурсы ЦП. Если завершения процесса не происходит по истечении кванта времени, то этот процесс переводится в конец списка готовых к выполнению процессов, а ресурсы ЦП предоставляются следующему процессу из списка. Такой алгоритм планирования приемлем, например, для работы с разделением времени, когда система должна гарантировать приемлемые времена ответа для всех интерактивных пользователей. Готовые процессы Завершение X Z Y XЦП Истечение кванта времени Рис. 6 Планирование по принципу RR Очевидно, что для данного алгоритма планирования основной вопрос заключается в определнии размера кванта времени, и следует ли делать его фиксированным или переменным. Очевидно, если квант времени выбирается слишком большим, то система RR фактически вырождается в FIFO, т.к. каждому процессу выделяется достаточно времени для завершения. Если же квант времени выбирается слишком малым, то контекстные переключения начинают играть доминирующую роль, что в итоге ухудшает характеристики системы. Многоуровневые очереди с обратными связями Механизм планирования должен оказывать предпочтение коротким заданиям и заданиям, лимитируемым вводом-выводом, чтобы обеспечить хороший коэффициент использования устройств ввода-вывода; как можно быстрее определять характер задания, чтобы соответствующим образом ппланировать его выполнение. Многоуровневые очереди с обратными связями позволяют достичь этих целей. При таком алгоритме планирования, новый процесс входит в сеть очередей с конца верхней очереди и перемещается по ней по принципу FIFO пока не получит в свое распоряжение ЦП. Если процесс не успевает завершиться по истечении отведенного ему кванта времени, он перемещается в конец очереди более низкого уровня и получит в свое распоряжение ЦП, когда достигнет начала этой очереди, и не будет ожидающих процессов в верхней очереди. Обычно в такой многоуровневой системе предусматривается нижняя очередь, организованная по принципу RR, где процесс циркулирует до окончательного завершения. Как правило, в таких структурах квант времени при переходе в каждую очередь более низкого уровня увеличивается. Готовые процессы Завершение Z1 Y1 X1ЦП Уровень 1 FIFO Истечение кванта времени Готовые процессы Завершение X1 Z2 Y2 X2ЦП Уровень 2 FIFO Истечение кванта времени . . . Готовые процессы Завершение Xn-1 Zn Yn XnЦП Уровень n RR Истечение кванта времени Рис.7 Многоуровневые очереди с обратными связями Многоуровневые очереди с обратными связями представляют собой идеальный механизм, позволяющий разделять процессы на категории в соответствиии с их потребностями в ресурсах ЦП. В системе с разделением времени, каждый раз, когда процесс выходит из сети очередей, он может быть отмечен признаком очереди самого низкого уровня, где он побывал, что дает возможность впоследствии, когда он снова войдет в сеть очередей, направлять его прямо в ту очередь, в которой он в последний раз завершал свою работу. Заметим, что при таком алгоритме планирования, чем дольше процесс занимает ЦП, тем ниже становится его приоритет, пока процесс не опускается в очередь самого низкого приоритета. Размер же кванта времени, выделяемого процессу, как правило увеличивается по мере перехода процесса в каждую следующую очередь. Сеть многоуровневых очередей с обратными связями - это пример адаптивного механизма планирования, который реагирует на изменение поведения контролируемой им системы. Вопросы Укажите различия между планировщиком заданий, планировщиком промежуточного уровня и диспетчером. Перечислите основные цели планирования. Укажите основные различия между рассмотренными алгоритмами планирования.(FIFO, RR и многоуровневыми очередями с обратными связями). Приведите пример, показывающий, почему принцип FIFO является неподходящей дисциплиной планирования для интерактивных пользователей. Определение размера кванта времени - сложная задача, опишите последствия, к которым приведет реализация каждого из следующих методов назначения размера кванта времени: выбирается фиксированным и идентичным для всех пользователей; выбирается фиксированным и уникальным для каждого пользователя; выбирается переменным и уникальным для каждого пользователя. Покажите, каким образом многоуровневые очереди с обратными связями обеспечивают достижение каждой из следующих целей планирования: оказывать предпочтение коротким заданиям; определять характер задания как можно быстрее и соответствующим образом планировать его выполнение. Практическая работа №3 Планирование и диспетчеризация процессов и задач: диспетчеризация задач с использованием динамических приоритетов Цель работы: Практическое знакомство с управлением вводом/выводом в операционных системах Windows и кэширования операций ввода/вывода. План проведения занятия: Ознакомиться с краткими теоретическими сведениями. Ознакомиться с назначением и основными функциями Диспетчера задач Windows. Приобрести навыки применения командной строки Windows. Научиться запускать останавливать и проверять работу процессов. Сделать выводы о взаимосвязи запушенных процессов и оперативной памятью компьютера. Подготовить отчет для преподавателя о выполнении лабораторной работы и записать его в папку «Выполнение». Оборудование: Аппаратная часть: персональный компьютер, сетевой или локальный принтер. Программная часть: ОС Windows 7, текстовый процессор Microsoft Word. Краткие теоретические сведения: Необходимость обеспечить программам возможность осуществлять обмен данными с внешними устройствами и при этом не включать в каждую двоичную программу соответствующий двоичный код, осуществляющий собственно управление устройствами ввода/вывода, привела разработчиков к созданию системного программного обеспечения и, в частности, самих операционных систем. Программирование задач управления вводом/выводом является наиболее сложным и трудоемким, требующим очень высокой квалификации. Поэтому код, позволяющий осуществлять операции ввода/вывода, стали оформлять в виде системных библиотечных процедур; потом его стали включать не в системы программирования, а в операционную систему с тем, чтобы в каждую отдельно взятую программу его не вставлять, а только позволить обращаться к такому коду. Системы программирования стали генерировать обращения к этому системному коду ввода/вывода и осуществлять только подготовку к собственно операциям ввода/вывода, то есть автоматизировать преобразование данных к соответствующему формату, понятному устройствам, избавляя прикладных программистов от этой сложной и трудоемкой работы. Другими словами, системы программирования вставляют в машинный код необходимые библиотечные подпрограммы ввода/вывода и обращения к тем системным программным модулям, которые, собственно, и управляют операциями обмена между оперативной памятью и внешними устройствами. Таким образом, управление вводом/выводом — это одна из основных функций любой ОС. Одним из средств правления вводом/выводом, а также инструментом управления памятью является диспетчер задач Windows, он отображает приложения, процессы и службы, которые в текущий момент запущены на компьютере. С его помощью можно контролировать производительность компьютера или завершать работу приложений, которые не отвечают. При наличии подключения к сети можно также просматривать состояние сети и параметры ее работы. Если к компьютеру подключились несколько пользователей, можно увидеть их имена, какие задачи они выполняют, а также отправить им сообщение. Также управлять процессами можно и «вручную» при помощи командной строки. Команды Windows для работы с процессами: at — запуск программ в заданное время Schtasks — настраивает выполнение команд по расписанию Start — запускает определенную программу или команду в отдельном окне. Taskkill — завершает процесс Tasklist — выводит информацию о работающих процессах Для получения более подробной информации, можно использовать центр справки и поддержки или команду help (например: help at) command.com — запуск командной оболочки MS-DOS cmd.exe — запуск командной оболочки Windows Ход работы: Задание 1. Работа с Диспетчером задач Windows 7. Запустите Windows 7 Запуск диспетчера задач можно осуществить двумя способами: 1) Нажатием сочетания клавиш Ctrl+Alt+Del. При использовании данной команды не стоит пренебрегать последовательностью клавиш. Появится меню, в котором курсором следует выбрать пункт «Диспетчер задач». 2) Переведите курсор на область с показаниями системной даты и времени и нажмите правый клик, будет выведено меню, в котором следует выбрать «Диспетчер задач». Будет выведено окно как на рис. 1. Рис. 1. Диспетчер задач Windows 7. В диспетчере задач есть 6 вкладок: Приложения Процессы Службы Быстродействие Сеть Пользователи Вкладка «Приложения» отображает список запущенных задач (программ) выполняющиеся в настоящий момент не в фоновом режиме, а также отображает их состояние. Также в данном окне можно снять задачу переключиться между задачами и запустить новую задачу при помощи соответствующих кнопок. Вкладка «Процессы» отображает список запущенных процессов, имя пользователя запустившего процесс, загрузку центрального процессора в процентном соотношении, а также объем памяти используемого для выполнения процесса. Также присутствует возможность отображать процессы всех пользователей, либо принудительного завершения процесса. Процесс — выполнение пассивных инструкций компьютерной программы на процессоре ЭВМ. Вкладка «Службы» показывает, какие службы запущены на компьютере. Службы — приложения, автоматически запускаемые системой при запуске ОС Windows и выполняющиеся вне зависимости от статуса пользователя. Вкладка «Быстродействие» отображает в графическом режиме загрузку процессора, а также хронологию использования физической памяти компьютера. Очень эффективным инструментом наблюдения является «Монитор ресурсов». С его помощью можно наглядно наблюдать за каждой из сторон «жизни» компьютера. Подробное изучение инструмента произвести самостоятельно, интуитивно. Вкладка «Сеть» отображает подключенные сетевые адаптеры, а также сетевую активность. Вкладка «Пользователи» отображает список подключенных пользователей. Потренируйтесь в завершении и повторном запуске процессов. Разберите мониторинг загрузки и использование памяти. Попытайтесь запустить новые процессы при помощи диспетчера, для этого можно использовать команды: cmd, msconfig. После изучения диспетчера задач: Задание 2. Командная строка Windows. Для запуска командной строки в режиме Windows следует нажать: (Пуск) > «Все программы» > «Стандартные» > «Командная строка» Поработайте выполнением основных команд работы с процессами: запуская, отслеживая и завершая процессы. Основные команды Schtasks — выводит выполнение команд по расписанию Start — запускает определенную программу или команду в отдельном окне. Taskkill — завершает процесс Tasklist — выводит информацию о работающих процессах Рис. 2. Командная строка Windows 7. В появившемся окне (рис. 2) наберите: cd\ — переход в корневой каталог; cd windows – переход в каталог Windows. dir — просмотр содержимого каталога. В данном каталоге мы можем работать с такими программами как «WordPad» и «Блокнот». Запустим программу «Блокнот»: C:\Windows > start notepad.exe Отследим выполнение процесса: C:\Windows > tasklist Затем завершите выполнение процесса: C:\Windows > taskkill /IM notepad.exe Самостоятельно, интуитивно, найдите команду запуска программы WordPad. Необходимый файл запуска найдите в папке Windows. Выполнение задания включить в отчет по выполнению лабораторной работы. Задание 3. Самостоятельное задание. Отследите выполнение процесса explorer.exe при помощи диспетчера задач и командной строки. Продемонстрируйте преподавателю завершение и повторный запуск процесса explorer.exe из: Диспетчера задач; Командной строки. Выполнение задания включить в отчет по выполнению лабораторной работы. Контрольные вопросы: Дайте понятие процессу в операционной системе. Дайте понятие службе в операционной системе. Причислите основные команды работы с процессами при помощи командной строки. Перечень вопросов к экзамену 1. Технология "Клиент - Сервер" 2. Опорная модель OSI. 3. Принципы адресации в Интернет. 4. Классы адресов в Internet. 5. Язык гипертекстовой разметки HTML. Синтаксис языка. 6. Основные элементы HTML страницы. 7. Основные теги HTML для форматирование текста. 8. Организация гиперссылок в HTML. 9. Создание списков на Web-странице. 10. Работа с графическими изображениями в HTML. 11. Использование фреймов на Web-страницах. 12. Создание таблиц в HTML. 13. Формы. Организация форм на Web-странице. 14. META-данные. 15. Каскадные таблицы стилей. 16. Основы CGI-технологии. 17. CGI-сценарий. 18. Что такое JavaScript. История создания JavaScript. 19. Основные понятия языка JavaScript:программа, типы данных. 20. Операторы языка JavaScript. 21. Способы внедрения JavaScript в html-документы. 22. Переменные в JavaScript. 23. Выражения в JavaScript. 24. Условные операторы в JavaScript. 25. Циклы в JavaScript. 26. Функции в JavaScript. 27. Массивы в JavaScript. 28. Объекты в JavaScript. Иерархия объектов. 29. События в JavaScript. 30. Web-сервер Apache. Характеристика и назначение. 31. Язык PHP. Характеристика языка. Базовый синтаксис PHP. 32. Переменные в PHP. 33. Константы в PHP. 34. Выражения в PHP. 35. Операции в PHP. 36. Условные операторы в PHP. 37. Организация циклов в PHP. 38. Функции в PHP. 39. Строковые функции в PHP. 40. Cookies. Организация cookies . 41. Безопасность сетей. Стандарты защиты информации на уровне операционной системы. |