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

Лабораторная работа: Управление устройствами

Эта лабораторная дает общее представление о доступе к некоторым возможностям управления устройствами Windows.

Примечание 1: Будьте осторожны, выполняя эту лабораторную. Ничто из указанных шагов не может повредить конфигурацию компьютерной системы. Но, вы можете неосторожно щелкнуть на опции в одном из окон и внести изменения. Если это произойдет, нажмите кнопку Отмена (Cancel), которая должна быть в каждом диалоговом окне, — это отменит любые изменения.

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

Упражнение: При использовании компьютера с Windows 95/98, применяйте следующие шаги для просмотра конфигурации настроек аппаратного обеспечения:
  • Изучите настройки устройства через Device Manager. Правый клик на иконке Мой Компьютер (My Computer)на вашемрабочем столе, клик на Свойства (Properties), и затем – Менеджер устройств (Device Manager).Это окно показывает иерархию системных ресурсов, начиная с “Компьютера” ("Computer") .
· На иконке "Компьютер", можно нажать кнопкуПечать..., чтобы получить полную распечатку всех настроек аппаратных и системных ресурсов вместе с номером версии используемого драйвера. Для этой распечатки может потребоваться от трех до десяти страниц, в зависимости от параметров настройки печати и состава технических средств, поэтому, вы, возможно, не станете этого делать.
  • Выберете "Компьютер" и вкладку “Свойства” (Properties).В открывающемся окне вы можете выбрать соответствующую кнопку и увидеть все устройства, использующие конкретный уровень запроса прерывания (IRQ) и другую информацию.
  • Откройте некоторые категории устройств нажатием ( + ) перед именем категории устройства. Если, по мнению Windows, есть проблемы с устройством, то появляется желтый кружочек со знаком ( ! ) (предупреждающий о возможных проблемах) или красный кружок со знаком "X" (предупреждающий, что устройство не функционирует). Определите с какими устройствами есть проблемы (если есть) в вашей системе.
· Щелчок на значке устройства дает окно с множеством вкладок. В зависимости от типа устройства, окно будет отличаться как заголовком так и числом вкладок. Пробуйте это на нескольких устройствах; модемы и сетевые адаптеры – самые интересные из них.
  • Найдите вкладку Driverи нажмите на нее. Должно открыться имя файла, версия проинсталлированного драйвера и кнопка Замена драйвера (Update Driver)для обновления драйвера новой версией.
· Найдите вкладку Ресурсы (Resources)и щелкните на ней, если она существует. Это окно показывает, какие IRQ (адреса прерываний) и Входные/Выходные диапазоны адресов использует это устройство и существует ли конфликт устройств в использовании этих настроек.
  • Нажмите Отмена (Cancel) чтобы закрыть Менеджер устройств.
При использовании Windows NT используйте следующие шаги для просмотра параметров устройств.
  • Изучите настройки устройств при помощи Windows NT Diagnostics. Нажмите кнопку Старт (Start),затемПрограммы (Programs),затем Инструменты администрирования (общие) (Administration Tools (Common)), и Windows NT Diagnostics.
  • Нажмите вкладку Ресурсы (Resources)и выберете кнопку снизу окна для просмотра IRQ, адресов ввода/вывода и других ресурсов, назначенных устройствам в вашей системе.
  • Нажмите кнопку Устройства (Devices)для просмотра списка устройств вашего компьютера.
  • Нажмите OKчтобы закрытьWindows NT Diagnostics.
