Сделай Сам Свою Работу на 5

Лабораторная работа: диспетчер задач (Task Manager)

Используя диспетчер задач Windows NT, Windows 2000, Windows XP можно увидеть запущенные процессы, цепочки выполняемых задач, характеристики системы и ошибки отсутствия страниц.

Упражнение: Если используется Windows 9x/Me, то выполните следующие действия:
  • Запустите Task Manager, нажимая ALT+CTRL+DELETE (только для Windows Me). Вы увидите список приложений и запущенных системных процессов. Некоторые из названий могут быть зашифрованными, они обычно образуют список процессов, являющихся частью операционной системы или систем окружения.
  • Запустите какое-нибудь приложение и вы увидите его добавленным к списку процессов. Вы можете также использовать Task Manager, чтобы отключить процесс. Это может быть необходимым, если процесс "зависает” или останавливается и не отвечает, когда вы пробуете закрыть окно приложения. На остановленную программу указывает сообщение "Not Responding" ("Не отвечает") после имени процесса в Task Manager. Будьте осторожны: если вы отключаете один из процессов операционной системы, ваш компьютер, возможно, не будет функционировать должным образом, — перезагрузка должна исправить проблему.
Если используется Windows NT/2000/XP, то выполните следующие действия:
  • Запустите Task Manager, нажимая ALT+CTRL+DELETE, и нажмите кнопку Task Manager.
  • Выберете вкладку Applications (приложения).Вы увидите список запущенных приложений.
  • Выберите вкладку Processes (процессы). В менюView (просмотр),нажмитеSelect Columns (выбор столбцов), и проверьте Page Faults (страничные ошибки) and Thread Count (число потоков).
  • Оставляя окно Task Manager открытым (вы можете прокрутить его вниз, если у вас длинный список активных процессов), запустите новый процесс, или сделайте активным уже запущенный процесс. Вы можете видеть число страничных ошибок и возрастание использования CPU. Щелкните на вкладке Performance (выполнение), и вы увидите график использования процессора и памяти.
  • Запустите несколько приложений и вы увидите какие ресурсы процессора и памяти требуется для них в системе. Вы можете также использовать Task Managerдля отключения процесса. Это может понадобиться если процесс "зависает” или останавливается и не отвечает, когда вы пробуете закрыть окно приложения. Будьте осторожны: если вы останавливаете один из процессов операционной системы, ваш компьютер, возможно, не будет функционировать должным образом, хотя перезагрузка должна исправить проблему.

Управление устройствами и конфигурация



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

Последовательность чтения:
  • 3.2.1 Управление прерываниями. Цель изучения: Понимание того как операционная система реагирует на прерывания. Прерывание — сигнал процессору о важном событии.
· 3.2.2 Атрибуты аппаратного обеспечения. Цель изучения: Понимание того, как драйвер устройства может быть заменен более новым и где находятся данные настраивающие действия операционной системы для конкретного устройства или установки пользовательского окружения.
  • 3.2.3 Конфигурация. Цель изучения:Понимание того, как пользователь может настроить Windows посредством Control Panel (панель управления) и других средств.
  • 3.2.4 Управление устройствами. Цель изучения:получитьопыт в просмотре и изменении конфигурации операционной системы для специфических целей.

Управление прерываниями

  • Прерывания
  • Приоритет прерываний и встроенные прерывания
  • Системные прерывания и ошибки

Прерывания

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

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

Управление прерываниями ядра почти то же самое. Вот что происходит в ответ на клавиатурные прерывания, каждый раз при нажатии клавиш. Перед тем, как вы нажмете клавишу, процессор занят некоторой программой или чем-то другим. Допустим вы используете компьютер для редактирования веб-страницы и процессор занят тем, как отобразить файл изображения, который вы только что загрузили. Пока это происходит, вы набираете символы "http" на клавиатуре. Как только вы нажимаете клавишу "H", клавиатура передает байт данных через интерфейс клавиатуры PS/2 на материнской плате. Затем интерфейсу нужно прервать процессор и передать этот байт данных драйверу клавиатуры. Это нужно делать быстро, прежде чем вы нажмете "T", иначе есть опасность, что следующее нажатие клавиши будет потеряно.

