5. ПРЕДПОЛАГАЕМАЯ АППАРАТНАЯ СРЕДА

Выполнение пользовательских процессов в системе UNIX осуществляется на

двух уровнях: уровне пользователя и уровне ядра. Когда процесс производит

обращение к операционной системе, режим выполнения процесса переключается с

режима задачи (пользовательского) на режим ядра: операционная система пытается обслужить запрос пользователя, возвращая код ошибки в случае неудачного

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

система еще выполняет учетные операции, связанные с пользовательским процес-сом, обрабатывает прерывания, планирует процессы, управляет распределением

памяти и т.д. Большинство вычислительных систем разнообразной архитектуры (и

соответствующие им операционные системы) поддерживают большее число уровней, чем указано здесь, однако уже двух режимов, режима задачи и режима ядра, вполне достаточно для системы UNIX.

Основные различия между этими двумя режимами:

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

Некоторые машинные команды являются привилегированными и вызывают возникновение ошибок при попытке их использования в режиме задачи. Например, в машинном языке может быть команда, управляющая регистром состояния

процессора; процессам, выполняющимся в режиме задачи, она недоступна.

Процессы

A B C D

Режим ядра Я Я
Режим задачи З З

Рисунок 1.5. Процессы и режимы их выполнения

Проще говоря, любое взаимодействие с аппаратурой описывается в терминах

режима ядра и режима задачи и протекает одинаково для всех пользовательских

программ, выполняющихся в этих режимах. Операционная система хранит внутренние записи о каждом процессе, выполняющемся в системе. На Рисунке 1.5 показано это разделение: ядро делит процессы A, B, C и D, расположенные вдоль

горизонтальной оси, аппаратные средства вводят различия между режимами выполнения, расположенными по вертикали.

Несмотря на то, что система функционирует в одном из двух режимов, ядро

действует от имени пользовательского процесса. Ядро не является какой-то

особой совокупностью процессов, выполняющихся параллельно с пользовательскими, оно само выступает составной частью любого пользовательского процесса.

Сделанный вывод будет скорее относиться к "ядру", распределяющему ресурсы,

или к "ядру", производящему различные операции, и это будет означать, что

процесс, выполняемый в режиме ядра, распределяет ресурсы и производит соответствующие операции. Например, командный процессор shell считывает вводной

поток с терминала с помощью запроса к операционной системе. Ядро операцион-ной системы, выступая от имени процессора shell, управляет функционированием

терминала и передает вводимые символы процессору shell. Shell переходит в

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

5.1 Прерывания и особые ситуации

Система UNIX позволяет таким устройства, как внешние устройства ввода-вывода и системные часы, асинхронно прерывать работу центрального процессора. По получении сигнала прерывания ядро операционной системы сохраняет

свой текущий контекст (застывший образ выполняемого процесса), устанавливает

причину прерывания и обрабатывает прерывание. После того, как прерывание будет обработано ядром, прерванный контекст восстановится и работа продолжится

так, как будто ничего не случилось. Устройствам обычно приписываются приоритеты в соответствии с очередностью обработки прерываний. В процессе обработки прерываний ядро учитывает их приоритеты и блокирует обслуживание прерывания с низким приоритетом на время обработки прерывания с более высоким приорите-том.

Особые ситуации связаны с возникновением незапланированных событий, вызванных процессом, таких как недопустимая адресация, задание привилегированных команд, деление на ноль и т.д. Они отличаются от прерываний, которые вызываются событиями, внешними по отношению к процессу. Особые ситуации

возникают прямо "посредине" выполнения команды, и система, обработав особую ситуацию, пытается перезапустить команду; считается, что прерывания возникают

между выполнением двух команд, при этом система после обработки прерывания

продолжает выполнение процесса уже начиная со следующей команды. Для обработки прерываний и особых ситуаций в системе UNIX используется один и тот же

механизм.


Информация о работе «Особенности операционной системы UNIX»
Раздел: Информатика, программирование
Количество знаков с пробелами: 48139
Количество таблиц: 1
Количество изображений: 3

Похожие работы

Скачать
29699
0
0

... ; пароль, который проверяет вас на идентичность; инструкции для диалога и доступа к системе UNIX, если ваш терминал напрямую не связан с компьютером. Отличия операционной системы UNIX от других операционных систем. Unix состоит из ядра с включенными в него драйверами и из утилит (внешних по отношению к ядру программ). Если надо изменить конфигурацию (добавить устройство, изменить порт или ...

Скачать
18336
0
1

... , сетевые и другие коммуникационные службы, СУБД и утилиты. 4. Способы управления процессами и ресурсами Файлы и процессы, являются центральными понятиями модели операционной системы UNIX. Рисунок 1.2 представляет блок-схему ядра системы, отражающую состав модулей, из которых состоит ядро, и их взаимосвязи друг с другом. Слева изображена файловая подсистема, а справа подсистема управления ...

Скачать
17225
0
2

... маршрутизацию данных от клиента к серверу Программные гнезда с общими коммуникационными свойствами, такими как способ именования и протокольный формат адреса, группируются в домены "домен системы UNIX" для процессов, которые взаимодействуют через программные гнезда в пределах одного компьютера "домен Internet" для процессов, которые взаимодействуют в сети в соответствии с семейством протоколов ...

Скачать
17505
1
2

... программ. Совместимость с DOS-приложениями. Однако, работа с Windows не означает отказа от программ DOS (скорее она означает отказ от DOS в глобальном масштабе). На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях бесспорно считается самой распространенной опера­ционной системой на PC: в мире более 150 миллионов IBM PC-совместимых компьютеров, и система ...

0 комментариев


Наверх