5. ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА
Выполнение пользовательских процессов в системе UNIX осуществляется на
двух уровнях: уровне пользователя и уровне ядра. Когда процесс производит
обращение к операционной системе, режим выполнения процесса переключается с
режима задачи (пользовательского) на режим ядра: операционная система пытается обслужить запрос пользователя, возвращая код ошибки в случае неудачного
завершения операции. Даже если пользователь не нуждается в каких-либо определенных услугах операционной системы и не обращается к ней с запросами,
система еще выполняет учетные операции, связанные с пользовательским процес-сом, обрабатывает прерывания, планирует процессы, управляет распределением
памяти и т.д. Большинство вычислительных систем разнообразной архитектуры (и
соответствующие им операционные системы) поддерживают большее число уровней, чем указано здесь, однако уже двух режимов, режима задачи и режима ядра, вполне достаточно для системы UNIX.
Основные различия между этими двумя режимами:
В режиме задачи процессы имеют доступ только к своим собственным инструк- циям и данным, но не к инструкциям и данным ядра (либо других процессов). Однако в режиме ядра процессам уже доступны адресные пространства ядра и пользователей. Например, виртуальное адресное пространство процесса может быть поделено на адреса, доступные только в режиме ядра, и на адреса, доступные в любом режиме.
Некоторые машинные команды являются привилегированными и вызывают возникновение ошибок при попытке их использования в режиме задачи. Например, в машинном языке может быть команда, управляющая регистром состояния
процессора; процессам, выполняющимся в режиме задачи, она недоступна.
Процессы
A B C D
Режим ядра | Я | Я | ||
Режим задачи | З | З |
Рисунок 1.5. Процессы и режимы их выполнения
Проще говоря, любое взаимодействие с аппаратурой описывается в терминах
режима ядра и режима задачи и протекает одинаково для всех пользовательских
программ, выполняющихся в этих режимах. Операционная система хранит внутренние записи о каждом процессе, выполняющемся в системе. На Рисунке 1.5 показано это разделение: ядро делит процессы A, B, C и D, расположенные вдоль
горизонтальной оси, аппаратные средства вводят различия между режимами выполнения, расположенными по вертикали.
Несмотря на то, что система функционирует в одном из двух режимов, ядро
действует от имени пользовательского процесса. Ядро не является какой-то
особой совокупностью процессов, выполняющихся параллельно с пользовательскими, оно само выступает составной частью любого пользовательского процесса.
Сделанный вывод будет скорее относиться к "ядру", распределяющему ресурсы,
или к "ядру", производящему различные операции, и это будет означать, что
процесс, выполняемый в режиме ядра, распределяет ресурсы и производит соответствующие операции. Например, командный процессор shell считывает вводной
поток с терминала с помощью запроса к операционной системе. Ядро операцион-ной системы, выступая от имени процессора shell, управляет функционированием
терминала и передает вводимые символы процессору shell. Shell переходит в
режим задачи, анализирует поток символов, введенных пользователем и выполняет заданную последовательность действий, которые могут потребовать выполнения и других системных операций.
5.1 Прерывания и особые ситуации
Система UNIX позволяет таким устройства, как внешние устройства ввода-вывода и системные часы, асинхронно прерывать работу центрального процессора. По получении сигнала прерывания ядро операционной системы сохраняет
свой текущий контекст (застывший образ выполняемого процесса), устанавливает
причину прерывания и обрабатывает прерывание. После того, как прерывание будет обработано ядром, прерванный контекст восстановится и работа продолжится
так, как будто ничего не случилось. Устройствам обычно приписываются приоритеты в соответствии с очередностью обработки прерываний. В процессе обработки прерываний ядро учитывает их приоритеты и блокирует обслуживание прерывания с низким приоритетом на время обработки прерывания с более высоким приорите-том.
Особые ситуации связаны с возникновением незапланированных событий, вызванных процессом, таких как недопустимая адресация, задание привилегированных команд, деление на ноль и т.д. Они отличаются от прерываний, которые вызываются событиями, внешними по отношению к процессу. Особые ситуации
возникают прямо "посредине" выполнения команды, и система, обработав особую ситуацию, пытается перезапустить команду; считается, что прерывания возникают
между выполнением двух команд, при этом система после обработки прерывания
продолжает выполнение процесса уже начиная со следующей команды. Для обработки прерываний и особых ситуаций в системе UNIX используется один и тот же
механизм.
... ; пароль, который проверяет вас на идентичность; инструкции для диалога и доступа к системе UNIX, если ваш терминал напрямую не связан с компьютером. Отличия операционной системы UNIX от других операционных систем. Unix состоит из ядра с включенными в него драйверами и из утилит (внешних по отношению к ядру программ). Если надо изменить конфигурацию (добавить устройство, изменить порт или ...
... , сетевые и другие коммуникационные службы, СУБД и утилиты. 4. Способы управления процессами и ресурсами Файлы и процессы, являются центральными понятиями модели операционной системы UNIX. Рисунок 1.2 представляет блок-схему ядра системы, отражающую состав модулей, из которых состоит ядро, и их взаимосвязи друг с другом. Слева изображена файловая подсистема, а справа подсистема управления ...
... маршрутизацию данных от клиента к серверу Программные гнезда с общими коммуникационными свойствами, такими как способ именования и протокольный формат адреса, группируются в домены "домен системы UNIX" для процессов, которые взаимодействуют через программные гнезда в пределах одного компьютера "домен Internet" для процессов, которые взаимодействуют в сети в соответствии с семейством протоколов ...
... программ. Совместимость с DOS-приложениями. Однако, работа с Windows не означает отказа от программ DOS (скорее она означает отказ от DOS в глобальном масштабе). На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях бесспорно считается самой распространенной операционной системой на PC: в мире более 150 миллионов IBM PC-совместимых компьютеров, и система ...
0 комментариев