Для любой версии Windows используйте следующую процедуру для просмотра инструментов, доступных в Панели управления (Control Panel)и изменениясистемныхустановок и настройки под конкретного пользователя.
  • В меню Пуск (Start)нажмитеНастройки (Settings)иПанель управления (Control Panel).Заметьте, какие устройства и сервисыпоявились в окне.
  • Изучите настройки клавиатуры, используя окно Свойства клавиатуры (Keyboard Properties).Используя вкладки, заметьте, как можно указать драйверу какой тип клавиатуры использовать, какие клавиши использовать для переключения языка, параметров повторного нажатия и частоты мерцания курсора. Вы можете попробовать изменить параметры двойного нажатия и частоту мерцания курсора и увидеть их в действии. Нажмите Отмена (Cancel)чтобызакрыть Свойства клавиатуры.
  • Изучите атрибуты мыши, используя окно Свойств Мыши (Mouse Properties).Используя различные вкладки, посмотрите, как вы можете указать драйверу, какой тип мыши используется, как курсор должен двигаться по дисплею, насколько чувствительным должен быть двойной щелчок, и можно ли поменять настройки кнопок для левши. Вы можете попробовать поменять функциональность левой кнопки и скорость двойного щелчка и увидеть их в действии. Нажмите Отмену (Cancel),чтобы закрыть окно Свойств Мыши.
  • Изучите настройки дисплея, используя окноНастройки дисплея (Display Properties).Используя различные вкладки, посмотрите, как изменить экранную заставку (screen saver), обои, вид текста, число цветов и разрешение. Не вносите изменений в эти установки. Нажмите Отмена, чтобы закрыть окно Настройки дисплея.
  • Используйте окно Параметры звука (Sound Properties)для изучения того, какие звуки используются Windows для сигнализирования различных событий. Вы можете добавлять звуки и убирать их. Вы можете прослушать звуки или изменить звуковую схему для настройки звуков в соответствии с потребностями.
  • Для экспериментов с изменением звуков, сначала выберите тип события "Windows: Asterisk". Нажмите кнопку Просмотр (Preview)дляпрослушивания звука, назначенного для события. Затем используйте список Name (Имя)для выбора другого звука для события. Можете использовать кнопку Просмотр (Preview)для прослушивания выбранного звука. Не вносите изменений в эти установки. Нажмите Отмена, чтобы закрыть окно Настройки звука.
  • Закройте окно Панели Управления.

Распределение ресурсов



В этом модуле мы рассмотрим операционную систему как механизм распределения ресурсов. Многие аспекты функционирования операционной системы могут быть объяснены через этот механизм. В ходе объяснения распределения работы, этот модуль охватывает большинство из компонентов компьютерной системы. Компьютерная система не только распределяет многие из внутренних ресурсов, например, время процессора, но и внешние ресурсы, такие как доступ к жесткому диска.

Последовательность чтения:
  • Обзор 3.1.3 Управление процессами. Цель обучения: Многозадачность — путь совместного использования процессоратаким образом, чтобы несколько задач выполнялись одновременно одним процессором ЦП. Операционная система включает компонент, называемый планировщиком,чтобы гарантировать, что не будет заданий, использующих процессор так, что другие задачи не смогут выполняться. Планировщик управляет общими ресурсами системы, предоставляя ограниченное время каждому процессу до переоценки приоритета.
  • 3.3.1 Виртуальная память. Цель изучения: Процессы должны совместно использовать доступную памятьна компьютере. Если нет достаточно оперативной памяти, чтобы выполнить все запросы, операционная система может использовать, если необходимо, страницы памяти между RAM и диском, чтобы все задачи могли продолжать работать. Эта схема известна как виртуальная память.
· Parsons/Oja, Chapter 5-section D. Цель изучения: Сеть позволяет множеству пользователей совместно использовать драйверы, файлы и принтеры. Есть как преимущества в совместном использовании ресурсов, такие как возможность работы нескольких людей над одним проектом, так и недостатки, например трудность обеспечения адекватной защиты. · 3.3.2 Распределение файлов и принтеров. Цели изучения: Используйте информацию, полученную ранее, чтобы лучше понять безопасность и функциональность совместного использования файлов и принтеров. · Обзор 3.2.1 Обработка прерываний . Цель обучения: Когда много задач работает в одно и то же время, они должны совместно использовать монитор, клавиатуру и мышь. Это функция части операционной системы, известная как система окон. Задание не отображает данные непосредственно на мониторе и не читает данные непосредственно с клавиатуры. Вместо этого, каждое задание имеет одно или более окон, связанных с ним и оно читает и записывает данные через эти окна, которые функционируют как виртуальный экран и клавиатура. Необходимо понять, как операционная система обрабатывает данные для этих ресурсов.

Виртуальная память

  • Управление памятью
  • Переадресация
  • Виртуальная память

Управление памятью