Интерфейс клавиатуры отправляет процессору сигнал, называемый ЗАПРОС на прерывание (IRQinterrupt request).Когда процессор получает этот сигнал, он перестает выполнять прикладную программу (редактор веб-страницы в нашем примере), записывая адрес последней выполняемой команды. Затем он переходит по адресу программы обработки прерывания клавиатуры и запускает выполнение команд, находящихся там. Поскольку регистры процессора содержат все данные, которыми манипулировала пользовательская программа, обработчик прерывания должен сохранить содержимое этих регистров перед тем, как он сможет использовать регистр для его собственных целей. После сохранения регистров, можно рассматривать состояние интерфейса клавиатуры и принимать байт входящих данных. Этот байт размещается в области памяти, которая будет проверена драйвером клавиатуры, когда он в следующий раз заработает, возможно, через миллисекунду. Затем обработчик прерывания клавиатуры восстанавливает содержимое сохраненных регистров и передает управление задаче, выполняемой ранее (приложение редактирования веб-страницы), возобновляя выполнение точно в той точке, где оно было прервано. Все это происходит в течение нескольких сотен микросекунд; прикладная программа даже не знает, что было прерывание.

 

Приоритет прерываний и встроенные прерывания

Два дополнительных понятия завершат наше обсуждение прерываний. Во-первых — понятие приоритета прерывания. Предположим, два человека входят в ваш офис в одно и то же время. (Или, кто-то первый входит и до того, как вы обратите внимание на него, входит другой.) Если один из них важный и нетерпеливый клиент, а другой — продавец, вы сначала удовлетворили бы потребности нетерпеливого клиента, а второго человека попросили бы подождать. Клиент имеет наивысший приоритет. Процессор также назначает приоритеты различным видам прерываний. Низкоскоростные устройства, подобные клавиатуре, имеют низкий приоритет. Высокоскоростные устройства, такие как диск SCSI имеют высокий приоритет, так как им нужен быстрый ответ для оптимального функционирования.

 

Во-вторых, есть понятие вложенные прерывания (nested interrupts). Предположим, что вы читаете свое руководство, и кто-нибудь входит, чтобы задать вам вопросы. Вы откладываете руководство, слушаете вопрос, а затем берете справочник чтобы найти ответ. В это время звонит телефон — это другое прерывание! Тогда вы отмечаете свое место в справочнике, откладываете его и отвечаете на звонок. Человеку, сидящему за вашим столом пока придется немного подождать. Когда ваш телефонный разговор закончен, вы берете справочник вновь и заканчиваете ответ на вопрос. Как только это будет сделано и все ушли счастливыми, вы можете взять ваше руководство и возобновить чтение. Второе прерывание — вложеновнутри первого.

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

Системные прерывания и ошибки

Системное прерывание (trap)— событие, подобное прерыванию, за исключением того, что вместо внешнего сигнала, системное прерывание запускается командами процессора. Например, операция деления на ноль. Если пользовательская программа пытается делить число на ноль, то выполнение не может нормально продолжаться. Системное прерывание процессора подобно обработке прерывания, но без ограничения времени. Обработчик системного прерывания может выдать сообщение об ошибке и прервать пользовательскую программу или, возможен другой путь — принудительно установить результат команды деления – 0 и позволить программе работать дальше. Другое общее использование системных прерываний — когда приложения делают запросы к операционной системе. Приложение делает запрос о том, что оно хотело получить из регистра, а затем использует специальную команду системного прерывания, чтобы «перехватить внимание» операционной системы.

Третий вид события, о котором вы должны знать, называется ошибкой (fault). Ошибка происходит когда технические средства просят то, что нельзя выполнить, например доступ к несуществующему участку памяти. (Программисты C, использующие указатели, вероятно, сталкиваются с этим видом ошибки "несуществующей памяти" пока их программный код не отлажен.) Ошибки могут также происходить, если схема исправления ошибок памяти обнаруживает непоправимую ошибку, попытку деления на ноль или, если программа содержит ошибочную машинную команду. Ошибки и системные прерывания обрабатываются одинаково.



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.