
- •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
Changing bios Settings
Изменение настроек BIOS
Чтобы изменить настройки BIOS , вы должны войти в программу настройки BIOS во время загрузки , при нажатии на указанную клавишу или сочетание клавиш, например F2 или Alt + Ctrl + ESC. Сообщение исходного дисплеи BIOS скажу вам, что ключи к прессе. Программа установки отображает текущие настройки BIOS и позволяет изменять их. Он сохраняет новые настройки в памяти CMOS , чтобы они были доступны при следующемвключении машины . Следует проявлять осторожность при изменении настроек BIOS , так как неправильные настройки могут сделать компьютер из строя.
Вы можете узнать больше о BIOS с момента вступления в BIOSПК руководства. Если вы планируете изменить настройки BIOS , прочитайте Руководство BIOS Survival первым .
3.1.3 Process Control
Управление процессом
Другой работа операционной системы является отслеживание всех процессов, которые в настоящее время пытаются выполнить , уверяя , что каждый получает шанс выполнить достаточно часто . Процесс является экземпляром запущенной программы . Она включает в себя набор страниц памяти , набор дескрипторов открытых файловых ( если процесс делает любой I / O) , идентификатор процесса , и несколько других вещей. Ядро поддерживает список всех процессов в системе . Это включает в себя все, что программы пользователь работает , плюс различные программы , которые реализуют части операционной системы за пределами ядра , такие как печать и поддержки сети. Каждый процесс может находиться в одном из нескольких состояний : бег, готов к работе, или их. Только один процесс на процессор может реально работать в то время, хотя любое число может быть готов к запуску . Блокированный процесс является тот, который ждет до наступления определенного события . Например, диспетчер очереди печати является большую часть времени заблокирован , он только становится работоспособным , когда пользователь выбирает команду Печать , который активирует процесс .
На машине Windows, вы можете увидеть список текущих задач и процессов путем вызова диспетчера задач. (В Windows , задача представляет собой приложение, пользователь работает , он появляется на панели задачзадача реализована одним или несколькими процессами. . ) 3.1.4 Лабораторная работа:Task Manager перечисляет шаги, необходимые для использования Целевая Manager. На машине UNIX ,пс и топ команды отображения информации о процессе .
Ядро поддерживаеточереди (также называемой очереди на выполнение ) , или листа ожидания исполняемых процессов . Для того, чтобы создать иллюзию, что все эти процессы запущены сразу, он использует трюк под названием вытесняющей многозадачностью . Хотя существуют и другие типы многозадачности , вытесняющей многозадачностью создает лучшее иллюзию , чем у остальных . Этот трюк зависит от наличия часов реального времени , который может генерировать прерывания при обычной ставке . Часы прерывает дать ядру возможность взглянуть на очереди выполнения и посмотреть, если какой-либо другой процесс должен быть дан шанс , чтобы запустить сейчас . Если ответ да, текущий процесс прерывается . Его состояние понижен от бега и работоспособным , его исполнение отметил прогресс , и его содержимое регистров сохраняются так что процесс может быть возобновлена позже. Процессы, которые забиваются также генерировать эти типы прерываний , но ответ на предыдущий вопрос всегда да . Тогда другой процесс в очереди выполнения выбран для запуска . Если ядро переходит процессы достаточно часто , по-видимому к человеческому пользователем , как если бы все процессы выполняются одновременно . Теперь вы знаете секретиллюзия!
Если вытесняющей многозадачностью это хорошая идея , почему бы не перейти процессы как можно чаще , скажем, после каждой команды ? Причина ядро не делает этого в том, что переход от одного процесса к другому требуется переключение контекста , который принимает немного времени . Чтобы выполнить переключение контекста процессор должен смыть свой трубопровод инструкций , выполняющих , сохранить все содержимое регистров , загрузить новую таблицу страниц и т.д. Это накладывает определенную сумму накладных расходов по каждому вытеснения. Таким образом, оптимальная стратегия является сделать переключение контекста только по мере необходимости для обеспечения справедливого сервис для всех процессов .
Некоторые приложения требуют несколько процессов , чтобы выполнять свои функции . Например, для того, чтобы веб-браузер для поддержки нескольких открытых окон одновременно (каждый скачивания другую страницу или запуска другой Java апплет )браузеру необходим для создания процесса для каждого окна . Но , имея много процессов стоит дорого, потому что каждый требует свое собственное адресное пространство , стр. стол, файловых дескрипторов и т.д. И многие приложения , реализующие многозадачность не требуют этого степень разделения между их процессов . Таким образом, новые операционные системы обеспечивают легкий процессов , называемых потоками, которые все живем в одном адресном пространстве и поделиться своими файловых дескрипторов .