Управление памятью системы — важная часть работы ядра. У типичного персонального компьютера сегодня 1 Гб или более оперативной памяти (DRAM). Часть ее резервируется для операционной системы, но большая часть доступна для пользовательских программ. Например, пользователь запускает веб-навигатор, редактор и компьютерную игру. Каждой из этих программ нужно определенное количество памяти, но, ни одной из них не нужна вся память. Ядро распределяет некоторую память для каждой программы и отслеживает, какая программа что использует.

Современные операционные системы, такие как Linux и Windows обеспечивают виртуальную памятьдля повышения гибкости программ. (Мы будем более подробно говорить о виртуальной памяти позже.) Чтобы понять, для чего нужна виртуальная память, рассмотрим, как работали старшие операционные системы подобные MS-DOS. В тех системах, все программы работали в одном реальном адресном пространстве, пока не было виртуального адресного пространства.

Программы, записанные в двоичном машинном коде, содержат команды и данные. Как команды, так и данные содержат адреса памяти. Когда вы записываете программу в машинном коде (или компилятор переводит ваш язык высокого уровня на машинный код), вы (или компилятор) должны определить адрес для каждой команды и каждой части данных. Например, вы начинаете с нуля и располагаете все ваши команды и данные последовательно. Предположим, что ваша программа занимает адреса памяти от 0 до 8,462. Сейчас, предположим, что кто-то еще записывает программы таким же образом, начиная с адреса 0. Очевидно, вы не можете запустить две программы, занимающие одни и те же адреса памяти в одно и то же время по этой схеме. Когда вы загружаете вторую программу, она перезапишется поверх первой.

Переадресация

Способ, который существовал до изобретения виртуальной памяти — запись программ особым способом. Любое место памяти, содержащее адрес, специально отмечается в двоичном файле (binary file). Когда пользователь запускает программу на выполнение, операционная система выделяет для нее память где-нибудь в доступном месте и загружает программу в эту область памяти. При этом можно "исправить" все специально отмеченные адресные ссылки, чтобы они указывали реальное расположение. Например, пусть оригинальная программа содержит таблицу информации, начинающуюся в адреса памяти 700. Другая часть программы, скажем, расположенная по адресу 210, содержит адрес таблицы (т.е., значение 700), специально отмеченный, как содержащий адрес. Операционная система загружает эту программу в памяти, начиная с адреса 30,000. При этом меняется значение, размещенное по адресу 30,210 с 700 на 30,700 и так далее. Этот процесс называется переадресацией.

Описанная схема позволяет компьютеру загружать множество программ в память одновременно, до тех пор, пока какая-то часть памяти доступна. Преимущества этого подхода в том, что он сравнительно легко выполняется и не требует никаких изменений в аппаратных средствах. Но есть также и серьезные недостатки. Во-первых, из-за переадресации, память, распределяемая для программ, должна быть непрерывна(contiguous). Предположим, пользователь выполняет 6 маленьких программ в одно время. После того, как некоторые из программ закончили работу, программы 1, 3, и 6 остались работать. Теперь пользователь хочет выполнить большое приложение, но, к сожалению, его сейчас некуда поместить. Если приложение нельзя загрузить на место, которое использовала программа 2 или программы 4 и 5 вместе, то оно не может разместиться в памяти, хотя общего числа несмежных(noncontiguous) свободных блоков памяти может быть даже больше чем надо.

Другой недостаток этого подхода в том, что размер работающей программы ограничен объемом физической памяти, установленной на машине минус то, что операционная система зарезервировала для себя. Но, большие программы обычно не используют всю свою память сразу. Программе с большим адресным пространством, возможно, только нужно обратиться к нескольким тысячам команд и нескольким тысячам байтов данных за один раз. Было бы эффективнее распределить только небольшую часть RAM за один раз для такой программы и сохранить остальную часть ее адресного пространства где-нибудь еще, например на диске. Именно это позволяет сделать виртуальная память.

Виртуальная память

В виртуальной системе памяти, каждая программа работает в собственном адресном пространстве. Поэтому, когда программа загружается в память, нет потребности в любой переадресации. Виртуальное адресное пространство может быть больше или меньше, чем физическая память процессора. Хотя для того, чтобы эта схема работала, виртуальной памяти требуется аппаратная поддержка. Во-первых, память делится на части под названием страницы (pages). Страница - самая маленькая часть памяти, которая может быть распределена под программу. На платформах Pentium, страница составляет 4 Кбайт. Во-вторых, процессор должен уметь превращать виртуальные адреса в реальные.

