
- •Unit 3. Operating System Software
- •3.1 Structure
- •3.1.1 Layers of Software
- •Layers and Process Management
- •Encapsulation and Abstraction
- •The Role of the bios
- •Changing bios Settings
- •3.1.3 Process Control
- •3.2 Device Management and Configuration
- •Interrupt Priority and Nested Interrupts
- •Traps and Faults
- •Changing a Driver's Configuration
- •Managing Memory
- •Relocation
- •Virtual Memory
- •3.3.2 File and Printer Sharing
- •Printers
- •Файловые системы
- •3.4.1 File Organization
- •Folders
- •Shortcuts
- •File Names and Types
3.2 Device Management and Configuration
Управление устройствами и настройка
Еще одной из функций операционной системы является управление различными устройствами ввода / вывода , установленные на компьютере . Контроля над оборудованием на этом уровне требует взаимодействия между ядром ,драйверами устройств иBIOS. Пользователи могут иногда точно настроить производительность своих компьютерных систем , изменив параметры, которые определяют, как операционная система или драйверы устройств лечения периферийное устройство.
3.2.1 Interrupt Handling
Interrupts
Interrupt Priority and Nested Interrupts
Traps and Faults
Interrupts
Прерывания
Одной из важных задач ядра является обработка прерываний. Прерываниесигнала в процессор , что какое-либо событие произошло , что требует немедленного внимания . Часто эти события , связанные с операцией ввода / вывода , но есть и другие виды прерываний , а также. Ядро выясняет , что стало причиной прерывания и делает соответствующий ответ . Он должен действовать очень быстро. Во избежание потери данных при следующего прерывания приходит, Он должен обрабатывать каждое прерывание менее чем за тысячную долю секунды .
Чтобы увидеть, как прерывания обрабатываются , давайте посмотрим на то, как люди делают это . Предположим, что вы сидите за столом на работе, чтениюруководства. Может быть, это Документация по некоторым новым программным обеспечением вы приобрели. После прочтения нескольких страниц , курьер входит, извиняется , что перебиваю , и просит вас подписать для пакета . В ответ на это прерывание , сначала поставить закладку в руководстве, чтобы отметить свое место , а затем заложить руководства вниз . Теперь, когда ваши руки свободны , вы подписать для пакета и поместите его в сторону своего стола , где вы будете иметь дело с ним позже. Тогда вы берете в руки руководство снова откройте его в закладки , и возобновить чтение .
Ядро обрабатывает прерывания в значительной степени то же самое. Вот шаги, участвующие в борьбе с клавиатуры прерывания , которое происходит каждый раз при нажатии на клавишу. Перед тем, как нажать кнопку , процессор занят выполнением какую-то программу или другое. Предположим, вы используете компьютер для редактирования веб-страницы , а процессор занят , выясняя, как для отображения какой-либо файл изображения, который вы только что загруженной . В то время как он делает это, вы достигнете ждем введите буквы "HTTP" на клавиатуре. Как только вы нажмете клавишу "H" , клавиатура передает байт данных в интерфейс клавиатуры PS / 2 на материнской плате. Интерфейс то нужно прерывать процессор и передавать этот байт данных для драйвера клавиатуры . Он должен сделать это очень быстро - , прежде чем ударить"T" ключ - в противном случае существует опасность того, что следующее нажатие клавиши будут потеряны.
Интерфейс клавиатуры посылает к процессору сигнал называется IRQ ( прерывания запрос ) . Когда процессор получает этот сигнал , он прекращает выполнение прикладной программы (редактора веб-страниц в нашем примере ) , что делает сведению адрес последней команды выполненной . Затем он переходит к адресу обработчика прерываний клавиатуры , и начинает выполнение инструкции он находит там. Поскольку регистры процессора содержат все данные пользовательская программа манипулирует в то время, обработчик прерывания должен сохранить содержимое этих регистров , прежде чем он может использовать регистр для своих собственных целей . После сохранения регистров , это бесплатно проверить состояние интерфейса клавиатуры и принять байт входящих данных . Это ставит этот байт в области хранения , которые будут проверяться при помощи драйвера клавиатуры в следующий раз он работает , возможно миллисекунду с этого времени. Тогда обработчик клавиатуры прерывания восстанавливает содержимое сохраненных регистров и передает управление обратно в любой задачи выполнял ранее (приложение для редактирования веб-страниц ) , возобновление выполнения в том же месте , где произошло прерывание . Все кончено в несколько сотен микросекунд ; прикладная программа понятия не имеет , что она была прервана.