Процессоры, поддерживающие виртуальную память, такие как Pentium, могут работать в двух режимах. В реальном режиме (real mode) адреса соответствуют физическим адресам ячеек в оперативной памяти. Только ядро имеет право работать в реальном режиме. В виртуальном режиме (virtual mode) каждый адрес "переводится" на физический адрес ячейки памяти с помощью таблицы страниц (page table). Для каждой страницы в виртуальном адресном пространстве, таблица страниц дает реальный адрес размещения страницы в оперативной памяти.

Давайте посмотрим, как это происходит с гипотетической программой, описанной ранее. Эта программа будет работать в собственном виртуальном адресном пространстве, начиная с адреса нулевой ячейки. Когда процессор загружает программу в оперативную память, начиная с 30,000, он устанавливает вход таблицы страниц для страницы 0 значением 30,000. Когда команда загружает адрес виртуального расположения 210, схема трансляции адреса (address translation) процессора фактически вызывает загрузку данных с физического расположения 30,210. Значение, прочитанное ячейки памяти расположенной по этому адресу, будет 30,700 (помните, адрес ячейки 210 содержит адрес таблицы, тоесть - 700), виртуальный адрес таблицы. Если другая команда затем попробует обратиться к таблице, используя этот 700-й адрес, механизм трансляции адреса опять вмешается и превратит ссылку в адрес 30,700. Пользовательская программа работает только с виртуальными адресами; она не имеет представления о том, в какой части физической памяти она выполняется. Когда процессор находится в виртуальном режиме, трансляция адреса происходит все время. Каждая ссылка транслируется. Она происходит очень быстро, потому что перевод происходит прямо в микропроцессорном чипе.

При схеме виртуальной памяти, каждая программа имеет свою собственную таблицу страниц, поддерживаемую ядром. И, физическая память, распределенная под программы, не должна быть непрерывной. Таблица страниц нашей гипотетической программы может сказать, "Хорошо, нулевая страница начинается с реального адреса 30,000; первая страница начинается с 34,000; вторая страница начинается с 62,000 и так далее." Пользовательская программа не имеет представления, что она разбросана по физической памяти, потому что она живет в виртуальном мире и не может видеть реальные адреса.

С небольшим усилием, с помощью технических средств, мы можем пойти в этой схеме на один шаг далее и полностью отделить виртуальную память от оперативной памяти. Например, мы не хотим грузить всю программу в оперативную память сразу, мы загружаем только пару страниц. Для тех страниц, что мы не хотим загружать, мы помещаем специальный маркер в таблицу страниц, который сообщает "Эта страница не находится в оперативной памяти." Запускается пользовательская программа, и это вынуждает память обратиться к нулевой странице, которая прекрасно транслируется. Память ссылается на первую страницу, и процессор снова смотрит на таблицу страниц и находит соответственный физический адрес. Затем, программа ссылается на адрес памяти, который попадает на страницу семь, которую мы не загрузили в оперативную память. Схема трансляции адреса проверяет таблицу страниц, находит маркер "Не в оперативной памяти" и генерирует ошибку отсутствие страницы (page fault). Это тип прерывания. Процессор прерывает выполнение пользовательской программы и предоставляет управление ядру. Ядро смотрит на определенные регистры состояния, чтобы выяснить, откуда прибыли отсутствующие страницы и говорит, "О, этот процесс хочет доступа к его виртуальной странице семь. Я выделю некоторую оперативную память и загружу в нее седьмую страницу программы. Сейчас я исправлю таблицу страниц, и дам возможность программе продолжать выполнение". Затем управление возвращается пользовательской программе, и программа продолжается, так как будто бы ничего необычного не случилось.

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

Недостаток использования жесткого диска для виртуальной памяти в том, что жесткий диск может быть занят настолько, что доступ к другим файлам откладывается. Для систем, которые предусматривают частые обращения к файлам и используют виртуальную память, можно поместить swap-файл – файл подкачки (файл, содержащий все виртуальные страницы памяти) на отдельном устройстве.



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